Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Kryptografia Adam Józwik Konrad Wojciechowski. Podstawowe pojęcia KRYPTOGRAFIA - to nauka zajmująca się układaniem szyfrów. Wyróżniane są dwa główne nurty.

Podobne prezentacje


Prezentacja na temat: "Kryptografia Adam Józwik Konrad Wojciechowski. Podstawowe pojęcia KRYPTOGRAFIA - to nauka zajmująca się układaniem szyfrów. Wyróżniane są dwa główne nurty."— Zapis prezentacji:

1 Kryptografia Adam Józwik Konrad Wojciechowski

2 Podstawowe pojęcia KRYPTOGRAFIA - to nauka zajmująca się układaniem szyfrów. Wyróżniane są dwa główne nurty kryptografii KRYPTOLOGIA - to nauka o przekazywaniu informacji w sposób zabezpieczony przed niepowołanym dostępem (w celu modyfikacji lub zapoznania się z treścią). Zakres kryptologii obejmuje: -utajnienie - informacji nie można odczytać bez klucza, -utajnienie - informacji nie można odczytać bez klucza, -uwierzytelnienie - strona wysyłająca może udowodnić swoje autorstwo, -uwierzytelnienie - strona wysyłająca może udowodnić swoje autorstwo, -niezaprzeczalność - strona odbierająca może udowodnić autorstwo informacji, -niezaprzeczalność - strona odbierająca może udowodnić autorstwo informacji, -spójność - pewność, że informacja nie została zmieniona. -spójność - pewność, że informacja nie została zmieniona. KRYPTOANALIZA - to nauka, dział kryptologii zajmujący się łamaniem szyfrów. TEKST JAWNY - informacje, które ulegną szyfrowaniu, KRYPTOGRAM, SZYFROGRAM - informacje zaszyfrowane, SZYFROWANIE - jest procesem przekształcania tekstu jawnego w kryptogram przy użyciu klucza szyfrowania, DESZYFROWANIE - jest procesem odwrotnym do szyfrowania. Polega na przekształceniu szyfrogramu w tekst pierwotny przy użyciu klucza deszyfrowania., ALGORYTM SZYFROWANIA - funkcja matematyczna, która przekształca tekst jawny w kryptogram za pomocą klucza szyfrowania, KLUCZ SZYFROWANIA - ciąg danych służący do szyfrowania tekstu jawnego w kryptogram za pomocą algorytmu szyfrowania

3 Łamanie szyfrów (kryptoanaliza) kryptoanaliza – na podstawie kryptogramu znaleźć odpowiadający mu tekst jawny lub klucz. Najprostszą formą kryptoanalizy jest metoda, która nazywa się systematycznym przeszukiwaniem czyli brutalnym atakiem (brute-force). Polega ona na rozważeniu wszystkich możliwych kluczy. Np. znając tekst jawny P i odpowiadający mu kryptogram C możemy szyfrować P po kolei wszystkimi możliwymi kluczami, aż napotkamy taki, który daje w wyniku C. Klasyfikacja ataków kryptoanalitycznych w zależności od rodzaju informacji dostępnych w trakcie kryptoanalizy zawiera: -jedynie z kryptogramu atak typu ciphertext-only -jedynie z kryptogramu atak typu ciphertext-only -atak ze znanym tekstem jawnym atak typu known plaintext -atak z wybranym tekstem jawnym atak typu chosen plaintext -atak z wybranym kryptogramem atak typu chosen ciphertext

4 Moc kryptograficzna Istnieje wiele różnych algorytmów kryptograficznych. Niektóre z nich dają się łatwo obejść lub złamać. Istnieją także algorytmy bardzo odporne na silne ataki. Zdolność obrony algorytmu przed złamaniem nazywa się mocą kryptograficzną. Moc kryptograficzna zależy od takich czynników jak: sposób wyboru funkcji szyfrującej, sposób wyboru funkcji szyfrującej, tajność klucza, tajność klucza, trudność odgadnięcia klucza na podstawie szyfrogramu, trudność odgadnięcia klucza na podstawie szyfrogramu, istnienie lub brak tylnych wejść do algorytmu, istnienie lub brak tylnych wejść do algorytmu, możliwość złamania algorytmu (znalezienia klucza) na podstawie znajomości tekstu jawnego, możliwość złamania algorytmu (znalezienia klucza) na podstawie znajomości tekstu jawnego, odporności algorytmu na regularności tekstu jawnego i odpowiadające im regularności szyfrogramu. odporności algorytmu na regularności tekstu jawnego i odpowiadające im regularności szyfrogramu. Przykładem algorytmu łatwego do złamania może być algorytm polegający na zastępowaniu jednych liter alfabetu innymi. Np.: za literę A podstawimy B, za B - C itd. Ten sposób szyfrowania nazywany jest szyfrem Cezara.

