Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Szyfrowanie symetryczne 1. Plan wykładu Historia Model szyfrowanie konwencjonalnego Steganografia Algorytmy podstawieniowe Algorytmy transpozycyjne Sieci.

Podobne prezentacje


Prezentacja na temat: "Szyfrowanie symetryczne 1. Plan wykładu Historia Model szyfrowanie konwencjonalnego Steganografia Algorytmy podstawieniowe Algorytmy transpozycyjne Sieci."— Zapis prezentacji:

1 Szyfrowanie symetryczne 1

2 Plan wykładu Historia Model szyfrowanie konwencjonalnego Steganografia Algorytmy podstawieniowe Algorytmy transpozycyjne Sieci Fiestela Algorytm DES Algorytm IDEA Podsumowanie

3 Plan wykładu Historia Model szyfrowanie konwencjonalnego Steganografia Algorytmy podstawieniowe Algorytmy transpozycyjne Sieci Fiestela Algorytm DES Algorytm IDEA Podsumowanie

4 Historia W VII w p.n.e w Grecji stosowano do szyfrowania scytale Tekst pisany był na nawiniętym na patyk pasku skórzanym Po rozwinięciu tekst widoczny na pasku był trudny do odszyfrowania Odszyfrowanie wymaga ponownego nawięnięcia na patyk Na przykład tekst Proszę o pomoc Pros zęop omoc Po odczytaniu na pasku wygląda pzoręmooospc

5 Historia Szyfr Cezara polegający na przesunięciu liter tesktu o 3 używany przez Juliusz Cezara do komunikacji z wojskami Dzięki stosowaniu tego szyfru Juliusz Cezar podbił całą Galię z wyjątkiem pewnej małej wioski ;-)

6 Historia Polacy w czasie wojny polsko-bolszewickiej ( ) potrafili odszyfrować depesze wroga, co ułatwiało działania wojenne (więcej na serwisy.gazeta.pl/df/1,34467, html

7 Historia Enigma – maszyna szyfrująca używana przez wojska niemieckie od lat 20 XX wieku do czasów drugiej wojny światowej. W 1932 roku Enigma została złamana przez polskich matematyków: Marian Rejewski, Jerzy Różycki i Henryk Zygalski)

8 Plan wykładu Historia Model szyfrowanie konwencjonalnego Steganografia Algorytmy podstawieniowe Algorytmy transpozycyjne Sieci Fiestela Algorytm DES Algorytm IDEA Podsumowanie

9 Uproszczony model szyfrowania konwencjonalnego

10 Model szyfrowania konwencjonalnego Szyfrator tworzy tekst zaszyfrowany Y=E K (X) Odbiorca posiadający klucz może odwrócić przekształcenie X=D K (Y) Przeciwnik śledzący Y, ale pozbawiony dostępu do X i K, próbuje odgadnąć hipotetyczny tekst jawny X` i hipotetyczny klucz K`. Zakładamy, że zna on algorytm szyfrujący E i deszyfrujący D

11 Techniki szyfrowania Steganografia służy do ukrycia faktu istnienia komunikatu, np. zaznaczanie liter, atrament sympatyczny Techniki podstawiania polega na zastępowaniu elementów (bitów) tekstu jawnego innymi elementami (bitami) Techniki transpozycyjne polegają na permutacji liter (przestawieniu) tekstu jawnego

12 Plan wykładu Historia Model szyfrowanie konwencjonalnego Steganografia Algorytmy podstawieniowe Algorytmy transpozycyjne Sieci Fiestela Algorytm DES Algorytm IDEA Podsumowanie

13 Steganografia Herodot w "Dziejach" opisuje następujący tajny przekaz informacji Despota Hiastus przetrzymywany przez króla perskiego Dariusza postanawia przesłać informację do swego zięcia Arystogorasa z Miletu, tak aby mogła się ona przedostać mimo pilnujących go strażników Aby tego dokonać na wygolonej głowie swego niewolnika tatuuje przesłanie Kiedy niewolnikowi odrosły włosy posyła go z oficjalnym, mało istotnym listem

