Szyfry blokowe z wykorzystaniem chaosu dyskretnego Michał Łazicki 1
Agenda Szyfry blokowe opis oraz wymagania konstrukcyjne Teoria chaosu podstawowe pojęcia Zastosowania dyskretnych układów dynamicznych z własnością chaosu do budowy szyfrów blokowych Michał Łazicki 2
Co to jest szyfr blokowy? Strumień informacji (bitów) dzielony na bloki o skończonej długości Szyfrowanie przekształcenie bloku bitów (tekst odkryty) w inny blok bitów o tej samej długości (szyfrogram) Formalnie: l l F K( ) :{0,1} {0,1 } Michał Łazicki 3
Wymagania dla szyfrów blokowych Funkcja F powszechnie znana Legalny użytkownik powinien łatwo wykonywać operację szyfrowania F K i odszyfrowania F K -1 o ile zna tajny klucz K Potencjalny przeciwnik ma trudności z: szyfrowaniem i deszyfrowaniem, gdy nie zna klucza K znalezieniem klucza na podstawie pary tekstów: odkryty i zaszyfrowany uzyskaniem jakiejkolwiek informacji na podstawie znajomości tekstu zaszyfrowanego. Michał Łazicki 4
Budowa szyfru blokowego Funkcja F K n-krotne złożenie pewnego przekształcenia f Ki nazywanego funkcją rundową K i klucze rundowe otrzymane z klucza K i = 1,, n numer rundy Funkcja rundowa f Ki złożona z: operacji nieliniowych, czyli podstawień operacji liniowych, czuli permutacji Michał Łazicki 5
Wymagania konstrukcyjne Mieszanie i rozpraszanie Lawinowość i zupełność Dyfuzja i konfuzja Michał Łazicki 6
Mieszanie i rozpraszanie Mieszanie losowe i równomierne rozprowadzanie wiadomości tekstu jawnego po zbiorze wiadomości tekstu zaszyfrowanego Rozpraszanie bity znajdujące się obok siebie przed wejściem do rundy, po wyjściu z tej rundy wpływają na bity odległe od siebie (każdy bit wejściowy wpływa na wiele bitów wyjściowych) Michał Łazicki 7
Lawinowość i zupełność Lawinowość zmiana jednego bitu na wejściu rundy wywołuje zmianę co najmniej dwóch bitów na wyjściu rundy Zupełność każdy bit bloku wyjściowego jest skomplikowaną funkcją wszystkich bitów bloku wejściowego Michał Łazicki 8
Dyfuzja i konfuzja Dyfuzja rozmycie wszelkich związków pomiędzy bitami tekstu jawnego lub klucza w całym bloku Miarą dyfuzji jest prawdopodobieństwo aproksymacji różnicowej DP Konfuzja maksymalne wymieszanie bitów bloku klucza z bitami bloku tekstu szyfrowanego i uczynienie ich związku skomplikowanym Miarą konfuzji jest prawdopodobieństwo aproksymacji liniowej LP Michał Łazicki 9
Teoria chaosu Dział matematyki zajmujący się opisem układów zdeterminowanych, które jednak zachowują się w sposób kapryśny, nieprzewidywalny i na pozór przypadkowy Dla pewnych wartości parametrów równania zachowują się chaotycznie, podczas gdy dla pozostałych - regularnie Michał Łazicki 10
Teoria chaosu pojęcia (1/4) Dyskretny układ dynamiczny para (X, φ) : X przestrzeń stanów (przestrzeń metryczna) φ ciągłe odwzorowanie z X do X Trajektoria (startująca z punkt x 0 ) ciąg elementów X uzyskanych przez iteracje: x n+1 = φ(x n ) lub x n = φ n (x 0 ) Michał Łazicki 11
Teoria chaosu pojęcia (2/4) Niestabilność wrażliwość na warunki początkowe ( efekt motyla ) Matematycznie: dodatni wykładnik Lapunowa Cecha systemu niestabilnego to wykładniczy wzrost między sąsiednimi punktami przestrzeni fazowej x n+1 = ax n => po n krokach otrzymujemy zależność: x n+1 = a n x 0 = x 0 e nlna lna pokazuje, jak zmienia się odległość między punktami Michał Łazicki 12
Teoria chaosu pojęcia (3/4) Ergodyczność przestrzeń stanów X nie może być nietrywialnie (względem miary μ) podzielona na kilka części Trajektoria startująca z dowolnego x 0 X nigdy nie lokalizuje się w pewnym podzbiorze przestrzeni X Michał Łazicki 13
Teoria chaosu pojęcia (4/4) Mieszanie własność silniejsza niż ergodyczność, bardzo silnie przekształca każdy wybrany na początku obszar przestrzeni X i rozprowadza go po całej przestrzeni nie zmieniając jego miary. Układ jest mieszający, gdy startując z dowolnego x 0 X, w wyniku iteracji osiągamy dowolny podzbiór X z prawdopodobieństwem proporcjonalnym do rozmiaru tego zbioru w całej przestrzeni stanów. Michał Łazicki 14
Ergodyczność, a mieszanie (1/2) Odwzorowanie x n+1 = x n + a (mod 1), gdzie 0 < a < 1 Dla liczby niewymiernej a trajektoria rozpoczynająca się z dowolnego punktu x 0 nie jest okresowa i w nieskończoności pokrywa ona gęsto cały przedział => ruch ergodyczny Jest to układ stabilny odległość między punktami nie zmienia się. Michał Łazicki 15
Ergodyczność, a mieszanie (2/2) Odwzorowanie x n+1 = 2x n (mod 1), gdzie 0 < a < 1 Dla liczby niewymiernej x 0 trajektoria rozpoczynająca się z tego punktu będzie gęsta na całym przedziale Ruch niestabilny punkty będą się rozbiegać wykładniczo z czasem, jednakże miara jest zachowana W konsekwencji układ jest mieszający Michał Łazicki 16
Odwzorowanie logistyczne (1/2) x n+1 = rx n (1-x n ) na odcinku jednostkowym [0,1] Dla wartości r [0,4] odwzorowanie przeprowadza odcinek jednostkowy w siebie Dla różnych wartości r, układ generuje różne trajektorie 0<r 1 wszystkie ciągi x 1, x 2,,x n zbiegają do zera 1<r 3 punkt 1-1/r jest atraktorem zbiegają do niego wszystkie ciągi x 1, x 2,,x n r>3 atraktor staje się wielopunktowy Michał Łazicki 17
Odwzorowanie logistyczne (2/2) Michał Łazicki 18
Transformacja piekarza (1/2) Najprostszy dwuwymiarowy układ chaotyczny, przekształcający pole figury Figura jest rozciągana dwukrotnie w poziomie, a ściskana do połowy w pionie, następnie rozcinana na 2 połowy i umieszcza się prawą połowę nad lewą x n+1 = 2x n (mod 1) y n+1 = 0,5y n dla 0 x n 0,5 y n+1 = 0,5 + 0,5y n dla 0,5<x n 1 Michał Łazicki 19
Transformacja piekarza (2/2) Michał Łazicki 20
Szyfry blokowe oparte o chaos Trajektoria przypomina funkcję F K szyfru blokowego zbudowanego z n rund Trajektorie są bardzo wrażliwe na zmiany stanu początkowego => rozpraszanie, lawinowość lub dyfuzja w konstrukcji szyfrów blokowych Mieszanie układu dynamicznego to warunek mieszania w konstrukcji szyfrów blokowych Michał Łazicki 21
Michał Łazicki 22 Pierwszy szyfr blokowy w oparciu o chaos dyskretny (1/5) Propozycja Toshiki Habutsu na konferencji EUROCRYPT 91 Wykładnik Lapunowa dla danego α: λ = -αlogα (1 α)log(1 α) < = = + + 1 1 1 0 : 1 1 n n n n n n x dla x x x dla x x F α α α α
Pierwszy szyfr blokowy w oparciu o chaos dyskretny (2/5) Odwzorowanie odwrotne ma postać: F 1 xn : lub xn 1 1 = αx n = ( α 1) x n + 1 Odwzorowania F i F -1 mają właściwości: F jest odwzorowaniem 2:1 F -1 jest odwzorowaniem 1:2 F n jest odwzorowaniem 2 n :1 F -n jest odwzorowaniem 1:2 n Michał Łazicki 23
Pierwszy szyfr blokowy w oparciu o chaos dyskretny (3/5) Dla każdego n i dla każdego x X = [0,1] spełniona jest równość: X = F n (F -n (X)) Tajnym kluczem jest parametr α [0,1] Szyfrowaną wiadomością (blokiem) jest liczba P [0,1] Szyfrowanie: Deszyfrowanie: C=F -n (P)=F -1 (F -1 ( F -1 (P))) P=F n (C)=F(F ( F(C))) Michał Łazicki 24
Pierwszy szyfr blokowy w oparciu o chaos dyskretny (4/5) Wartość kryptogramu może przyjmować jedną z 2 n wartości. Dla dowolnie wybranego kryptogramu C wiadomość P jest odtwarzana jednoznacznie Michał Łazicki 25
Pierwszy szyfr blokowy w oparciu o Zalety: chaos dyskretny (5/5) Bezpieczeństwo szyfru oparte na ścisłej teorii matematycznej: teorii dyskretnych w czasie układów dynamicznych z własnością chaosu Wady: Nieodporny na różne rodzaje ataków, m. in. atak wybranym szyfrogramem, atak wybranym tekstem jawnym Operuje na liczbach rzeczywistych, zatem wynik obliczeń zależy od implementacji sprzętowej Michał Łazicki 26
Discrete Chaotic Cryptography DCC (1/7) Twórcy: Z. Kotulski i J. Szczepański Uogólnienie pomysłu T. Habutsu Tajny klucz jest związany z warunkami początkowymi układu (a nie z parametrem układu) Michał Łazicki 27
Discrete Chaotic Cryptography DCC (2/7) Tekst jawny: P (0,1) Tajny klucz: k Szyfrowanie: C=φ -n (P)= φ -1 (φ -1 ( φ -1 (P))) Deszyfrowanie: P= φ n (C)= φ(φ ( φ(p))) Michał Łazicki 28
Discrete Chaotic Cryptography DCC (3/7) Przykład systemu opartego na układzie dynamicznym opisującym ruch cząstki w pudle podlegającej szczególnemu prawu odbicia Ruch cząstki może być opisany przez 2 współrzędne: pozycję x n oraz kąt v n Michał Łazicki 29
Discrete Chaotic Cryptography DCC (4/7) Definiujemy prawo odbicia dla naszego systemu: T D : (0,π) (0,π) T D (v inc ) = v ref Mapa T D powinna mieć własności mieszania i chaosu Michał Łazicki 30
Discrete Chaotic Cryptography DCC (5/7) Ruch cząstki opisywany jest przez dwuwymiarowe odwzorowanie: F TD : [0,L) x (0, π) [0,L) x (0, π) F TD (x n, v n ) = (x n+1, v n+1 ) Przekształcenie F TD musi mieć właściwość, że transformacja drugiej współrzędnej jest całkowicie niezależna od pierwszej Michał Łazicki 31
Discrete Chaotic Cryptography DCC (6/7) W takim systemie kluczem K jest początkowa wartość współrzędnej kąta, czyli v 0 Pierwsza współrzędna, czyli x 0 jest blokiem tekstu jawnego Michał Łazicki 32
Discrete Chaotic Cryptography DCC (7/7) System ten, podobnie jak poprzedni operuje na liczbach rzeczywistych Żeby poprawnie zdeszyfować wiadomość to szyfrogram musi mieć znacznie więcej bitów niż tekst jawny Konkretne obliczenia mogą być wykonywane różnie, w zależności od implementacji sprzętowej Michał Łazicki 33
Szyfrowanie obrazów (1/4) Twórca: J.Fridrich Wykorzystanie dwuwymiarowego przekształcenia chaotycznego do zaszyfrowania obrazu komputerowego o rozmiarze N x N Zastosowano uogólnioną transformację piekarza do utworzenia przekształcenia chaotycznego Michał Łazicki 34
Szyfrowanie obrazów (2/4) Utworzenie dyskretnego przekształcenia transformacji piekarza sprowadza się do permutacji bloku pikseli wg danego schematu Michał Łazicki 35
Szyfrowanie obrazów (3/4) po 1 iteracji po 9 iteracjach Michał Łazicki 36
Szyfrowanie obrazów (4/4) Wprowadzenie elementu nieliniowego do szyfru uzyskujemy poprzez rozszerzenie przekształcenia do 3 wymiarów: podstawienie za piksele innych odcieni szarości po 1 iteracji po 9 iteracjach Michał Łazicki 37
Szyfr blokowy z S-boxami (1/9) Twórcy: L. Kocarev, G. Jakimoski, G. Rizzotto, P. Amato Propozycja budowy klasy szyfrów z użyciem S-boxów wygenerowanych przy pomocy chaotycznych układów dynamicznych Michał Łazicki 38
Szyfr blokowy z S-boxami (2/9) Propozycja szyfru: Dane wejściowe: blok bitów o długości 64 bitów Klucz: blok bitów o długości 128 bitów Dane wyjściowe: blok bitów o długości 64 bitów Liczba rund: r Michał Łazicki 39
Szyfr blokowy z S-boxami (3/9) Generacja kluczy rundowych: K klucz: K=K 0 K 1 K 15 K i,k+1 =K i-1,k f k-1 [K i-1,1,, K i-1,k-1,c k-1 ] z i klucz i-tej rundy, z i =RH(K i ) gdzie: i=1,,r k=1,,16 f 0 =c 0, K i,16 =K i,0, K i,17 =K i,1 c 0,...,c 15 stała liczba f k-1 [K i-1,1,, K i-1,k-1,c k-1 ] = f k-1 [K i-1,1 K i-1,k-1 c k-1 ] RH funkcja, która zwraca prawą połowę klucza K i Michał Łazicki 40
Szyfr blokowy z S-boxami (4/9) Szyfrowanie: X dane wejściowe: X=X 0 X 1 X 7 X i,k+1 =X i-1,k f k-1 [X i-1,1,, X i-1,k-1,z i,k-1 ] gdzie: i=1,,r k=1,,8 f 0 =z i,0, X i,8 =X i,0, X i,9 =X i,1 z i klucz i-tej rundy f k-1 [X i-1,1,, X i-1,k-1,z i,k-1 ] = f k-1 [X i-1,1 X i-1,k-1 z i,k-1 ] Michał Łazicki 41
Szyfr blokowy z S-boxami (5/9) Runda szyfrowania danych Michał Łazicki 42
Szyfr blokowy z S-boxami (6/9) Deszyfrowanie: X dane wejściowe: X=X 0 X 1 X 7 X i-1,k =X i,k+1 f k-1 [X i-1,1,, X i-1,k-1,z i,k-1 ] gdzie: i=r,,1 k=1,,8 f 0 =z i,0, X i,8 =X i,0, X i,9 =X i,1 z i klucz i-tej rundy f k-1 [X i-1,1,, X i-1,k-1,z i,k-1 ] = f k-1 [X i-1,1 X i-1,k-1 z i,k-1 ] Michał Łazicki 43
Szyfr blokowy z S-boxami (7/9) Propozycja (1) generacji S-boxów przy użyciu chaotycznych układów dynamicznych: x funkcja x = a n (mod1) n+ 1 skrzynka podstawieniowa tworzona poprzez operacje: y a i (mod 257) dla y < 256 f ( y j ) 0 dla y = 256 y j = x 1 x j z j a jest liczbą naturalną, generatorem grupy Michał Łazicki 44
Szyfr blokowy z S-boxami (8/9) Propozycja (2) generacji S-boxów przy użyciu chaotycznych układów dynamicznych: 4x (1 x odwzorowanie logistyczne: n+ 1 n n Procedura generacji S-boxa o m wartościach: 1. Dzielimy przestrzeń stanów na n+1>me obszarów i każdemu z obszarów przypisujemy liczbę od 0 do n 2. Punkt w obszarze i ma wartość i 3. Wybieramy losowo z każdego obszaru punkt i poddajemy go N przekształceniom 4. Znajdujemy zbiór punktów startowych S, które mają unikalny obraz (tzn. do jednego przedziału wpada tylko jeden punkt) oraz wybieramy podzbiór A o m elementach 5. Przypisujemy mu nowe wartości od 0 do m-1 i tak samo ich obrazom, zachowując porządek starych wartości x = ) Michał Łazicki 45
Szyfr blokowy z S-boxami (9/9) S-box wygenerowany dla N=1000 i n=767 (#S=259) Michał Łazicki 46
Podsumowanie Układ chaotyczny posiada doskonałe właściwości z punktu widzenia kryptografii Dyskretyzacja układów chaotycznych jest trudna Obliczenia matematyki chaotycznej są skomplikowane i długie Generacja skrzynek podstawieniowych przy pomocy chaosu wydaje się być ciekawym rozwiązaniem Michał Łazicki 47
Literatura T. Habutsu, Y. Nishio, I. Sasase and S. Mori, A secret key cryptosystem by iterating chaotic map, in Proc. EUROCRYPT 91, LNCS, vol. 547, pp. 127 140, 1991 Z.Kotulski, J.Szczepański, K.Górski, A.Paszkiewicz, A.Zugaj, Application of discrete chaotic dynamical systems in cryptography - DCC method, International Journal of Bifurcation and Chaos. Vol. 9, No. 6, pp. 1121-1135, (1999). J. Fridrich, Symmetric ciphers based on two-dimensional chaotic maps, Int. J. Bifurcation and Chaos, Volume 8, Issue 6, Pages: 1259 1284, 1998. G.Jakimoski and L.Kocarev, Chaos and cryptography: Block encryption ciphers based on chaotic maps, IEEE Transactions on Circuits and Systems I (2001), 48(2), 163-169 L. Kocarev, Chaos-based cryptography: a brief overview, IEEE Circuits Syst. Magazine, vol. 1, pp. 6 21, 2001 Z. Kotulski, Budowanie szyfrów blokowych: nowe możliwości, Matematyka Stosowana, 4 (45), str. 1-24, (2003) Classical and Quantum Chaos, http://chaosbook.org/ Michał Łazicki 48
Dziękuję za uwagę. Michał Łazicki 49