5 Klasyczne techniki szyfrowania Podstawienie

6 Alfabet więzienny Do szyfrowania i deszyfrowania używany jest kwadrat, w który wpisano litery alfabetu, np., łacińskiego: Tekst Kto tu. Kryptogram ABCDE 2FGHI JK 3LMNOP 4QRSTU 5VWXYZ

7 Szyfr par Kluczem jest fraza (hasło), jaka zawiera równo połowę liter alfabetu. Szyfrowanie przebiega następująco: zapisujemy kolejne litery występujące w haśle w pierwszym wierszu. Pod nim wpisujemy kolejne litery alfabetu, przy czym pomija się litery hasła. W taki sposób otrzymujemy odpowiedni pary alfabetu. Niech kluczem będę fraza żelazny szpic w domu leży: ż e l a z n y s z p i cw d o m u l e ż y ą b ć ę f g h j k ł ń ó r ś t ź Mamy pary ( ) a ą b c ć d e ę f g h i j k l ł m n ń o ó p r s ś t u w y z ź ż ę ż e ń l r b a z n y ł s p ć i t g c ś w k d j o m ź ó h f u ą Wtedy tekst jawny: Spotkanie unieważnione, Janek zdrajcaSpotkanie unieważnione, Janek zdrajca przechodzi w kryptogram: jkśmpęgłą źgłąóęągłśgą sęgbp frdęsńęjkśmpęgłą źgłąóęągłśgą sęgbp frdęsńę

8 Szyfr Playfair (XVI wiek) Litera J jest w tekstach zastąpiona przez I, wszystkie znaki interpunkcji są odrzucone. Kluczem są cztery kwadraty 5 x 5, w które są wpisane osobno wszystkie litery alfabety w pewnej kolejności. System Playfaira jest przykładem systemu, w którym koduje się bloki liter o długości dwa. Utrudnia to odgadnięcie klucza. Załóżmy dla przykładu, że chcemy zaszyfrować parę CR według klucza Litery C oraz R wyznaczają prostokąt, w którego pozostałych rogach znajdują się litery M i O. Reguła szyfrowania mówi, że CR zastępujemy właśnie MO, a słowo CRYPTOGRAPHY przekształca się u MOPWTIOMFXNS. K I N G D V Q E O K O M A B C W R F M I E F H L P X S H A N Q R S T U Y T L B G V W X Y Z Z U P C D Z Y X W V D C P U Z U T S R Q G B L T Y P L H F E N A H S X CB A M O I M F R W DG NI K K O E Q V

9 Szyfr Vigenere'a 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 Działanie szyfru Vigenerea oparte jest na tablicy przedstawionej poniżej: Tekst do zaszyfrowania tą metodą: TO JEST BARDZO TAJNY TEKST Do tego celu użyjemy znanego tylko nam słowa kluczowego, np. TAJNE TO JEST BARDZO TAJNY TEKST TA JNET AJNETA JNETA JNETA Litera szyfrogramu odpowiada literze z tabeli znajdującej się na przecięciu wiersza, wyznaczanego przez literę tekstu jawnego i kolumny wyznaczanej przez literę słowa kluczowego, np. po kolei T i T daje M, O i A daje O itd. W efekcie otrzymujemy zaszyfrowany tekst: MO SRWM BJEHSO CNNGY CROLT Deszyfracja: Bierzemy kolejne litery szyfrogramu oraz odpowiadające im litery słowa kluczowego (podobnie, jak przy szyfrowaniu). Wybieramy kolumnę odpowiadającą literze słowa kluczowego. Następnie w tej kolumnie szukamy litery szyfrogramu. Numer wiersza odpowiadający znalezionej literze jest numerem litery tekstu jawnego. Np. w kolumnie T litera M znajduje się w wierszu T, w kolumnie A litera O znajduje się w wierszu O itd.

10 Permutacja

11 Permutacja: definicje Permutacja to pojęcie matematyczne; nazywana jest też permutacją bez powtórzeń. Niech A oznacza zbiór złożony z n różnych elementów; permutacją tego zbioru jest dowolne ustawienie w ciąg (czyli uporządkowanie) wszystkich elementów zbioru A. Liczba wszystkich permutacji zbioru n- elementowego wynosi Pn=n!. PRZYKŁAD. Elementy zbioru A = {a, b, c,} można ustawić w ciąg na P3=3!=6 sposobów: abc, acb, bac, bca, cab, cba

