Szyfry blokowe z wykorzystaniem chaosu...
Transcript of Szyfry blokowe z wykorzystaniem chaosu...
Michał Łazicki 1
Szyfry blokowe z wykorzystaniem chaosu dyskretnego
Michał Łazicki 2
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 3
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:ll
KF }1,0{}1,0{:)( →⋅
Michał Łazicki 4
Wymagania dla szyfrów blokowych
• Funkcja F powszechnie znana• Legalny użytkownik powinien łatwo wykonywać
operację szyfrowania FK i odszyfrowania FK-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 5
Budowa szyfru blokowego
• Funkcja FK – n-krotne złożenie pewnego przekształcenia fKi nazywanego funkcją rundową– Ki – klucze rundowe otrzymane z klucza K– i = 1,…, n – numer rundy
• Funkcja rundowa fKi złożona z:– operacji nieliniowych, czyli podstawień– operacji liniowych, czuli permutacji
Michał Łazicki 6
Wymagania konstrukcyjne
• Mieszanie i rozpraszanie• Lawinowość i zupełność• Dyfuzja i konfuzja
Michał Łazicki 7
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 8
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 9
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 10
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 11
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 x0) – ciąg elementów X uzyskanych przez iteracje:
xn+1 = φ(xn) lub xn = φn(x0)
Michał Łazicki 12
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– xn+1 = axn => po n krokach otrzymujemy zależność:
xn+1 = anx0 = x0enlna
– lna – pokazuje, jak zmienia się odległość między punktami
Michał Łazicki 13
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 x0 ∈ X nigdy nie
lokalizuje się w pewnym podzbiorze przestrzeni X
Michał Łazicki 14
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
x0 ∈ 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 15
Ergodyczność, a mieszanie (1/2)
• Odwzorowanie xn+1 = xn + a (mod 1), gdzie 0 < a < 1
• Dla liczby niewymiernej a trajektoria rozpoczynająca się z dowolnego punktu x0 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 16
Ergodyczność, a mieszanie (2/2)
• Odwzorowanie xn+1 = 2xn (mod 1), gdzie 0 < a < 1
• Dla liczby niewymiernej x0 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 17
Odwzorowanie logistyczne (1/2)
• xn+1 = rxn(1-xn) 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 x1, x2,…,xn zbiegają do zera– 1<r≤3 – punkt 1-1/r jest atraktorem – zbiegają do
niego wszystkie ciągi x1, x2,…,xn
– r>3 – atraktor staje się wielopunktowy
Michał Łazicki 18
Odwzorowanie logistyczne (2/2)
Michał Łazicki 19
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ą
xn+1 = 2xn (mod 1)yn+1 = 0,5yn dla 0≤xn ≤0,5
yn+1 = 0,5 + 0,5yn dla 0,5<xn ≤1
Michał Łazicki 20
Transformacja piekarza (2/2)
Michał Łazicki 21
Szyfry blokowe oparte o chaos
• Trajektoria przypomina funkcję FK 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 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 – α)
⎪⎪⎩
⎪⎪⎨
⎧
≤<−−
=
≤≤=
+
+
111
0:
1
1
nn
n
nn
n
xdlaxx
xdlaxxF
αα
αα
Michał Łazicki 23
Pierwszy szyfr blokowy w oparciu o chaos dyskretny (2/5)
• Odwzorowanie odwrotne ma postać:
• Odwzorowania F i F-1 mają właściwości:– F jest odwzorowaniem 2:1– F-1 jest odwzorowaniem 1:2– Fn jest odwzorowaniem 2n:1– F-n jest odwzorowaniem 1:2n
⎪⎩
⎪⎨
⎧
+−=
=
−
−−
1)1(lub:
1
11
nn
nn
xx
xxF
α
α
Michał Łazicki 24
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 = Fn(F-n(X))
• Tajnym kluczem jest parametr α∈[0,1]• Szyfrowaną wiadomością (blokiem) jest liczba
P ∈[0,1]• Szyfrowanie:
C=F-n(P)=F-1(F-1 (… F-1(P)))• Deszyfrowanie:
P=Fn(C)=F(F (… F(C)))
Michał Łazicki 25
Pierwszy szyfr blokowy w oparciu o chaos dyskretny (4/5)
• Wartość kryptogramu może przyjmowaćjedną z 2n wartości.
• Dla dowolnie wybranego kryptogramu Cwiadomość P jest odtwarzana jednoznacznie
Michał Łazicki 26
Pierwszy szyfr blokowy w oparciu o chaos dyskretny (5/5)
• Zalety:– 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 27
Discrete Chaotic CryptographyDCC (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 28
Discrete Chaotic CryptographyDCC (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 29
Discrete Chaotic CryptographyDCC (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ę xn oraz kąt vn
Michał Łazicki 30
Discrete Chaotic CryptographyDCC (4/7)
• Definiujemy prawo odbicia dla naszego systemu:
TD: (0,π) → (0,π) TD(vinc) = vref
• Mapa TD powinna mieć własności mieszania i chaosu
Michał Łazicki 31
Discrete Chaotic CryptographyDCC (5/7)
• Ruch cząstki opisywany jest przez dwuwymiarowe odwzorowanie:
FTD: [0,L) x (0, π) → [0,L) x (0, π) FTD (xn, vn) = (xn+1, vn+1)
• Przekształcenie FTD musi mieć właściwość, że transformacja drugiej współrzędnej jest całkowicie niezależna od pierwszej
Michał Łazicki 32
Discrete Chaotic CryptographyDCC (6/7)
• W takim systemie kluczem K jest początkowa wartość współrzędnej kąta, czyli v0
• Pierwsza współrzędna, czyli x0 jest blokiem tekstu jawnego
Michał Łazicki 33
Discrete Chaotic CryptographyDCC (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 34
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 35
Szyfrowanie obrazów (2/4)
• Utworzenie dyskretnego przekształcenia transformacji piekarza sprowadza się do permutacji bloku pikseli wg danego schematu
Michał Łazicki 36
Szyfrowanie obrazów (3/4)
po 1 iteracji po 9 iteracjach
Michał Łazicki 37
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 38
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 39
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 40
Szyfr blokowy z S-boxami (3/9)
• Generacja kluczy rundowych:– K – klucz: K=K0K1…K15
– Ki,k+1=Ki-1,k⊕fk-1[Ki-1,1,…, Ki-1,k-1,ck-1]– zi – klucz i-tej rundy, zi=RH(Ki)– gdzie:
• i=1,…,r• k=1,…,16• f0=c0, Ki,16=Ki,0, Ki,17=Ki,1
• c0,...,c15 – stała liczba• fk-1[Ki-1,1,…, Ki-1,k-1,ck-1] = fk-1[Ki-1,1 ⊕… ⊕Ki-1,k-1 ⊕ ck-1]• RH – funkcja, która zwraca prawą połowę klucza Ki
Michał Łazicki 41
Szyfr blokowy z S-boxami (4/9)
• Szyfrowanie: – X – dane wejściowe: X=X0X1…X7
– Xi,k+1=Xi-1,k⊕fk-1[Xi-1,1,…, Xi-1,k-1,zi,k-1]– gdzie:
• i=1,…,r• k=1,…,8• f0=zi,0, Xi,8=Xi,0, Xi,9=Xi,1
• zi – klucz i-tej rundy• fk-1[Xi-1,1,…, Xi-1,k-1,zi,k-1] = fk-1[Xi-1,1 ⊕… ⊕Xi-1,k-1 ⊕ zi,k-1]
Michał Łazicki 42
Szyfr blokowy z S-boxami (5/9)Runda szyfrowania danych
Michał Łazicki 43
Szyfr blokowy z S-boxami (6/9)
• Deszyfrowanie: – X – dane wejściowe: X=X0X1…X7
– Xi-1,k=Xi,k+1⊕fk-1[Xi-1,1,…, Xi-1,k-1,zi,k-1]– gdzie:
• i=r,…,1• k=1,…,8• f0=zi,0, Xi,8=Xi,0, Xi,9=Xi,1
• zi – klucz i-tej rundy• fk-1[Xi-1,1,…, Xi-1,k-1,zi,k-1] = fk-1[Xi-1,1 ⊕… ⊕Xi-1,k-1 ⊕ zi,k-1]
Michał Łazicki 44
Szyfr blokowy z S-boxami (7/9)
• Propozycja (1) generacji S-boxów przy użyciu chaotycznych układów dynamicznych:– funkcja– skrzynka podstawieniowa tworzona poprzez operacje:
– yj= x1 ⊕… ⊕xj⊕ zj
– a jest liczbą naturalną, generatorem grupy
)1(mod1nx
n ax =+
⎩⎨⎧
=<
2560256)257(mod
)(ydlaydlaa
yfiy
j
Michał Łazicki 45
Szyfr blokowy z S-boxami (8/9)• Propozycja (2) generacji S-boxów przy użyciu
chaotycznych układów dynamicznych:– odwzorowanie logistyczne: – 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ść i3. Wybieramy losowo z każdego obszaru punkt i poddajemy go N
przekształceniom4. 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
)1(41 nnn xxx −=+
Michał Łazicki 46
Szyfr blokowy z S-boxami (9/9)S-box wygenerowany dla N=1000 i n=767 (#S=259)
Michał Łazicki 47
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 48
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 SystemsI (2001), 48(2), 163-169
• L. Kocarev, “Chaos-based cryptography: a brief overview”, IEEE CircuitsSyst. 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 49
Dziękuję za uwagę.