14 Steganografia Stosowanie atramentu sympatycznego Nakłuwanie szpilką liter tekstu (książki) Sformułowanie komunikatu, aby sekwencja kolejnych liter, sylab bądź wyrazów tworzyła ukrytą wiadomość

15 Steganografia w informatyce W komputerowym zapisie obrazu (zdjęcie jpg, film mpg) lub dźwięku (mp3) pewne bity można zmienić bez wpływu na jakość obrazu (dźwięku) Na tych bitach przesyłane są tajne informacje, które można odczytać wiedząc gdzie zostały ukryte

16 Plan wykładu Historia Model szyfrowanie konwencjonalnego Steganografia Algorytmy podstawieniowe Algorytmy transpozycyjne Sieci Fiestela Algorytm DES Algorytm IDEA Podsumowanie

17 Techniki podstawiania Technika podstawienia polega na zastępowaniu elementów (liter, bitów) tekstu jawnego innymi elementami (b literami, bitami) według ustalonego schematu Przykładowe algorytm: szyfr Cezara, Szyfr Playfair, szyfr Vigenerea

18 Szyfr Cezara Szyfr Cezara polega na zastąpieniu każdej litery alfabetu literą znajdującą się o trzy pozycje dalej C=E(p)=(p+3) mod (26) C to litera tekstu zaszyfrowanego odpowiadająca literze tekstu jawnego o indeksie p Przesunięcie może mieć wielkość dowolną, więc ogólna postać algorytmu wygląda następująco: C=E(p)=(p+k) mod (26), 0

19 Szyfr Cezara Przykład dla szyfru Cezara (przesunięcie o 3 znaki) Klucz 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 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 Szyfrowanie tekst jawny : szyfr juliusza cezara tekst zaszyfrowany: VCBIU MXOLXVCD FHCDUD Dla szyfru Cezara łatwo można przeprowadzić kryptoanalizę metodą brutalną polegającą na wypróbowaniu 25 możliwych kluczy k

20 Szyfry jednoalfabetowe Dla szyfrów jednoalfabetowych możemy zastosować jako szyfr dowolną permutację 26 znaków alfabetu Oznacza to 26!=4*10 26 możliwych kluczy, czyli można wykluczyć próby rozszyfrowania metodą brutalną Jednak, jeśli krypotanalityk zna tekst zaszyfrowany i jego charakter (język tekstu jawnego), może on wykorzystać regularności zawarte w języku

21 Szyfry jednoalfabetowe - kryptoanaliza Dla każdego języka można określić względną częstość występowania liter (film Motyl i skafander) Poniższa tabela prezentuje procentową częstość względną występowania poszczególnych liter w tekście angielskim

22 Szyfry jednoalfabetowe - kryptoanaliza Można również przeanalizować częstość występowania kombinacji dwuliterowych, zwanych dwuznakami Szyfry jednoalfabetowe są łatwe do złamania ponieważ odzwierciedlają częstości alfabetu oryginału Aby temu zaradzić można jednej literze przypisać rotacyjnie kilka symboli szyfrowych (homofony)

23 Szyfr Playfair Szyfr Playfair, traktuje dwuznaki tekstu jawnego jako osobne jednostki i tłumaczy na dwuznaki zaszyfrowane Algorytm Playfair używa matrycy 5x5, zbudowanej przy użyciu słowa kluczowego Np. dla słowa kluczowego MONARCHY matryca wygląda następująco: M ONAR CHYBD EFGI/JK LPQST UVWXZ