12 Niech będzie permutacją, zaś zbiorem używanych liter. Tekst jawny a 1,a 2,…,a n ( )jest szyfrowany jako ciąg Kryptogram b 1,b 2,…,b n deszyfrowany jest jako ciąg: Ten system szyfrowania polega na permutacji liter tekstu jawnego i na praktyce nie jest używany, ponieważ częstotliwość występowania liter w kryptogramie i w tekście jawnym jest równa. Z tego względu permutacje należy traktować jako technikę historyczną albo jako element pomocniczy bardziej złożonych metod. : j a n aaa n aaa

13 Szyfr Cezara Szyfr Cezara ( r. do n.e.). Litery alfabetu można utożsamić z liczbami. W systemie Cezara używanych jest 26 symboli (26 liter alfabetu łacińskiego) odpowiadających liczbom od 0 d0 25. Szyfr polega na permutacji: 0 (a) 3 (d); 1 (b) 4 (e); 2 (c) 5 (f);...; 25 (z) 2 (c). Oznacza to, że w szyfrogramie zastępujemy każdą literę tekstu literą położoną w alfabecie o trzy pozycje dalej. Mówiąc współczesnym językiem Rzymianie używali operacji dodawania 3 modulo 26 :. Dla przykłady słowu imperium odpowiada kryptogram lpshulxp albo teksty Veni vidi vici odpowiada kryptogram yhql ylgl ylfl.

14 Złamanie algorytmu Cezara Nawet jeśli zamienimy znaki specjalne i cyfry, z oryginalnego tekstu usuniemy spacje algorytm ten jest stosunkowo prosty do złamania. Wiedząc, ze tekst jawny może być napisany w języku, np. angielskim, badamy częstotliwość pojawiania się liter w zdaniach i na podstawie tej wiedzy dokonujemy podstawień, i tak najczęściej spotykaną literą alfabetu angielskiego jest E obejmując około 12.3% wszystkich wystąpień. Na drugim miejscu są takie litery jak: Y, B, G, K, Q, X, J, Z. Każda z nich występuje z częstotliwością poniżej 2%. Grupa liter z częstotliwością powyżej 6% też nie jest liczna i zawiera: T, A, O, N, I, S, R. Mając te dane jesteśmy w stanie stosując podstawienia znaków o odpowiadającej sobie częstotliwości występowania oraz sukcesywnego zgadywania kolejnych liter odkodować szyfrogram.

15 Szyfr częstokołu Szyfr częstokołu: Np. słowo kryptografia zapisujemy w postaci k r y p t o g r a f i a to otrzymujemy kryptogram rporfakytgai. Tutaj wysokość częstokołu równa 2. Dla wysokości 3 mamy: i otrzymujemy kryptogram ygirporfakta. Długość permutacji albo wysokość częstokołu jest kluczem szyfrowania i deszyfrowania. afrop r i gy atk

16 Szyfr macierzy Tekst jawny jest zapisany kolejnymi wierszami w prostokącie. Przy tym kolejność wypisywanych liter kryptogramu określę się ciągiem liter w kolumnach, a ich kolejność określą się kluczem. G A R D E N Klucz Tekst jawny D O N T P UDONT PUT IT OFF TILL TOMORROW T I T O F F Kryptogram T I L L T OOIIOTOLRPFTODTTMUFOWNTLR M O R R O W Mogą być wykorzystane dwa klucze: dla wiersza i kolumny. Z A M E K A E K M Z Z A M E K A E K M Z D 1 J U T R O D 1 U R O T J O 3 B Y Ł A W M 2 J A. N O M 2O J N A. O 3 Y A W Ł B N p. tekstJutro była wojna. z kluczamizamek i dom odwzorowuję się w kryptogramUJYRAAO.WTNŁJOB.

17 Szyfr ADFGVX (I wojna światowa) Ten szyfr zawiera dwa sposoby szyfrowania: podstawienie i permutacja. Szyfrowanie przebiega następująco. Każdą literę lub liczbę koduję się blokami długości 2, które są złożone z liter A, D, F, G, V i X na podstawie tabeli 6x6 ADFGVX ACO8XF4 DMK3AZ9 FNWL0JD G5SIYHU VP1VB6R XEQ7T2G Otrzymany kryptotekst jest ponownie szyfrowany poprzez szyfr macierzy. Załóżmy dla przykładu, że chcemy zaszyfrować tekstDONT PUT IT OFF TILL TOMORROW. Z szyfru podstawienia (z tabeli) otrzymujemy: FXADFAXGVAGXXGGFXGADAVAVXGGFFFFFXGADDAADVXVXADFD Stosujemy szyfr macierzy z kluczem GARDEN. G A R D E N F X A D F A X G V A G X X G V A G X X G G F X G A D A V A V X G G F F F F F X G A D D A A D V X V X A D F D KRYPTOGRAM XGGDG FAXDA FVFGD DFGXA FAVFF XXAXF DVAXG VFDXD AVGAG XAA.

