Zastosowanie algorytmów ewolucyjnych w kryptoanalizie klasycznej

Transkrypt

Zastosowanie algorytmów ewolucyjnych w kryptoanalizie klasycznej
Z
I
i
A
O
Uniwersytet Śląski
Wydział Informatyki i Nauki o Materiałach
Instytut Informatyki
Zakład Algorytmiki i Inteligencji Obliczeniowej
Zastosowanie algorytmów ewolucyjnych w kryptoanalizie
klasycznej
Kamil Dworak
[email protected]
Chorzów, 9 Grudnia 2014
Plan prezentacji
1
Wprowadzenie
2
Kryptografia
Cykl życia informacji w systemie kryptograficznym
Klasyczny szyfr przestawieniowy
3
Kryptoanaliza
Funkcja przystosowania
Poprzednio zaproponowany atak
Operatory krzyżowania
4
Badania
Parametry
Porównanie ataków
5
Wnioski
6
Plany na przyszlość
Wprowadzenie
Motywacja
Celem publikacji jest przedstawienie, w jaki
sposób Algorytmy Ewolucyjne mogą zostać
wykorzystane w złożonych procesach
kryptoanalitycznych, z uwzględnieniem
aspektów optymalizacyjnych. Opracowany
algorytm stanowi specjalny atak na
szyfrogram stworzony przy pomocy
klasycznego szyfru przestawieniowego.
Dokonano przeglądu literaturowego na temat
zastosowania metod heurystycznych w
kryptologii. Rosnące zainteresowanie ta
dziedziną świadczy o popularności tej
tematyki, aczkolwiek wciąż istnieje pewna
pula dotychczas nierozwiązanych problemów,
które powinny zostać poruszone.
Kamil Dworak
Zastosowanie AE w kryptoanalizie klasycznej
3 / 23
Kryptografia
Cykl życia informacji w systemie kryptograficznym
Cykl życia informacji w systemie kryptograficznym
Kryptografia wykorzystywana do szyfrowania i deszyfrowania informacji.
Jej celem nie jest ukrycie faktu istnienia wiadomości, a jej zawartości.
Na podstawie przedstawionego diagramu można zauważyć:
C = EK1 (P)
(1)
P = DK2 (C )
(2)
Poprawny system kryptograficzny pownien spełniać następujący warunek:
DK2 (EK1 (P)) = P
Kamil Dworak
Zastosowanie AE w kryptoanalizie klasycznej
(3)
4 / 23
Kryptografia
Klasyczny szyfr przestawieniowy
Klasyczny szyfr przestawieniowy
5
t
r
o
a
h
t
2
o
3
n
b
t
e
i
o
7
b
o
e
i
q
n
1
e
t
6
t
s
u
e
e
a
4
o
t
h
t
s
d
W klasycznym szyfrze przestawieniowym
tekst jawny zostaje wpisany w specjalną
tabelę szyfrującą, o szerokości równej
długości klucza m. Każdy znak wiadomości
odpowiada dokładnie jednemu znakowi
szyfrogramu (są one identyczne, zmienia się
jedynie ich układ). Każdy z kluczy stanowi
pojedynczą permutację ze zbioru m!. Proces
deszyfrowania opiera się na operacji
odwrotnej.
Gdy wiadomość nie wypełnia całkowicie tabeli szyfrującej, dodawane są losowo
wygenerowane znaki. Szyfrogram uzyskujemy odczytując wiadomość względem
numerów kolumn z góry do dołu. Zakodowana wiadomość jest następującej
postaci:
ET SUEO TEI NB OOTHTSDTROAHT T EABOEIQN
Kamil Dworak
Zastosowanie AE w kryptoanalizie klasycznej
5 / 23
Kryptoanaliza
Kryptoanaliza
Kryptoanaliza
Kryptoanaliza stanowi naukę zajmującą się
odszyfrowywaniem zakodowanych informacji
bez znajomości klucza deszyfrującego K2 .
Jednym z podstawowych zagadnień
kryptoanalizy jest analiza częstości. Polega
ona na zliczaniu częstotliwości występowania
wszystkich znaków w zadanym szyfrogramie
oraz utworzeniu rankingu najczęściej
występujących liter. Analiza ta nie tyczy się
tylko pojedynczych znaków. Stosuje się tzw.
notację n-gramową. Pozwala ona na zliczanie
częstości występowania np. dwuznakowych
(bigramów/digramów) lub trzyznakowych
(trigramów) porcji tekstu.
Kamil Dworak
Rozkład znaków w języku
Angielskim
Zastosowanie AE w kryptoanalizie klasycznej
6 / 23
Kryptoanaliza
Algorytm Ewolucyjny
Algorytm Ewolucyjny
Pseudokod:
1
2
3
4
5
6
7
populacja := inicjalizacjaPopulacji();
while warunek stopu nie został spełniony do
ocenaOsobników( populacja);
rodzice := selekcja( populacja);
potomstwo := krzyżowanie( rodzice);
populacja := mutacja( potomstwo);
end
Kamil Dworak
Zastosowanie AE w kryptoanalizie klasycznej
7 / 23
Kryptoanaliza
Funkcja przystosowania
Funkcja przystosowania
Esencja poprawnie zdefiniowanego algorytmu ewolucyjnego stanowi starannie
dobrana funkcja przystosowania. W 1998 Andrew John Clark przedstawił ciekawą
metodę, bazowaną na notacji n-gramowej, która została przez Niego
wykorzystana do obliczenia wartości funkcji przystosowania. Zakładamy, że
atakujący otrzymuje zaszyfrowaną wiadomość oraz znana mu jest długość klucza,
jakim została zakodowana. Zmodyfikowana wartość funkcji obliczamy na
podstawie poniższego wyrażenia:
b
b
t
t
Ff = β · Σi,j∈A |K(i,j)
− D(i,j)
| + γ · Σi,j,k∈A |K(i,j,k)
− D(i,j,k)
|
(4)
gdzie:
A - alfabet danego języka,
i, j, k - kolejne indeksy wiadomości,
Ff - funkcja przystosowania,
K, D - statysyki języka/częstość występowania znaków w szyfrogramie,
b, t - bigram/trigram,
β, γ - parametry wagowe, określające priorytet danej statystyki
(warunek β + γ = 1 musi zostać spełniony).
Kamil Dworak
Zastosowanie AE w kryptoanalizie klasycznej
8 / 23
Kryptoanaliza
Funkcja przystosowania
Funkcja przystosowania
Częstość występowania unigramów może zostać całkowicie pominięta.
Szyfr przestawieniowy posiada taką samą liczbę znaków przed i po
procesie szyfrowania (pomijając znaki losowe),
Parametry β i γ pozwalają na przypisanie wagi danym statystykom,
co pozwala kontrolować ich użyteczność. W niektórych przypadkach,
kalkulacja samych bigramów może okazać się wystarczająca. Trigramy
zwiększają złożoność algorytmu już do O(K 3 ) + O(n), gdzie K
stanowi rozmiar alfabetu, a n długość wiadomości,
Mniejsza wartość funkcji przystosowania sugeruje, że znajdujemy się
bliżej idealnego rozwiązania. Ze względu na obecność losowych
znaków w tabeli szyfrującej uzyskanie wartości funkcji równej 0 jest
rzadko spotykane.
Kamil Dworak
Zastosowanie AE w kryptoanalizie klasycznej
9 / 23
Kryptoanaliza
Poprzednio zaproponowany atak
Poprzednio zaproponowany atak
Punkt przecięcia wybierany jest w drodze losowania. W przypadku
pierwszego rodzica prawa część chromosomu jest odcinana, w przypadku
drugiego rodzica lewa. W następnym kroku odseparowany fragment
zostaje posortowany według drugiego rodzica, oraz dodany do
przeciwległego potomka. Na sam koniec, posortowana część zostaje
przesunięta na drugą stronę chromosomu względem punktu przecięcia.
Zadaniem mutacji jest przesunięcie wszystkich genów chromosomu o jedną
pozycję w lewo.
Kamil Dworak
Zastosowanie AE w kryptoanalizie klasycznej
10 / 23
Kryptoanaliza
Problem Komiwojażera (TSP)
Problem Komiwojażera (TSP)
Problem TSP polega na wyznaczeniu
minimalnego cyklu Hamiltona w
n-węzłowym grafie ważonym. Odległość
pomiędzy punktami określa koszt podróży.
Zadanie polega na wyznaczeniu jak
najkrótszej trasy, pozwalającej na
odwiedzenie każdego z miast jednokrotnie.
Liczbę wszystkich możliwych rozwiązań
można wyznaczyć za pomocą wyrażenia:
l=
(n − 1)!
2
(5)
Dla sieci składającej się z 20 miast istnieje 60822550204416000 możliwych
kombinacji. Ze względu na ograniczenia czasowe metoda przeglądu zupełnego nie
jest najlepszym wyznacznikiem. Użyteczne stają się AE.
Kamil Dworak
Zastosowanie AE w kryptoanalizie klasycznej
11 / 23
Kryptoanaliza
Operatory krzyżowania
Operatory krzyżowania
Najbardziej znanymi operatorami krzyżowania w problemie TSP są
krzyżowania: PMX, OX oraz CX.
W tejże publikacji zdecydowano się na zaimplementowanie krzyżowania
OX. Ponadto przetestowano kilka niedawno zaprezentowanych modyfikacji
tego krzyżowania. Na podstawie badań innych naukowców wybrano
najefektywniejszą z nich (zaproponowaną przez przez Deep’a i
Membrath’u). Dalej będzie ona identyfikowana jako krzyżowanie OX4.
Kamil Dworak
Zastosowanie AE w kryptoanalizie klasycznej
12 / 23
Kryptoanaliza
Operatory krzyżowania
Operatory krzyżowania
W krzyżowaniu OX, punkty przecięcia, muszą znajdować się na tych samych
pozycjach w każdym rodzicu. W ten sposób powstaje podtrasa, która zostanie
przeniesiona do potomka. Następnie, zaczynając od drugiego punktu przecięcia,
kopiuje się, zgodnie z kolejnością, brakujące geny, do przeciwległego potomka.
W modyfikacji OX4 punkty przecięcia mogą znajdować się na różnych pozycjach
w chromosomie. Wybrane podtrasy mogą różnić się od siebie długościami. Proces
kopiowania brakujących genów pozostaje taki sam jak w krzyżowaniu OX.
Kamil Dworak
Zastosowanie AE w kryptoanalizie klasycznej
13 / 23
Badania
Parametry
Badania - parametry
Wszystkie algorytmy (włącznie z wcześniej zaproponowanym atakiem) zostały
zaimplementowane w języku C# oraz przetestowane na tym samym komputerze,
wyposażonym w procesor o taktowaniu 3.4GHz oraz 8GB pamięci RAM. Ze
względu na zmieniającą się długość klucza w kolejnych testach, zdecydowano się
na manipulację rozmiarem populacji. Pozostałe parametry:
Warunek stopu
Prawdopodobieństwo krzyżowania
Prawdopodobieństwo mutacji
β, γ
Ograniczenie czasowe do 5 min.
0.7
0.25
0.5
Przetestowane porcje tekstu jawnego zostały napisane w języku angielskim. Ich
długość nie przekraczała 4000 znaków. Zostało przetestowanych 30 różnych
szyfrogramów z różnymi kluczami deszyfrującymi.
Kamil Dworak
Zastosowanie AE w kryptoanalizie klasycznej
14 / 23
Badania
Porównanie ataków
Porównanie ataków (poprzedni atak oraz OX)
Zdecydowano się wybrać tylko kilka testów dla każdego z algorytmów. Wyniki
uzyskane przez poprzednio zaprezentowany atak są następujące:
ID
N
KL
Ff (MAX )
Ff (MIN)
Ff (Mediana)
Iteracja
Czas
10
14
17
24
29
300
400
450
600
1000
11
13
15
17
19
4160
4336
3919
3984
3880
3057
3054
3055
3049
3058
3660
3700
3444
3380
3383
9
9
16
25
26
00:28
00:39
01:15
02:05
03:50
Wyniki otrzymane przez atak ewolucyjny z krzyżowaniem OX:
ID
N
KL
Ff (MAX )
Ff (MIN)
Ff (Mediana)
Iteracja
Czas
10
14
17
24
29
300
350
400
500
600
11
13
15
17
19
4620
4587
4190
4025
3737
3057
3054
3055
3049
3058
3900
3720
3590
3237
3238
9
11
16
21
37
00:27
00:32
01:06
01:36
03:22
ID - identyfikator testu,
N - rozmiar populacji,
KL - długość klucza,
Ff (MIN)/Ff (MAX ) - najlepsza i najgorsza wartość funkcji przystos. w populacji,
Ff (Mediana) - mediana osobników w populacji.
Kamil Dworak
Zastosowanie AE w kryptoanalizie klasycznej
15 / 23
Badania
Porównanie ataków
Wykresy zbieżności (poprzedni atak oraz OX)
Wykresy zbieżności dla testu 29: poprzedni atak (po lewej) oraz OX (po prawej)
Kamil Dworak
Zastosowanie AE w kryptoanalizie klasycznej
16 / 23
Badania
Porównanie ataków
Porównanie ataków (poprzedni atak, OX i OX4)
Wyniki z poprzednio zaprezentowanego ataku zostały przedstawione poniżej:
ID
N
KL
Ff (MAX )
Ff (MIN)
Ff (Mediana)
Iteracja
Czas
10
14
17
24
29
300
400
450
600
1000
11
13
15
17
19
4160
4336
3919
3984
3880
3057
3054
3055
3049
3058
3660
3700
3444
3380
3383
9
9
16
25
26
00:28
00:39
01:15
02:05
03:50
Rezultaty otrzymane za pomocą ataku ewolucyjnego z krzyżowaniem OX:
ID
N
KL
Ff (MAX )
Ff (MIN)
Ff (Mediana)
Iteracja
Czas
10
14
17
24
29
300
350
400
500
600
11
13
15
17
19
4620
4587
4190
4025
3737
3057
3054
3055
3049
3058
3900
3720
3590
3237
3238
9
11
16
21
37
00:27
00:32
01:06
01:36
03:22
Wyniki uzyskane z wykorzystaniem ataku ewolucyjnego z krzyżowaniem OX4:
ID
N
KL
Ff (MAX )
Ff (MIN)
Ff (Mediana)
Iteracja
Czas
10
14
17
24
29
150
300
400
400
400
11
13
15
17
19
4439
4491
4160
4360
4060
3057
3054
3055
3049
3058
3818
3705
3640
3680
3440
10
13
14
18
21
00:16
00:33
00:56
01:12
01:30
Kamil Dworak
Zastosowanie AE w kryptoanalizie klasycznej
17 / 23
Badania
Porównanie ataków
Wykresy zbieżności (OX oraz OX4)
Wykresy zbieżności dla testu 29: krzyżowanie OX (po lewej) , krzyżowanie OX4
(po prawej).
Kamil Dworak
Zastosowanie AE w kryptoanalizie klasycznej
18 / 23
Wnioski
Wnioski
Liczba sprawdzonych kluczy dla wszystkich algorytmów:
P
P
P
ID
KU1
K U2
1
2
3
10
14
17
24
29
1800
3600
7200
15000
26000
1800
3850
6400
10500
22200
1500
3900
5600
7200
9200
100%
107%
89%
70%
85%
83%
108%
78%
48%
35%
where:
ID - identyfikator testu,
P
P1 - całkowity koszt dla poprzednio zaproponowanego ataku,
P2 - całkowity koszt dla krzyżowania OX,
3 - całkowity koszt dla krzyżowania OX4,
KU1 - procentowe zużycie kluczy względem poprzedniego ataku i OX,
KU2 - procentowe zużycie kluczy względem poprzedniego ataku i OX4.
Kamil Dworak
Zastosowanie AE w kryptoanalizie klasycznej
19 / 23
Wnioski
Wnioski
Przestawione wcześniej wyniki badań jednoznacznie udowadniają, że
AE mogą bez wątpienia być wykorzystywane w kryptoanalizie
klasycznej,
Rozwiązania dotyczące takich problemów optymalizacyjnych, jak
np. TSP, mogą znaleźć zastosowanie w całkiem innych dziedzinach
wiedzy, jak np. kryptologia,
Modyfikacje wcześniej zaproponowanego ataku wykorzystują mniejsze
nakłady kluczy oraz znajdują idealne rozwiązanie w krótszym czasie.
Kamil Dworak
Zastosowanie AE w kryptoanalizie klasycznej
20 / 23
Plany na przyszlość
Plany na przyszlość
Można by sprawdzić, jak algorytm zachowałby się dla bardziej
zaawansowanych operatorów krzyżowania, takich jak
EX (ang. Edge Crossover) czy EAX (ang. Edge Assembly Crossover),
Kolejne badania poświęcone modyfikacji operatora mutacji mogłyby
polepszyć jakość otrzymywanych wyników, niż te, które dotychczas
uzyskano,
Jest to właściwy moment, aby przejść z kryptografii klasycznej na
współczesną, stosowaną w dzisiejszej branży informatycznej.
AE otwierają nowe możliwości dla dalszych badań, co niewątpliwie
pozwala wyznaczyć kierunek dalszych prac w tej dziedzinie nauki.
Kamil Dworak
Zastosowanie AE w kryptoanalizie klasycznej
21 / 23
Plany na przyszlość
Bibliografia
Alba E., Cotta C.
Evolutionary Algorithms
Chapman & Hall/CRC. Boca Raton (2006)
Clark A.J.
Optimisation Heuristics for Cryptology
PhD thesis, Information Research Centre Faculty of Information Technology Queensland
(1998)
Delman B.
Genetic Algorithms in Cryptography
Rochester Institute of Technology. Rochester, New York (2004)
Goldberg D.E.
Genetic Algorithms in Search Optimization, and Machine Learning
Addison-Wesley, Boston (1989)
Toemeh R., Arumugam S.
Breaking Transposition Cipher with Genetic Algorithm
ISSN 1392-1215 Electronics and electrical engineering (2007). No.7 (79)
Kamil Dworak
Zastosowanie AE w kryptoanalizie klasycznej
22 / 23
Plany na przyszlość
Dziekuję za uwagę.
Kamil Dworak
[email protected]
Kamil Dworak
Zastosowanie AE w kryptoanalizie klasycznej
23 / 23

Podobne dokumenty