24 Szyfr Playfair Powtarzające się litery tekstu jawnego oddziela się literą wypełniającą W przypadku, gdy litery pary liter tekstu jawnego występują w tym samym wierszu matrycy, zastępuje się każdą z nich literą o jedną pozycję w prawo W przypadku, gdy litery pary liter tekstu jawnego występują w tej samej kolumnie matrycy, zastępuje się każdą z nich literą o jedną pozycję w dół Jeżeli nie zachodzi żaden z powyższych przypadków, każda litera z pary liter tekstu jawnego zastępuje się literą leżącą w tym samym, co ona rzędzie, lecz w kolumnie, w której leży druga litera

25 Szyfr Playfair – przykład jawny : the Playfaif is good jawny : th eP la yf ai fi sg ox od zaszyfrowany: PD FL SM HG BS GK QI AV RH MONAR CHYBD EFGI/JK LPQST UVWXZ MONAR CHYBD EFG K LPQST UVWXZ MONAR CHYBD EFG K LPQST UVWXZ MONAR CHYBD EFG K LPQST UVWXZ MONAR CHYBD EFG K LPQST UVWXZ

26 Szyfry wieloalfabetowe Szyfr wieloalfabetowy polega na stosowaniu różnych podstawień jednoalfabetowych podczas szyfrowania jednego komunikatu Przykładem szyfru wieloalfabetowego jest szyfr Vigenerea, w którym stosuje się szyfr Cezara z przesunięciami od 0 do 25 Litera klucza wyznacza wiersz tablicy Litera tekstu jawnego kolumnę tablicy

27 Szyfr Vigenerea - przykład klucz : deceptivedeceptivedeceptive tekst jawny : wearediscoveredsaveyourself tekstzaszyfrowany: ZICVTWQNGRZGVTWAVZHCQYGLMGJ

28 Losowe szyfry wieloalfabetowe Dla szyfru wieloalfabetowego można zastosować losowy klucz, o takiej samej długości co komunikat, bez powtórzeń Taki system, zwany systemem z kluczem jednorazowym (ang. one time pad), jest nie do złamania Wynikiem jego działania jest losowy tekst, który nie ma żadnych statystycznych związków z tekstem jawnym Praktycznym utrudnieniem jest konieczność posiadania i strzeżenia losowego klucza przez nadawcę i odbiorcę

29 Porównanie szyfrów

30 Plan wykładu Historia Model szyfrowanie konwencjonalnego Steganografia Algorytmy podstawieniowe Algorytmy transpozycyjne Sieci Fiestela Algorytm DES Algorytm IDEA Podsumowanie

31 Techniki transpozycyjne Techniki transpozycyjne polegają na permutacji liter tekstu jawnego Najprostszym takim szyfrem jest tzw. technika płotu, polegająca na tym, że tekst jawny zapisuje się jako ciąg kolumn, a odczytuje jako ciąg wierszy Na przykład dla płotu o wysokości 2 tekst jawny : szyfrtranspozycyjny syrrnpzcjy zftasoyyn tekst zaszyfrowany: syrrnpzcjyzftasoyyn

32 Techniki transpozycyjne Bardziej skomplikowany system polega na zapisaniu komunikatu w prostokącie, a następnie odczytanie ze zmianą kolejności kolumn Klucz : tekst jawny : b a r d z i e j s k o m p l i k o w a n y s y s t e m p o l e g a n a tekst zaszyfrowany: ASKYLDOWTGBJISORKOSEELYPAIPNMNZMAEA Szyfr transpozycyjny można uczynić znaczenie bezpieczniejszym poprzez stosowanie kilku etapów transpozycji, co utrudnia znacznie rekonstrukcję klucza

33 Konfuzja i dyfuzja Shannon, twórca teorii informacji przedstawił w 1949 roku dwie główne zasady szyfrowania: Konfuzja oznacza rozmycie zależności pomiędzy tekstami jawnymi a ich zaszyfrowanymi wersjami Dyfuzja oznacza rozłożenie zawartych w tekście jawnym informacji w całym tekście zaszyfrowanym Proste szyfry podstawieniowe (szyfr Cezera, szyfr Vigenerea) zapewniają tylko konfuzję, gdyż każda litera jest szyfrowana oddzielnie