18 ALGORYTMY SYMETRYCZNE

19 Algorytm symetryczny Algorytm szyfrowania, w którym tekst jawny przekształca się w szyfrogram za pomocą pewnego uzgodnionego klucza K. Ten sam klucz, lub ściśle od niego zależny służy potem do przekształcenia szyfrogramu w tekst jawny (za pomocą tej samej funkcji szyfrującej). Klucz ten jest tajny, to znaczy posiadają go jedynie strony wymieniające się informacją.

20 SZYFR Z KLUCZEM JEDNORAZOWYM (ONE-TIME PAD) (1917, G.Vernam). Szyfr opiera się na operacji dodawania modulo 2 (czyli XOR (eXclusive OR)). Ta operacja jest zdefiniowana jak następuje: 0 0=0; 0 1=1; 1 0=1; 1 1=0. Jeśli mamy do czynienia z dwoma ciągami bitów:A=a 1… a k, B=b 1… b k to przez A B rozumiemy ciąg powstały z dokonania operacji XOR na odpowiadających sobie bitach obu ciągów :c 1 =a 1 b 1,…,c k =a k b k C=A B. Przy tym A 0=A i A A=0. Załóżmy, że tekst jawny jest ciągiem bitów M, zaś klucz ciągiem bitów K. Wtedy kryptogramem C jest ciąg bitów C=M K. Deszyfrowanie oparte jest na równości C K=( M K) K=M (K K)=M 0=M. Przykład. Niech chcemy zaszyfrować słowo banan ( ) z kluczem ( ). W systemie dwójkowym mamy ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) szyfrogram ( ) ( ) szyfrogram ( ) ( ) klucz ( ) klucz ( ) tekst jawny ( ) (banan) tekst jawny ( ) (banan)

21 SZYFR Z KLUCZEM JEDNORAZOWYM (ONE-TIME PAD) (1917, G.Vernam). SZYFR Z KLUCZEM JEDNORAZOWYM jest metodą szyfrowania, w której używany jest losowo wybrany klucz, a samo szyfrowanie odbywa się za pomocą XOR. Istotne jest, by do każdego szyfrowania używać innego, wygenerowanego niezależnie klucza. Następujące własności są kluczowe dla tej metody: Kryptogram jest ciągiem losowym n bitów. Kryptogram jest ciągiem losowym n bitów. Bez znajomości klucza żadna informacja dotycząca tekstu jawnego nie może być wydedukowana z kryptogramu. Własność ta bywa nazywana bezpieczeństwem doskonałym i wypływa z słynnego twierdzenia Shannona z teorii informacji, które mówi, że jedynym sposobem uzyskania pełnego bezpieczeństwa jest używanie szyfru z kluczem jednorazowym. Bez znajomości klucza żadna informacja dotycząca tekstu jawnego nie może być wydedukowana z kryptogramu. Własność ta bywa nazywana bezpieczeństwem doskonałym i wypływa z słynnego twierdzenia Shannona z teorii informacji, które mówi, że jedynym sposobem uzyskania pełnego bezpieczeństwa jest używanie szyfru z kluczem jednorazowym. Jedyną dziedziną zastosowań jest szyfrowanie stosunkowo krótkich, ale bardzo ważnych informacji, jak rozkazy wojskowe o strategicznym znaczeniu. Zasady używania szyfru z kluczem jednorazowym mówią, że klucz musi być zawczasu uzgodniony przez osoby komunikujące się zawczasu uzgodniony przez osoby komunikujące się wybrany naprawdę losowo wybrany naprawdę losowo przechowywany w bezpieczny sposób przechowywany w bezpieczny sposób co najmniej tak długi jak szyfrowany tekst. co najmniej tak długi jak szyfrowany tekst.

