Bezpieczeństwo systemów komputerowych Metody łamania szyfrów Łamanie z szyfrogramem Łamanie ze znanym tekstem jawnym Łamanie z wybranym tekstem jawnym Łamanie z adaptacyjnie wybranym tekstem jawnym Łamanie z wybranym szyfrogramem Łamanie z wybranym kluczem mgr Katarzyna Trybicka-Francik kasiat@zeus.polsl.gliwice.pl pok. 503 Cel Badane własności Całkowite złamanie szyfru Ogólne wnioskowanie Lokalne wnioskowanie Częściowy wnioskowanie Własność komplementarności Kolizje kluczy Klucze słabe Klucze półsłabe Punkty stałe Efekt lawinowy Podatność na znane ataki kryptograficzne Techniki Analiza statystyczna różnicowa liniowa Analiza różnicowa mocy Analiza z pomiarem czasu wykonywania operacji - szyfry przestawieniowe Łatwo rozpoznawalne częstość występowania liter Metoda kryptoanalizy metoda anagramowa Copyright by K.Trybicka-Francik 1
- szyfry przestawieniowe Stwórz tablice rozkładu częstotliwości diagramów trigramów dla języka naturalnego Stwórz tablice rozkładu częstotliwości diagramów trigramów dla kryptogramu Na podstawie uzyskanych statystyk wywnioskuj w jaki sposób została zmieniona kolejność znaków Szyfry oparte na alfabetach przesuniętych Sprawdzana jest cała przestrzeń klucza Szyfry korzystające z przekształceń afinicznych Analiza częstości występowania liter Algorytm relaksacyjny Peleg i Rosenfeld Szyfry wieloalfabetowe okresowe szyfry podstawieniowe Dla każdej litery a tekstu jawnego oraz litery b kryptogramu, na podstawie częstości występowania liter oblicza się prawdopodobieństwo Pr[f(a)=b]. Prawdopodobieństwa te są następnie iteracyjnie aktualizowane na podstawie częstości występowania trigramów. okres = d, czyli mamy d alfabetów szyfrowych f i : A -> C i dla 1 {1, d} E K (M.) = f 1 (m 1 )...f d (m d )f 1 (m d+1 )...f d (m zd )... Wskaźnik zgodności William Friedman w 1920 r. charakteryzuje rozkład częstości występowania liter w kryptogramie jeżeli d=1, to WZ będzie duże, jeżeli d, to WZ 1 N d d 1 WZ = 0,066 + d N 1 d N N 0,038 1 Obliczyć częstość występowania poszczególnych liter. Obliczyć Wskaźnik Zgodności. Porównać otrzymane wyniki z wynikami podanymi w tabeli. d 1 2 3 4 5 10 duży Oczekiwany WZ 0,066 0,052 0,047 0,045 0,044 0,041 0,038 Copyright by K.Trybicka-Francik 2
-szyfry kaskadowe Metoda Kasiskiego Fryderyk w. Kasiski, oficer armi pruskiej, 1863 r. Analiza powtórzeń w kryptogramie które umożliwiają wyznaczenie okresu szyfru. M = T O B E O R N O T T O B E K = H A M H A M H A M H A M H E K (M) = A O N L O D U O F A O N L (szyfr Vignere a) d => 1, 3 lub 9 Algorytm DES różnicowa Opublikowana w 1990 przez E. Bihama i A. Shamira. Atak typu chosen plaintext. DES z 16-rundami wymaga około 2 47 par tekst jawny-kryptogram (chosen plaintext), 2 55 par przy ataku typu known plaitext. różnicowa różnicowa Z kryptograficznego punktu widzenia, ważne są następujące fazy: Operacja XOR z bitami klucza. Obliczenia wykonywane przez S-boksy. Rozważane są pary danych wejściowych, oznaczymy je przez X i Y (64x64). Różnica ciągów X i Y to X XOR Y. Kluczowa obserwacja Stosując operację XOR z bitami klucza K otrzymujemy z ciągów X i Y: X XOR K i Y XOR K Będące danymi wejściowymi dla S-boksów. Copyright by K.Trybicka-Francik 3
różnicowa różnicowa Zauważmy, że: (X XOR K) XOR (Y XOR K) = X XOR Y Rozważmy S-boks S1, oraz dane wejściowe X xor Y = 34 Różnica między X xor K i Y xor K ulega zazwyczaj zmianie poprzez zastosowanie S-boksów. Nowa rożnica jest nie tylko zależna od X xor Y ale także od konkretnych wartości X xor K i Y xor K. Trick. Możliwe są następujące różnice pomiędzy danymi wyjściowymi tego S-boksu: 1 dla 8 par 2 dla 16 par 3 dla 6 par 4 dla 2 par 7 dla 12 par 8 dla 6 par D dla 8 par F dla 6 par Okazuje się, że tylko niektóre wartości X xork i Y xork są możliwe, tym samym tylko niektóre wartości dla K. Przyjmując, że różnica wynosi D to mamy do wyboru jedną z 8 par. Pierwszy element tych par to jeden z ciągów: 07, 33, 11, 25, 17, 23, 1D, 29 różnicowa różnicowa Drugi element różni się od pierwszego o 34. Jeżeli przyjmiemy, że danymi wejściowymi dla S1 był ciąg 07, to X xor K = 07, a to oznacza, że K = X xor 07 E. Biham, A. Shamir. Differential cryptanalysis of DES-like Cryptosystems. Postępujemy analogicznie dla innych par przy tym samym kluczu poszukiwanym. Prawdziwy klucz należy do przecięcia zbiorów potencjalnych kluczy. Journal of Cryptology, Vol.4 No.1, pages 3-72, 1991 może być użyta liniowa liniowa Została wprowadzona przez Mitsuru Matsui ego. Atak, który wykorzystuje liniowe zależności miedzy bitami s-bloków. Może być użyta jako: atak ze znanym tekstem jawnym, atak z tekstem zaszyfrowanym. Wymaga średnio 2 43 par tekst jawny-kryptogram Liniow aproksymacja S-boksów Chociaż S-boksy nie obliczają łatwych do przedstawienia funkcji (np.. Funkcji liniowych), nie oznacza to, że funkcji tych nie da się przedstawić w przybliżeniu. i 1 xor i 2 xor... xor i s = o 1 xor o 2 xor... xor o s gdzie i s oraz o s oznaczają s-ty bit danych wejściowych i danych wyjściowych Copyright by K.Trybicka-Francik 4
liniowa liniowa S-boks S5. XOR (p 7, p 18, p 24, p 29, p 47, c 7, c 18, c 24, c 29, c 47 ) = k 221 xor k 22 3 i 4 = o 0 xor o 1 xor o 2 xor o 3 Równość ta zachodzi dla 19% danych wejściowych. Dla 81% więc nie zachodzi. gdzie: p i to i-ty bit tekstu jawnego c j to j-ty bit kryptogramu k vu to v-ty bit klucza u-tej rundy Z formuł aproksymujących liniowo pojedyncze S-boksy można zbudować formuły opisujące związki pomiędzy danymi wejściowymi rundy, bitami klucza oraz wynikami rundy. Powyższa równość zachodzi z prawdopodobieństwem q Bezpieczeństwo systemów komputerowych Tradycyjne założenia odnośnie informacji dostępnych atakującemu Ataki na implementację kryptosystemów wejście Przekształcenie kryptograficzne (szyfrowanie, deszyfrowanie, generacja podpisu, itp..) wyjście mgr Katarzyna Trybicka-Francik kasiat@zeus.polsl.gliwice.pl pok. 503 Tajny klucz, K Tradycyjne założenia odnośnie informacji dostępnych atakującemu Ulatniające się informacje: czas pobór mocy promieniowanie elektromagnetyczne Dziękuję za uwagę wejście Przekształcenie kryptograficzne (szyfrowanie, deszyfrowanie, generacja podpisu, itp..) wyjście Tajny klucz, K Copyright by K.Trybicka-Francik 5