34 Efekt lawinowy Efektem lawinowym określamy intensywniejszy niż dla dyfuzji rozmazanie tekstu jawnego w tekście zaszyfrowanym Jest spotykany dla szyfrowania blokowego Każdy bit zaszyfrowanego tekstu zależy od wszystkich bitów tekstu jawnego w danym bloku Dla zmiany pojedynczego bitu tekstu jawnego lub klucza, każdy bit tekstu zaszyfrowanego powinien zmienić swoją wartość z prawdopodobieństwem równym dokładnie 50% Kryptoanaliza różnicowa wykorzystuje nawet niewielkie odstępstwo od tej zasady

35 Algorytmy produktowe Większość współczesnych algorytmów blokowych to algorytmy produktowe – po kolei wykonywane są proste, stosunkowo mało bezpieczne kroki szyfrujące zwane rundami (iteracjami) Dzięki stosowaniu wielu rund bezpieczeństwo algorytmu znacząco rośnie

36 Plan wykładu Historia Model szyfrowanie konwencjonalnego Steganografia Algorytmy podstawieniowe Algorytmy transpozycyjne Sieci Fiestela Algorytm DES Algorytm IDEA Podsumowanie

37 Sieci Feistela Wiele algorytmów blokowych z jednym kluczem wykorzystuje tzw. Sieci Feistela

38 Sieci Feistela Każdy blok dzielony jest na dwie równe połówki, oznaczane dla i-tej rundy jako L i (lewa połówka) oraz R i (prawa połówka) Właściwe szyfrowanie polega na zamianie miejscami obu połówek, a następnie zastąpieniu prawego bloku R i przez XOR f S,i (R i ) oraz L i Funkcja f S,i wprowadza klucz i-tej rundy, czyli klucz obliczany na podstawie klucza głównego S Zazwyczaj każda runda ma inny klucz rundy Funkcje f S,i nie muszą być odwracalne

39 Sieci Feistela Szyfrowanie L i+1 = R i R i+1 = L i XOR f S,i (R i ) Właściwość L i = (L i XOR f S,i (R i )) XOR f S,i (R i ) = R i+1 XOR f S,i (R i ) Deszyfrowanie R n-1 = L n L n-1 = R n XOR f S,n-1 (R n-1 )... R 0 = L 1 L 0 = R 1 XOR f S,0 (R 0 )

40 Plan wykładu Historia Model szyfrowanie konwencjonalnego Steganografia Algorytmy podstawieniowe Algorytmy transpozycyjne Sieci Fiestela Algorytm DES Algorytm IDEA Podsumowanie

41 Algorytm DES - historia 1971 – pierwszy patent dotyczący algorytmu Lucifer opracowanego przez Horst Fiestel i jego kolegów w IBM 1973 – NBS (National Bureau of Standar) ogłosza konkursu na algorytm szyfrujący 1977 – FIPS (wcześniej NBS) publikuje algorytm DES (ang. Data Encryption Standard) oparty na Lucifer jako standard FIPS – DES potwierdzony po raz 4 przez NIST w wersji Triple DES jako FIPS – publikacja AES (Advanced Encryption Standard) jako FIPS – NIST wycofuje DES (FIPS 46-3)

42 DES w pigułce Dane są szyfrowane w 64-bitowych blokach Klucz ma długość 56 bitów Algorytm produktowy – stosuje transpozycje w kolejnych etapach (iteracjach) Szyfrowanie polega na serii etapów przetwarzających 64-bitowe dane wejściowe na 64-bitowy wynik Deszyfrując wykonuje się te same etapy i ten sam klucz, ale w odwrotnej kolejności Najważniejszym elementem algorytmu są S-bloki (ang. S-box)

43 Ogólny schemat DES