22 DES (Data Enscryption Standard), około 1970 r., IBM DES szyfruje bloki złożone z 64 bitów, odpowiada to 8 literom ASCII, każda zaopatrzona w bit parzystości. Klucze składają się również z 64 bitów, przy czym 8 bitów jest bitami parzystości. Tzn. w trakcie wyboru klucza można określić jedynie 56 bitów, reszta jest generowana automatycznie. DES został w USA uznany za standard dla celów niemilitarnych. Nie zostały opublikowane żadne prace dające tej metodzie solidne podstawy matematyczne. Układy realizujące DES są bardzo szybkie (1GB/sek). (Rijndael) Szyfrowanie i deszyfrowanie za pomocą DES-a składa się z 16 rund. W trakcie każdej rundy dokonywane są te same obliczenia, ale na wynikach obliczeń z poprzedniej rundy i specjalnym podklucze generowanym z 64-bitowego klucza (teraz z 256 bitowego). Dodatkowo, przed pierwszą rundą i po ostatniej rundzie bity są permutowane w ustalony sposób. Dla uzyskania podkluczy usuwano najpierw 8 bitów parzystości zawartych w kluczu. Następnie z pozostałych 56 bitów tworzonych jest 16 podkluczy, każdy składający się z 48 bitów. Tak utworzony i-ty klucz (K i ) jest używany w trakcie i-tej rundy. Każdy podklucz składa się ze z góry określonych bitów oryginalnego klucza – dla każdego podklucza są to inne bity i ustawione w innej kolejności za pomocą cyklicznego przesunięcia. Podczas deszyfrowania dokonywane są te same operacje, jak podczas szyfrowania. Różnica polega jedynie na tym, że podklucze są używane w odwrotnej kolejności, tj. {k16,k15,k13, k12,k11,k10, k9,k8,k7, k6,k5,k4, k3,k2,k1}. Z tego względu ten sam hardware może być użyty do szyfrowania i deszyfrowania. Zaletą tego algorytmu jest jego niezawodność oparta na 25 letnim doświadczeniu oraz fakcie, iż jest on ciągle najpopularniejszym sposobem szyfrowania. Główną wadą DES jest niewystarczająca 56 bitowa długość klucza. W 1998 roku została zbudowana maszyna (jak podają źródła kosztem $), która złamała DES w ciągu 3 dni. Istnieją rozszerzenia DESu zwiękaszające jego odporność na włamanie takie jak: DES EDE (Encrypt-Decrypt-Encrypt – zastosowano klucz o długości 108 bitów)

23 Elektroniczna książka kodowa (ECB – Electronic CodeBook) ECB polega na podziale informacji na bloki ustalonej długości. Każdy z tych bloków jest oddzielnie szyfrowany za pomocą tego samego klucza. Taki tryb pracy jest odporny na zakłócenia ponieważ utrata pojedynczych bloków nie ma wpływu na możliwość deszyfrowania pozostałych części kryptogramu. Powiązanie jednak jednego bloku informacji jawnej z jednym i tylko jednym blokiem szyfrogramu ułatwia ewentualną kryptoanalizę poszczególnych bloków. Z uwagi na brak powiązań pomiędzy poszczególnymi blokami taki tryb nie jest odporny także na atak wykorzystujący podstawianie bloków. Polega to na tym, że atak może nastąpić poprzez zamianę pewnych bloków szyfrogramu na inne, których jawne odpowiedniki zostały w drodze kryptoanalizy znalezione. Np. Załóżmy, że komunikacja pomiędzy 2 bankami odbywa się w trybie ECB – szyfrowane są przelewy między kontami. Niech specyfikacja kont ma postać: Przelew kon-toodbior-cakwo-ta Kryptogram blok1blok2blok3blok4blok5 blok6 Przestępca, który jest w stanie modyfikować treść kryptogramów, może przeprowadzić atak: Dokonuje 17 przelewów na swe konto, zawsze tę samą kwotę. Następnie identyfikuje w przesyłanych kryptogramach taki kryptogram konta, na który dokonano dokładnie 17 przelewów i na tę samą kwotę. Poznaje kryptogram numeru swego konta, mimo iż nie zna klucza. Dokonuje 17 przelewów na swe konto, zawsze tę samą kwotę. Następnie identyfikuje w przesyłanych kryptogramach taki kryptogram konta, na który dokonano dokładnie 17 przelewów i na tę samą kwotę. Poznaje kryptogram numeru swego konta, mimo iż nie zna klucza. Zamienia kod numeru konta w pewnej liczbie przesyłanych kryptogramów, wstawiając na to miejsce kryptogram numeru swego konta. Bank dopisuje do jego konta kwoty przeznaczony pierwotnie dla kogo innego. Zamienia kod numeru konta w pewnej liczbie przesyłanych kryptogramów, wstawiając na to miejsce kryptogram numeru swego konta. Bank dopisuje do jego konta kwoty przeznaczony pierwotnie dla kogo innego. Wybiera pieniądze i znika. Wybiera pieniądze i znika. (Instytucje finansowe często lekkomyślnie używają trybu ECB) Aby wyeliminować tego typu zagrożenia, należy użyć innych (bezpieczniejszych) trybów szyfrowania (np.: Wiązania bloków (Cipher Blok Chaining (CBC)), którego zaletą jest to, iż takie same bloki są reprezentowane z reguły przez różne bloki szyfrogramu co czyni je bardziej odpornymi na kryptoanalizę oraz ataki związane z podstawianiem bloków.).

