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