44 Permutacja wstępna Permutację wstępną IP i jej odwrotność IP -1 definiuje poniższa tabela Obie funkcje są odwrotne względem siebie Jeżeli szyfrujemy blok M to tekst po permutacji wygląda następująco X=IP(M) Po permutacji odwrotnej otrzymujemy Y= IP -1 (X)=IP -1 (IP(M))=M

45 Pojedyncza iteracja DES

46 Permutacja rozszerzająca Permutacja rozszerzająca powoduje wygenerowanie z 32 bitów wejściowych 48 bitów wyjściowych według podanej tabeli

47 S-blok

48 Pierwszy i ostatni bit wejścia S-bloku wskazuje odpowiedni wiersz tabeli S-bloku Środkowe 4 bity określają kolumnę Na przykład wejście: wiersz 01 (1) kolumna 1101 (13) wyjście: 5 (0101)

49

50 Łamanie DES Krótki klucz 56 bitowych – metoda brute force ma złożoność 2 56 = 7*10 16 Kryptoanaliza różnicowa Kryptoanaliza liniowa

51 Tryby pracy DES Elektroniczna książka kodowa ECB (ang. electronic codebook) Każdy 64-bitowy blok tekstu jawnego jest kodowany niezależnie z zastosowaniem tego samego klucza Zastosowania: bezpieczna transmisja pojedynczych wartości E K E K E K PP1P2P3 C1C2C3 D K D K D K CC1C2C3 P1P2P3

52 Tryby pracy DES Wiązania bloków zaszyfrowanych CBC (ang. cipher block chaining) Dane wejściowe algorytmu szyfrującego stanowią XOR następnych 64 bitów tekstu jawnego i poprzednich 64 bitów tekstu zaszyfrowanego Zastosowania: transmisja blokowa ogólnego zastosowania, uwierzytelnienie E K E K E K PP1P2P3 C1C2C3 D K D K D K C C1C2C3 P1P2P3

53 Tryby pracy DES Szyfrowanie ze sprzężeniem zwrotnym CFB (ang. cipher feedback) Dane wejściowe przetwarzane są po j bitów Zastosowania: transmisja strumieniowa ogólnego zastosowania, uwierzytelnienie

54 Tryby pracy DES Sprzężenia zwrotnego wyjściowego OFB (ang. output feedback) Transmisja strumieniowa przez kanał narażony na zakłócenia

55 Tryby pracy DES Przedstawione tryby pracy mogą być stosowane również dla innych algorytmów blokowych

56 Podwójny DES W związku z zagrożeniem załamania szyfrowanie DES z kluczem 56 bitowym, pojawiły się propozycje wielokrotnego użycia DES z wieloma kluczami Najprostsza wersja wielokrotnego DES to podwójny DES Przy danym tekście jawnym P i dwóch kluczach K1 i K2, tekst zaszyfrowany C jest generowany jako C=E K1 (E K2 (P)) Deszyfrowanie wymaga odwrócenia kolejności zastosowania kluczy P=D K2 (D K1 (C)) E K1 P E X K2 C D C D Y K1 P

57 Potrójny DES z dwoma kluczami Przy danym tekście jawnym P i dwóch kluczach K1 i K2, tekst zaszyfrowany C jest generowany jako C=E K1 (D K2 (E K1 (P))) Deszyfrowanie wymaga odwrócenia kolejności zastosowania kluczy P=D K1 (E K2 (D K1 (C))) E K1 P D A K2 C E K1 B D C E B K2 P D K1 A

58 Potrójny DES Przy danym tekście jawnym P i trzech kluczach K1, K2 i K3 tekst zaszyfrowany C jest generowany jako C=E K1 (E K2 (E K3 (P))) Deszyfrowanie wymaga odwrócenia kolejności zastosowania kluczy P=D K1 (D K2 (D K3 (C))) E K1 P E A K2 C E K3 B D C E B K2 P D K1 A

