Kryptografia John Chadwick Dążenie do odkrywania tajemnic tkwi głęboko w naturze człowieka, a nadzieja dotarcia tam, dokąd inni nie dotarli, pociąga umysły najmniej nawet skłonne do dociekań. Niektórym udaje się znaleźć zajęcie polegające na rozwiązywaniu tajemnic... Ale większość z nas musi zadowolić się rozwiązywaniem zagadek ułożonych dla rozrywki: powieściami kryminalnymi i krzyżówkami. Odczytywaniem tajemniczych szyfrów pasjonują się nieliczne jednostki. John Chadwick
Kryptografia Aby ułatwić wam zrozumienie trudnych i jakże zawiłych zagadnień, przez całą prezentację będzie wam towarzyszyć piesek. Zauważmy z łatwością, że pieski są dwa (1+1=2). Pierwszy informuje, że do tekstu można obejrzeć obrazek przybliżający dany problem, zaś drugi dostarczy nam wiele dodatkowych informacji.
Kryptografia Termin kryptografia jest dziedziną wiedzy zajmującą się zapisywaniem informacji w formie utajnionej. Wraz z kryptoanalizą, która obejmuje metody przełamywania zabezpieczonych danych - wchodzi ona w skład dziedziny matematycznej zwanej kryptologią. Kryptografię możemy podzielić na klasyczną (stosowaną przed rozwinięciem się techniki komputerowej) i współczesną, na której opiera się dziedzina praktyki inżynierskiej zwana kryptograficzną ochroną informacji. Wiadomość, którą należy zabezpieczyć nazywamy tekstem jawnym. Proces maskowania jej (ukrywania prawdziwej treści), nazywamy szyfrowaniem, a zaszyfrowaną wiadomość szyfrogramem. Proces odwrotny, czyli zamiana szyfrogramu w tekst jawny nazywamy deszyfrowaniem.
Historia kryptografii Początki Kryptografii sięgają czasów starożytnych. Już starożytni Egipcjanie szyfrowali swoje hieroglify a starożytni Hebrajczycy - niektóre słowa w swoich skryptach. Stosowane metody były dawniej zazwyczaj dość prymitywne i pozwalały na złamanie szyfrów dostatecznie zdeterminowanemu przeciwnikowi. W pierwszej połowie dwudziestego wieku sytuacja ta uległa zmianie. Zbudowano wtedy wiele systemów szyfrowania za pomocą urządzeń mechanicznych, systemy te wykorzystywano podczas drugiej wojny światowej. Część z nich została skutecznie złamana jak na przykład niemiecki system Enigma. Dopiero rozwój elektroniki przyniósł prawdziwą rewolucję pod względem projektowania systemów szyfrujących. Dawał on olbrzymie możliwości wykonywania operacji obliczeniowych niskim kosztem.
Kryptografia - podział Wyróżniane są dwa główne nurty kryptografii: Kryptografia symetryczna Kryptografia asymetryczna
Kryptografia symetryczna Kryptografia symetryczna to taki rodzaj szyfrowania, w którym tekst jawny ulega przekształceniu na tekst zaszyfrowany za pomocą pewnego klucza, a do odszyfrowania jest niezbędna znajomość tego samego klucza. Bezpieczeństwo takiego szyfrowania zależy od: ilości możliwych kluczy, czyli długości klucza odporności na ataki inne niż brute force ( atak polegający na wypróbowaniu wszystkich możliwych kluczy) Wszystkie tradycyjne szyfry miały charakter symetryczny. Kryptografia symetryczna udostępnia jedynie szyfrowanie - wszystkie bardziej zaawansowane funkcje kryptografii takie jak podpisy cyfrowe, uwierzytelnianie itd. są dostępne tylko w kryptografii asymetrycznej.
Kryptografia asymetryczna Kryptografia asymetryczna to rodzaj kryptografii, w którym używa się zestawów dwu lub więcej powiązanych ze sobą kluczy, umożliwiających wykonywanie różnych czynności kryptograficznych. Najważniejsze zastosowania kryptografii asymetrycznej – szyfrowanie i podpisy cyfrowe – zakładają istnienie 2 kluczy – prywatnego i publicznego, przy czym klucza prywatnego nie da się łatwo odtworzyć na podstawie publicznego, w niektórych innych zastosowaniach kluczy może być więcej.
Szyfrowanie Szyfrowanie - klucz publiczny używany jest do zaszyfrowania informacji, klucz prywatny do jej odczytu. Ponieważ klucz prywatny jest w wyłącznym posiadaniu adresata informacji, tylko on może odczytać informację. Natomiast klucz publiczny jest udostępniony każdemu kto zechce zaszyfrować wiadomość.
Podpis cyfrowy Podpis cyfrowy to dodatkowa informacja dołączona do wiadomości służąca do weryfikacji jej źródła. Podpisy cyfrowe korzystają z kryptografii asymetrycznej – tworzona jest para kluczy, klucz prywatny i klucz publiczny – klucz prywatny służy do podpisywania wiadomości, klucz publiczny natomiast do weryfikowania podpisu.
Podpisy cyfrowe są używane do weryfikacji czy wiadomość naprawdę pochodzi od właściwego nadawcy (zakładając, że tylko nadawca zna klucz prywatny odpowiadający jego kluczowi publicznemu). Mogą być również używane do datowania dokumentów: zaufana strona podpisuje dokument i jego datę używając klucza prywatnego, w ten sposób poświadczając, że dokument istniał w danym czasie. Cyfrowe dokumenty mogą być również używane do sprawdzanie czy klucz publiczny należy do określonej osoby. Jest to wykonywane poprzez podpisywanie kombinacji klucza i informacji i jego autorze przez już sprawdzony klucz. Ten z kolei również został potwierdzony przez inny klucz stojący wyżej w hierarchii. Na szczycie znajduje się kilka kluczy, które nie są potwierdzane i które przyjmuje się jako prawdziwe. Cyfrowy podpis jakiegoś dokumentu jest zwykle tworzony przez obliczenie wyciągu z wiadomości z dokumentu i połączenie go z informacją o sygnatariuszu, dacie itp. Wynikowy ciąg znaków jest potem kodowany z użyciem klucza prywatnego sygnatariusza za pomocą odpowiedniego algorytmu. Tak zaszyfrowany blok bitów jest właśnie podpisem cyfrowym. Jest często rozprowadzany razem z informacją o kluczu publicznym, który został użyty do jego podpisania. By zweryfikować podpis odbiorca wiadomości sprawdza najpierw czy klucz należy do osoby, do której powinien (korzystając z hierarchii kluczy), a potem deszyfruje podpis używając klucza publicznego tej osoby. Jeśli wiadomość zdekoduje się właściwie i informacja pasuje do tej w wiadomości wówczas podpis jest akceptowany jako ważny.
Ilustracja graficzna
Szyfry Szyfr to procedura takiego przekształcania wiadomości, żeby była ona niemożliwa (lub bardzo trudna) do odczytania przez każdego, kto nie posiada odpowiedniego klucza. Wiadomość przed zaszyfrowaniem nazywa się tekstem jawnym (a wiadomość zaszyfrowaną – szyfrogramem W tym dziale przedstawiamy najciekawsze i najpopularniejsze szyfry: Szyfr przesuwający Szyfr Cezara Szyfr blokowy Szyfr monoalfabetyczny Szyfr podstawieniowy Szyfr polialfabetyczny Szyfr przestawieniowy Szyfr strumieniowy Szyfr Vigenèra
Szyfr przesuwający Szyfr przesuwający to szyfr, w którym każdemu znakowi tekstu jawnego odpowiada dokładnie jeden znak w szyfrogramie, przesunięty o określoną, stałą liczbę znaków w alfabecie. Litery z końca alfabetu stają się literami z jego początku. Przykład: Zaszyfrujmy słowo „kot” używając klucza np.:5. A B C D E F G H I J K L M N O P Q R S T U V W X Y Z Wynik: P T X
Szyfr Cezara Jest to szyfr za pomocą, którego Juliusz Cezar szyfrował swoje listy do Cycerona. Jako ciekawostkę można podać, że szyfr ten był podobno używany jeszcze w 1915 roku w armii rosyjskiej, gdyż tylko tak prosty szyfr wydawał się zrozumiały dla sztabowców. Szyfr ten jest klasycznym przykładem szyfru przesuwającego z kluczem równym 3. Przykład: Zaszyfrujmy słowo „kot” używając szyfru Cezara. A B C D E F G H I J K L M N O P Q R S T U V W X Y Z Wynik: N R W
Szyfry blokowe Szyfry blokowe to procedury, które szyfrują niewielkie bloki danych (znacznie mniejsze od typowej wiadomości), współcześnie jest to najczęściej 128 bitów, choć do niedawna przeważały 64-bitowe bloki. Klucze są znacznie mniejsze, mają zwykle od 128 do 256 bitów, przy czym wartości mniejsze od 80 są uważane za niewystarczające. Typowy szyfr blokowy składa się z kilkunastu dość prostych rund przekształcających blok. Operacje używane w tych szyfrach są zwykle proste, ale pochodzą z "różnych światów", np. używa się dodawania, przesunięć cyklicznych, mnożenia liczb pierwszych itd. Już kilka rund takich operacji zupełnie zaburza jakikolwiek porządek i jest bardzo trudne do analizowania. Ponieważ szyfr blokowy szyfruje jedynie niewielką ilość informacji, używane są różne tryby szyfrowania, które umożliwiają szyfrowanie większych wiadomości.
Szyfr monoalabetyczny Szyfr, w którym jednej literze alfabetu jawnego odpowiada dokładnie jedna litera alfabetu tajnego Szyfr taki nigdy nie zapewniał bezpieczeństwa i nie zapewnia go tym bardziej dzisiaj!!!!!!!!!
Szyfr polialfabetyczny Szyfr polialfabetyczny to uogólnienie szyfru monoalfabetycznego na większą ilość przekształceń. Szyfr taki składa się z n przekształceń, takich że pierwszą literę szyfrujemy pierwszym przekształceniem, drugą drugim itd., po czym powtarzamy przekształcenia od początku począwszy od litery n + 1-wszej. Przykładem takiego szyfru jest szyfr Vigenere'a. Szyfr tego typu nie zapewnia żadnego bezpieczeństwa!!!!
Szyfr strumieniowy Szyfr strumieniowy to szyfr symetryczny, który koduje generując potencjalnie nieskończony strumień szyfrujący, i XOR-ując go z wiadomością: Odszyfrowywanie zakodowanej wiadomości odbywa się w identyczny sposób – generujemy strumień szyfrujący, i XOR-ujemy go z szyfrogramem: Istnieją szyfry strumieniowe oparte na generatorach liczb pseudolosowych – jeśli generator jest kryptograficznie silny, to seed generatora może służyć jako klucz, a generowany strumień pseudolosowych liczb jako strumień szyfrujący. Blum Blum Shub jest przykładem generatora, dla którego (co rzadkie w kryptografii) istnieje dowód, że złamanie go jest co najmniej równie trudne jak rozbicie liczby stanowiącej klucz na czynniki. Szyframi strumieniowymi są też tryby CFB, OFB i CTR szyfrów blokowych. Generują one z samego klucza i z wektora inicjalizującego (nie korzystając z danych) strumień szyfrujący, po czym XOR-ują go z danymi.
Szyfr podstawieniowy Szyfry podstawieniowe to szyfry, których działanie opiera się na podstawianiu pod znaki alfabetu jawnego znaków alfabetu szyfrowego. Szyfr Cezara Szyfr Vigenere'a Ze względu na łatwość łamania tego rodzaju szyfrów, nie są one już stosowane.
Szyfr przestawieniowy Szyfry przestawieniowe należą do grupy klasycznych metod szyfrowania. Szyfry te charakteryzują się tym, że w zaszyfrowanym tekście występują wszystkie znaki z tekstu jawnego, ale w innej kolejności. Szyfry należące do tej grupy (np. szyfr płotkowy) zmieniają kolejność liter w szyfrowanym tekście według określonego schematu. Najczęściej przestawienia liter dokonuje się za pomocą figury geometrycznej. Szyfry przestawieniowe są łatwe do złamania i nie zapewniają żadnego bezpieczeństwa.
Szyfr Vigenèra Słabość szyfrów monoalfabetycznych sprawiła, że próbowano wymyślać bardziej rozbudowane szyfry. Naturalnym krokiem było korzystanie z kilku alfabetów zamiast jednego, jak w przypadku szyfrów monoalfabetycznych. Dało to początek polialfabetycznym szyfrom podstawieniowym. Idea takiego szyfru pojawiła się już w XV wieku (Leon Battista Alberti). Kolejne pomysły związane są z takimi nazwiskami jak Johannes Trithemius oraz Giovanni della Porta. W tym miejscu chciałbym przedstawić najbardziej znany szyfr polialfabetyczny stworzony przez Blaise de Vigenere`a, oficjalnie opublikowany w jego pracy "Traicte des Chiffres" w 1586 roku. Podczas tworzenia swojego szyfru Vigenere opierał się na przemyśleniach wcześniej wymienionych osób. Szyfrowanie i deszyfrowanie odbywa się na podstawie tablicy Vigenere`a.
Tablica Vigenèra A B C D E F G H I J K L M N O P Q R S T U V W X Y Z B C D E F G H I J K L M N O P Q R S T U V W X Y Z A C D E F G H I J K L M N O P Q R S T U V W X Y Z A B D E F G H I J K L M N O P Q R S T U V W X Y Z A B C E F G H I J K L M N O P Q R S T U V W X Y Z A B C D F G H I J K L M N O P Q R S T U V W X Y Z A B C D E G H I J K L M N O P Q R S T U V W X Y Z A B C D E F H I J K L M N O P Q R S T U V W X Y Z A B C D E F G I J K L M N O P Q R S T U V W X Y Z A B C D E F G H J K L M N O P Q R S T U V W X Y Z A B C D E F G H I K L M N O P Q R S T U V W X Y Z A B C D E F G H I J L M N O P Q R S T U V W X Y Z A B C D E F G H I J K M N O P Q R S T U V W X Y Z A B C D E F G H I J K L N O P Q R S T U V W X Y Z A B C D E F G H I J K L M O P Q R S T U V W X Y Z A B C D E F G H I J K L M N P Q R S T U V W X Y Z A B C D E F G H I J K L M N O Q R S T U V W X Y Z A B C D E F G H I J K L M N O P R S T U V W X Y Z A B C D E F G H I J K L M N O P Q S T U V W X Y Z A B C D E F G H I J K L M N O P Q R T U V W X Y Z A B C D E F G H I J K L M N O P Q R S U V W X Y Z A B C D E F G H I J K L M N O P Q R S T V W X Y Z A B C D E F G H I J K L M N O P Q R S T U W X Y Z A B C D E F G H I J K L M N O P Q R S T U V X Y Z A B C D E F G H I J K L M N O P Q R S T U V W Y Z A B C D E F G H I J K L M N O P Q R S T U V W X Z A B C D E F G H I J K L M N O P Q R S T U V W X Y Tekst szyfrujemy na podstawie hasła. Szyfrowanie odbywa się w sposób następujący. Każdą literę tekstu jawnego szyfrujemy korzystając z alfabetu zaczynającego się od odpowiadającej litery w haśle. W przypadku, gdy hasło jest krótsze od szyfrowanego tekstu powtarzamy je wielokrotnie.
Enigma Jak złamano sekret Enigmy Im dalej od zakończenia II wojny światowej tym więcej mitów narasta wokół historii złamania tajemnicy niemieckiej maszyny szyfrującej Enigma. Niemal z każdą partią dekryptaży tajnej korespondencji III Rzeszy przekazaną do publicznych archiwów pojawiają się publikacje przedstawiające w zupełnie nowym świetle przebieg działań wojennych. Historycy są zgodni, że wgląd do tajnej korespondencji niemieckiej był największym sukcesem Sprzymierzonych, pozwolił skrócić znacznie działania wojenne i uratował życie trudnej do oszacowania liczbie żołnierzy alianckich. Rozbieżności pojawiają się dopiero, gdy przychodzi przypisać zasługi.
Enigma Różnice w ocenie tłumaczy się zazwyczaj brakiem dostępu do stosownych materiałów źródłowych. Wychodząc naprzeciw potrzebom historyków SPYBOOKS publikuje pierwszy na świecie zbiór relacji, notatek i dokumentów związanych z historią złamania szyfru Enigmy. Są to w większości relacje, notatki i uwagi sporządzone przez Mariana Rejewskiego, matematyka i kryptoanalityka Biura Szyfrów Oddziału II Sztabu Głównego, który stworzył teoretyczny fundament odczytywania maszynowego szyfru Enigmy. Publikowane dokumenty pochodzą w większości ze zbiorów płk Władysława Kozaczuka, autora pierwszej na świecie opublikowanej w 1967 roku książki ujawniającej fakt i rozmiar penetracji tajnej korespondencji III Rzeszy.
Enigma Wygląda jak maszyna do pisania z tablicą lamp liter powyżej klawiatury. Kiedy naciśnięty zostaje klawisz, odpowiednia lampka zapala się jako już zakodowana litera. Zatem by używać Enigmy potrzebnych jest dwóch operatorów – jeden do pisania, a drugi do odczytywania zaszyfrowanej wiadomości z lampek. By odszyfrować z powrotem wiadomość wpisuje się zakodowany tekst, a na lampkach ukazuje się wiadomość oryginalna. Szyfr zakodowany Enigmą jest obecnie łatwy do złamania przez współczesne komputery.
Ciekawostki Co ma wspólnego kryptologia z Kamasutrą? Jeden z najstarszych opisów szyfrowania przez podstawianie znajduje się w dziele "Kamasutra", napisanym w IV wieku przez bramińskiego uczonego Vatsyayana, który korzystał z rękopisów pochodzących nawet z IV w p.n.e. "Kamasutra" zaleca kobietom poznanie 64 sztuk, takich jak gotowanie, ubieranie się, masaż i przygotowanie perfum. Na liście tej znajdują się również inne sztuki, takie jak wróżbiarstwo, gra w szachy, introligatorstwo i stolarka. Natomiast pozycja numer 45 to mlecchita-vikalpa, sztuka posługiwania się tajnym pismem, która ma pomóc kobietom w ukryciu swoich związków. Colossus pierwszym komputerem. Tommy Fowlers zbudował w 1943 roku maszynę Colossus na podstawie projektu Maxa Newmana. Moc obliczeniowa tej maszyny była większa od uznawanej za pierwszy komputer maszyny ENIAC. Collosus był przeznaczony do kryptoanalizy szyfru Lorenz, który używany był do szyfrowania łączności pomiędzy Hitlerem i jego generałami. Plany oraz istnienie maszyny zostało utajnione ze względu na wojskowy charakter projektu.
Dziekujemy Projekt przygotowali: Aleksandra Sapijaszka Adrian Matysiak Krzysztof Wiszniewski Korzystaliśmy z własnej wiedzy ;-) oraz następujących pozycji: Globalna sieć internetowa Informatyka, podręcznik dla liceum ogólnokształcącego, kształcenie w zakresie rozszerzonym część I, wyd. WSiP Encyklopedia PWN Jarosław Rafa, Prywatność więcej niż niezła, 7-8/1997 Internet Czasopisma komputerowe