Bezpieczeństwo systemów komputerowych Kryptoanaliza Metody

Transkrypt

Bezpieczeństwo systemów komputerowych Kryptoanaliza Metody
BSK_2003
Bezpieczeństwo
systemów komputerowych
Metody łamania szyfrów
•
•
•
•
•
•
Kryptoanaliza
Łamanie
Łamanie
Łamanie
Łamanie
Łamanie
Łamanie
z szyfrogramem
ze znanym tekstem jawnym
z wybranym tekstem jawnym
z adaptacyjnie wybranym tekstem jawnym
z wybranym szyfrogramem
z wybranym kluczem
mgr Katarzyna Trybicka-Francik
[email protected]
pok. 503
BSK - 2003
Cel
•
•
•
•
Badane własności
Całkowite złamanie szyfru
Ogólne wnioskowanie
Lokalne wnioskowanie
Częściowy wnioskowanie
BSK - 2003
•
•
•
•
•
•
•
Copyright by K. Trybicka-Francik
Własność komplementarności
Kolizje kluczy
Klucze słabe
Klucze półsłabe
Punkty stałe
Efekt lawinowy
Podatność na znane ataki kryptograficzne
BSK - 2003
Analiza statystyczna
Kryptoanaliza różnicowa
Kryptoanaliza liniowa
Analiza różnicowa mocy
Analiza z pomiarem czasu wykonywania operacji
BSK - 2003
Copyright by K.Trybicka-Francik
Copyright by K. Trybicka-Francik
Kryptoanaliza
- szyfry przestawieniowe
Techniki
•
•
•
•
•
Copyright by K. Trybicka-Francik
Copyright by K. Trybicka-Francik
• Łatwo rozpoznawalne
– częstość występowania liter
• Metoda kryptoanalizy
– metoda anagramowa
BSK - 2003
Copyright by K. Trybicka-Francik
1
BSK_2003
Kryptoanaliza
- 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
Kryptoanaliza
- szyfry podstawieniowe
• 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
dla kryptogramu
• Na podstawie uzyskanych statystyk wywnioskuj w
jaki sposób została zmieniona kolejność znaków
BSK - 2003
Copyright by K. Trybicka-Francik
BSK - 2003
Kryptoanaliza
- szyfry podstawieniowe
• Algorytm relaksacyjny
Kryptoanaliza
- szyfry podstawieniowe
• Szyfry wieloalfabetowe
Peleg i Rosenfeld
– 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.
BSK - 2003
Copyright by K. Trybicka-Francik
• okres = d, czyli mamy d alfabetów szyfrowych
• fi : A -> Ci dla 1∈{1, d}
EK(M.) = f1(m1)...fd(md)f1(md+1)...fd(mzd)...
BSK - 2003
Kryptoanaliza
- szyfry podstawieniowe
• Obliczyć częstość występowania poszczególnych liter.
• Obliczyć Wskaźnik Zgodności.
• Porównać otrzymane wyniki z wynikami podanymi w tabeli.
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· N
WZ = ¨ ¸
0 , 066 + ¨
0 , 038
¸
© d ¹ N −1
© d ¹ N −1
Copyright by K.Trybicka-Francik
Copyright by K. Trybicka-Francik
Copyright by K. Trybicka-Francik
Kryptoanaliza
- szyfry podstawieniowe
• Wskaźnik zgodności
William Friedman w 1920 r.
BSK - 2003
Copyright by K. Trybicka-Francik
BSK - 2003
d
Oczekiwany WZ
1
2
3
4
5
10
duży
0,066
0,052
0,047
0,045
0,044
0,041
0,038
Copyright by K. Trybicka-Francik
2
BSK_2003
Kryptoanaliza
- szyfry podstawieniowe
Kryptoanaliza
-szyfry kaskadowe
• Metoda Kasiskiego
Fryderyk w. Kasiski, oficer armi pruskiej, 1863 r.
Analiza powtórzeń w kryptogramie które umożliwiają
wyznaczenie okresu szyfru.
Przykład.
M=T OB EO RNOT TO BE
K=HAMHAMHAMHAMH
EK(M) = A O N L O D U O F A O N L
(szyfr Vignere’a)
d => 1, 3 lub 9
BSK - 2003
Copyright by K. Trybicka-Francik
BSK - 2003
Algorytm DES
Copyright by K. Trybicka-Francik
Kryptoanaliza różnicowa
• Opublikowana w 1990 przez E. Bihama
i A. Shamira.
• Atak typu chosen plaintext.
• DES z 16-rundami wymaga około 247 par tekst jawny-kryptogram
(chosen plaintext),
255 par przy ataku typu known plaitext.
BSK - 2003
Copyright by K. Trybicka-Francik
BSK - 2003
Kryptoanaliza różnicowa
Copyright by K. Trybicka-Francik
Kryptoanaliza 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.
BSK - 2003
Copyright by K.Trybicka-Francik
Copyright by K. Trybicka-Francik
BSK - 2003
Copyright by K. Trybicka-Francik
3
BSK_2003
Kryptoanaliza różnicowa
Kryptoanaliza różnicowa
Zauważmy, że:
(X
XOR
K)
XOR
(Y
XOR
K) = X
XOR
Przykład.
Rozważmy S-boks S1, oraz dane wejściowe X xor Y = 34
Y
Możliwe są następujące różnice pomiędzy danymi
wyjściowymi tego S-boksu:
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.
1 dla 8 par
3 dla 6 par
7 dla 12 par
D dla 8 par
Trick.
2 dla 16 par
4 dla 2 par
8 dla 6 par
F dla 6 par
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:
Okazuje się, że tylko niektóre wartości X xor K i Y xor K są
możliwe, tym samym tylko niektóre wartości dla K.
07, 33, 11, 25, 17, 23, 1D, 29
BSK - 2003
Copyright by K. Trybicka-Francik
BSK - 2003
Kryptoanaliza różnicowa
Copyright by K. Trybicka-Francik
Kryptoanaliza różnicowa
Drugi element różni się od pierwszego o 34.
E. Biham, A. Shamir.
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
Differential cryptanalysis of DES-like Cryptosystems.
Journal of Cryptology, Vol.4 No.1, pages 3-72, 1991
Postępujemy analogicznie dla innych par przy tym samym kluczu
poszukiwanym.
Prawdziwy klucz należy do przecięcia zbiorów potencjalnych
kluczy.
BSK - 2003
Copyright by K. Trybicka-Francik
może być użyta
BSK - 2003
Kryptoanaliza liniowa
Copyright by K. Trybicka-Francik
Kryptoanaliza liniowa
• Liniow aproksymacja S-boksów
• 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.
i1 xor i2 xor ... xor is = o1 xor o2 xor ... xor os
• Wymaga średnio 243 par tekst jawny-kryptogram
BSK - 2003
Copyright by K.Trybicka-Francik
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.
gdzie is oraz os oznaczają s-ty bit danych wejściowych i danych
wyjściowych
Copyright by K. Trybicka-Francik
BSK - 2003
Copyright by K. Trybicka-Francik
4
BSK_2003
Kryptoanaliza liniowa
Kryptoanaliza liniowa
Przykład.
S-boks S5.
XOR (p7, p18, p24, p29, p47, c7, c18, c24, c29, c47) = k221 xor k223
i4= o0 xor o1 xor o2 xor o3
gdzie: pi to i-ty bit tekstu jawnego
Równość ta zachodzi dla 19% danych wejściowych. Dla 81% więc
nie zachodzi.
cj to j-ty bit kryptogramu
kvu to v-ty bit klucza u-tej rundy
Powyższa równość zachodzi z prawdopodobieństwem q
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.
BSK - 2003
Copyright by K. Trybicka-Francik
BSK - 2003
Copyright by K. Trybicka-Francik
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..)
mgr Katarzyna Trybicka-Francik
[email protected]
pok. 503
wyjście
Tajny klucz, K
BSK - 2003
Copyright by K. Trybicka-Francik
Tradycyjne założenia odnośnie informacji
dostępnych atakującemu
Ulatniające się informacje:
czas
pobór mocy
promieniowanie elektromagnetyczne
wejście
Przekształcenie kryptograficzne
(szyfrowanie, deszyfrowanie,
generacja podpisu, itp..)
Dziękuję za uwagę
wyjście
Tajny klucz, K
BSK - 2003
Copyright by K.Trybicka-Francik
Copyright by K. Trybicka-Francik
BSK - 2003
Copyright by K. Trybicka-Francik
5