24 Inne algorytmy symetryczne: FEAL (Fast Data Encipherment Algorythm, 1987) FEAL szyfruje bloki złożone z 64 bitów. Klucz składa się również z 64 bitów (mogą być 128, 256 albo 1024). Ta metoda jest szybszą od DES. IDEA (International Data Encryption Standard). Jest to międzynarodowy algorytm szyfrowania danych, z którego można korzystać bezpłatnie do celów niekomercyjnych. Został wynaleziony w 1991 roku przez Jamesa Masseya i Xuejia Laia w Zurychu. Ma podobną ogólna strukturę jak algorytm DES. Jest iterowanym szyfrem blokowym o 64-bitowym rozmiarze bloku i 128-bitowym kluczu. Ma jedynie 8 iteracji w porównaniu z 16 iteracjami algorytmu DES, ale każda iteracja algorytmu IDEA działa tak, jak by była iteracją podwójnego DES. Dla większości mikroprocesorów programowa implementacja algorytmu IDEA jest szybsza od oprogramowania będącego implementacja algorytmu DES. W algorytmie IDEA klucz jest ponad dwukrotnie dłuższy niż klucz algorytmu DES a także dłuższy od klucza używanego w potrójnym DES. Algorytm IDEA jest znacznie szybszy od potrójnego DES. Z powodu młodego wieku, nie można powiedzieć iż IDEA jest algorytmem super bezpiecznym. Nad jego bezpieczeństwem i nad ewentualnymi sposobami jego złamania ciągle trwają prace badawcze. Zaletę algorytmu IDEA, która poprawia jego wiarygodność, stanowi oparcie go na bardzo skomplikowanych teoriach matematycznych. RC5. RC5 jest jednym z najnowszych algorytmów, który został przedstawiony przez R. Rivesta w 1994 roku. Algorytm ten wykorzystuje zarówno metody stosowane w DES jak również w IDEA. W tym przypadku jednak możliwy jest wybór ilości wykonywanych rund (od 0 do 255), wielkości szyfrowanych bloków (032, 64, 128 bit) oraz długości klucza (od 0 do 255 bajt).

25 ALGORYTMY ASYMETRCZNE

26 Algorytm z kluczem publicznym Algorytm szyfrowania, w którym wyróżnia się dwa klucze - klucz służący do kodowania danych i odrębny klucz służący do dekodowania danych. Jeden z tych kluczy nazywa się kluczem publicznym, zaś drugi kluczem prywatnym, bądź tajnym.

27 RSA (Rivest-Shamir-Adleman)-1977r. Fundamentem RSA jest algorytm służący do generowania unikalnych i bezpiecznych (odpornych na próby odgadnięcia) par kluczy. Mnoży on dwie duże liczby pierwsze (podzielne tylko przez 1 i przez siebie) i z otrzymanego wyniku poprzez kilka innych dodatkowych operacji ustala klucz publiczny i zależny od niego klucz prywatny. Pierwszy z nich służy do szyfrowania wiadomości przeznaczonych dla właściciela kluczy i co za tym idzie powinien być jak najszerzej propagowany. Klucz prywatny jest tajny i tylko przy jego pomocy można odszyfrować to, co zostało zakodowane kluczem publicznym. Przyjmując odpowiednio duże liczby pierwsze otrzymujemy szyfr odporny na złamanie. Odczytanie zakodowanej wiadomości wymagałoby bowiem rozłożenia bardzo dużej liczby na czynniki pierwsze. Jedną z podstawowych zalet RSA (oprócz idei pary kluczy) jest jego siła – teoretycznie możliwe jest wykorzystywanie kluczy dowolnej długości. Przy dzisiejszym stanie wiedzy i technologii, wysoki poziom bezpieczeństwa zapewniają klucze o długości 4096 bitów – i takie też najczęściej stosowane są w praktyce Poważną wadą algorytmu RSA jest jego wolne działanie. Z tego powodu stosuje się go zazwyczaj w połączeniu z innymi algorytmami, np. wspomnianym wcześniej DES, który operacje szyfrowania przeprowadza 1000 razy szybciej. W takich systemach hybrydowych DES służy do szyfrowania wiadomości, RSA natomiast koduje już tylko klucz używany w DES-ie. Klucz zamknięty w takiej elektronicznej kopercie może następnie zostać bezpiecznie przesłany kanałem nie zapewniającym poufności - np. przez Internet. RSA wchodzi w skład wielu istniejących lub proponowanych standardów i protokołów sieciowych. Jest szeroko stosowany w komunikacji internetowej: poufnej poczcie elektronicznej i sygnowaniu dokumentów cyfrowymi podpisami