59 Plan wykładu Historia Model szyfrowanie konwencjonalnego Steganografia Algorytmy podstawieniowe Algorytmy transpozycyjne Sieci Fiestela Algorytm DES Algorytm IDEA Podsumowanie

60 Algorytm IDEA International Data Encryption Algorithm (IDEA) to algorytm szyfrowania blokowego opublikowany przez Xueji Lai i James Massey (ETH Zurich) w 1991 roku IDEA to szyfr blokowy – bloki mają po 64 bity stosujący Stosowany jest 128 bitowy klucz

61 Założenia projektowe algorytmu IDEA Zastosowanie 16-bitowych podbloków Zastosowanie prostych operacji arytmetycznych Podobieństwo między szyfrowaniem i deszyfrowaniem Regularna struktura ułatwiająca realizację w technice VLSI

62 Skuteczność kryptograficzna IDEA Długość bloków powinna być duża, by utrudnić kryptoanalizę Długość klucza powinna uniemożliwić atak brutalną siła. Mieszanie (konfuzja) - zależność tekstu zaszyfrowanego od tekstu jawnego i klucza powinna być skomplikowana, aby utrudnić kryptoanalizę Rozpraszanie (dyfuzja)- każdy bit wejścia powinien wpływać na każdy bit tekstu zaszyfrowanego

63 Mieszanie w algorytmie IDEA W IDEA mieszanie uzyskuje się za pomocą trzech operacji wykonywanych na dwóch wejściowych 16-bitowych blokach: XOR logiczny oznaczany znakiem Dodawanie liczb całkowitych modulo 216 (65536) oznaczane jako. Dane wejściowe to nieujemne liczby 16-bitowe Mnożenie liczb całkowitych modulo (65537) oznaczane jako znak

64 Rozpraszanie w algorytmie IDEA Rozpraszanie jest osiągane za pomocą podstawowej jednostki algorytmu nazywanej strukturą mnożenia/dodawania MA (ang. multiplication/addition) Struktura ta produkuje dwa 16- bitowe wyniki (G 1,G 2 ) z dwóch 16-bitowych wartości wejściowych tekstu jawnego (F 1,F 2 ) i dwóch 16-bitowych podkluczy wyprowadzanych z klucza (Z 1,Z 2 )

65 Szyfrowanie za pomocą IDEA

66

67 Etap przekształcania wyników algorytmu IDEA

68 Generowanie podkluczy w algorytmie IDEA Wszystkie 52 podklucze o długości 16 bitów są generowane na podstawie głównego 128 bitowego klucza Pierwsze 8 podkluczy Z1 - Z8 generowane są bezpośrednio z klucza Następnie cyklicznie przesuwamy klucz w lewo o 25 bitów i generujemy kolejne 8 podkluczy Procedurę powtarzamy do wygenerowanie 52 podkluczy 128 bitowy klucz Z1Z2Z3Z4Z5Z6Z7Z8Z9Z10Z11Z12Z13Z14Z15Z16Z15Z18Z19Z20Z17

69 Plan wykładu Historia Model szyfrowanie konwencjonalnego Steganografia Algorytmy podstawieniowe Algorytmy transpozycyjne Sieci Fiestela Algorytm DES Algorytm IDEA Podsumowanie

70 W przeszłości stosowano głównie algorytmy wykorzystujące technikę podstawienia Współczesna kryptografia rozpoczęła się w latach 70- tych XX wieku Efektywny symetryczny algorytm szyfrujący opiera się na wykonywaniu wielu iteracji w celu zapewnienia dyfuzji i konfuzji Pierwszym powszechnie używanym algorytmem szyfrującym był DES Obecnie w związku ze wzrostem mocy obliczeniowej komputerów algorytm DES jest za słaby


Pobierz ppt "Szyfrowanie symetryczne 1. Plan wykładu Historia Model szyfrowanie konwencjonalnego Steganografia Algorytmy podstawieniowe Algorytmy transpozycyjne Sieci."

Podobne prezentacje


Reklamy Google