28 Inne algorytmy asymetryczne KRYPTOSYSTEM RABINA (M. Rabin, 1979 r.) - Metoda ta ma tę wadę, że przy deszyfrowaniu otrzymywane są cztery teksty, z których jeden jest tekstem jawnym, tylko nie wiadomo, który (zrozumiały). Dla tej metody możliwość znalezienia tekstu jawnego z kryptogramu jest równoważna rozkładowi liczby (klucz publiczny) na czynniki pierwsze. KRYPTOSYSTEM ElGamala (1985 r.)

29 Diffie-Hellman Nie jest to właściwie algorytm szyfrujący, lecz uzgodniony system opracowywania i wymiany wspólnego prywatnego klucza przez publiczny kanał przesyłowy. W tym systemie obie strony umawiają się na pewne wspólne wartości liczbowe i każda z nich buduje klucz. Wymieniane są przetworzone wersje kluczy, zaś mając dwa klucze każda z wymieniających się stron na tej podstawie może wygenerować klucz trzeciej sesji, którego nie może wygenerować osoba postronna posiadająca oba klucze. Istnieje wiele odmian tego protokołu, w zależności od liczby osób i innych czynników. Klucz może mieć dowolną długość, bezpieczniejsze są klucze dłuższe.

30 Podpisy cyfrowe System kryptograficzny z kluczem publicznym może być wykorzystywany do podpisywania dokumentów cyfrowych. Podpis taki jest odpowiednikiem tradycyjnego podpisu. Własności: jedynie osoba A może utworzyć podpis osoby A; (podrobienie podpisu powinno być niewykonalne); jedynie osoba A może utworzyć podpis osoby A; (podrobienie podpisu powinno być niewykonalne); powinno dać się jednoznacznie stwierdzić, czy podpis został złożony pod danym dokumentem; (kopiowanie podpisu z jednego dokumentu na drugi powinno być niewykonalne). Poza tym podpisany dokument nie może zostać zmieniony- w takim przypadku nie da go się zdeszyfrować kluczem publicznym. powinno dać się jednoznacznie stwierdzić, czy podpis został złożony pod danym dokumentem; (kopiowanie podpisu z jednego dokumentu na drugi powinno być niewykonalne). Poza tym podpisany dokument nie może zostać zmieniony- w takim przypadku nie da go się zdeszyfrować kluczem publicznym.

31 Podpis cyfrowy - realizacja Najprostszy sposób realizacji podpisów cyfrowych można sobie wyobrazić w następujący sposób: Niech k E będzie kluczem prywatnym A. Jednocześnie pasujący do k E klucz deszyfrujący k D i algorytm asymetryczny, do którego odnoszą się te klucze, są powszechnie znane. Niech k E będzie kluczem prywatnym A. Jednocześnie pasujący do k E klucz deszyfrujący k D i algorytm asymetryczny, do którego odnoszą się te klucze, są powszechnie znane. Podpisywanie listu M odbywa się w następujący sposób: A generuje kryptogram z M za pomocą klucza k E. Kryptogram ten jest publikowany przez A jako podpis. Oryginalny dokument jest prezentowany wraz z podpisem. Podpisywanie listu M odbywa się w następujący sposób: A generuje kryptogram z M za pomocą klucza k E. Kryptogram ten jest publikowany przez A jako podpis. Oryginalny dokument jest prezentowany wraz z podpisem. Osoba pragnąca przekonać się o podpisie A deszyfruje kryptogram za pomocą klucza k D. W ten sposób otrzymuje ona tekst, który miała podpisać A. Osoba pragnąca przekonać się o podpisie A deszyfruje kryptogram za pomocą klucza k D. W ten sposób otrzymuje ona tekst, który miała podpisać A. Wadą tej metody jest to, że podpis musi być co najmniej tak długi jak sam dokument.

32 Funkcja jednokierunkowa W kryptografii jest to funkcja przekształcająca jeden ciąg binarny w drugi, trudna do odwrócenia. Oznacza to, że dla danej funkcji f: f(O) S O,S : {0,1} prawdopodobieństwo znalezienia O na podstawie S jest bliskie zeru. Definicję tę przyjmuje się ponieważ dla żadnej z dotąd poznanych i używanych funkcji jednokierunkowych nie udowodniono nieistnienia funkcji do niej odwrotnej.

33 Podpis cyfrowy – funkcje hashujące Jednokierunkowe funkcje hashujące (skrótu): dla każdego X łatwo jest obliczyć H(X) H(X) ma taką samą długość dla wszystkich tekstów X dla zadanego Y znalezienie takiego X, że H(X)=Y jest praktycznie niemożliwe dla zadanego X trudno znaleźć X0 takie, że H(X)=H(X0) Jedną z najpopularniejszych metod wykorzystujących funkcje hashujące jest metoda wykorzystująca RSA: Dla dokumentu M obliczana jest wartość H(M), gdzie H jest ustaloną funkcją hashującą (powstaje tzw. odcisk palca). Dla dokumentu M obliczana jest wartość H(M), gdzie H jest ustaloną funkcją hashującą (powstaje tzw. odcisk palca). A szyfruje H(M) za pomocą swego klucza prywatnego używając algorytmu RSA. Utworzony kryptogram to cyfrowy podpis A pod M. A szyfruje H(M) za pomocą swego klucza prywatnego używając algorytmu RSA. Utworzony kryptogram to cyfrowy podpis A pod M. Sprawdzenie podpisu A wymaga deszyfrowania podpisu publicznym kluczem A. Po deszyfrowaniu sprawdzamy, czy w ten sposób otrzymaliśmy H(M). Sprawdzenie podpisu A wymaga deszyfrowania podpisu publicznym kluczem A. Po deszyfrowaniu sprawdzamy, czy w ten sposób otrzymaliśmy H(M). Metoda posiada dwie główne zalety: Podpis jest znacznie krótszy od dokumentu Podpis jest znacznie krótszy od dokumentu Można sprawdzić istnienie podpisu bez oglądania samego dokumentu. Można sprawdzić istnienie podpisu bez oglądania samego dokumentu. Inna metoda: Digital Signature Algorithm (DSA)- został opracowany przez NSA (National Security Agency) i przyjęty jako norma FIPS (Federal Information Processing standard) w USA. Algorytm umożliwia stosowanie dowolnej długości kluczy, jednak tylko dwie długości (512 i 1024 bitów) zapewniają zgodność z FIPS.

34 Ślepe podpisy cyfrowe i podpisy niezaprzeczalne Jeżeli B jest notariuszem, zaś A chce, aby B potwierdził notarialnie istnienie dokumentu, ale go nie przeczytał. Tego rodzaju podpis nazywamy ślepym podpisem. Do realizacji tego typu podpisu idealnie nadaje się algorytm RSA. Jeżeli chcemy, by: weryfikacja podpisu była możliwa jedynie przy współudziale autora podpisu, weryfikacja podpisu była możliwa jedynie przy współudziale autora podpisu, w przypadku sfałszowanego podpisu domniemany autor miał możliwość udowodnienia fałszerstwa. w przypadku sfałszowanego podpisu domniemany autor miał możliwość udowodnienia fałszerstwa. to podpis cyfrowy spełniający te warunki nazywamy podpisem niezaprzeczalnym.

35 Podsumowanie Techniki szyfrowania opierają się na rozwiązaniu hybrydowym - stosowane są jednocześnie algorytmy symetryczne i asymetryczne. Technika ta wynika z kompromisu pomiędzy bezpieczeństwem a ograniczeniami wydajnościowymi. Algorytmy symetryczne są od 100 do 1000 razy szybsze od asymetrycznych, jednak ze względu na wykorzystywanie tego samego klucza do szyfrowania i deszyfrowania nie są tak bezpieczne jak algorytmy asymetryczne. W związku z tym informacje szyfruje się algorytmem symetrycznym, który jest szybszy, natomiast klucz wykorzystywany do szyfrowania szyfrowany jest za pomocą algorytmu asymetrycznego i dołączany do informacji. W takiej postaci wiadomość może zostać wysłana poprzez niechronione kanały komunikacyjne.

36 Literatura prof. W. Jemec: Wykłady z kryptografii prof. W. Jemec: Wykłady z kryptografii rony/ssl.htm rony/ssl.htm rony/ssl.htm rony/ssl.htm


Pobierz ppt "Kryptografia Adam Józwik Konrad Wojciechowski. Podstawowe pojęcia KRYPTOGRAFIA - to nauka zajmująca się układaniem szyfrów. Wyróżniane są dwa główne nurty."

Podobne prezentacje


Reklamy Google