Šifrování pomocí počítačů
Colossus 1948 ENIAC
Šifrování pomocí počítačů Není třeba myslet na mechanickou realizaci stroje Rychlost Nešifruje se abeceda o 26 znacích, ale abeceda o 2 znacích.
Feistlovy kryptosystémy Posuvné registry Lucifer DES, AES Horst Feistel Německo, USA IBM
Posuvné registry Blok bitů – délka 2n Klíč – posloupnost k funkcí f 1, f 2,…, f k {0,1} n → {0,1} n, k – hloubka klíče
Posuvné registry, šifrování (m 0, m 1 ) = X m i+1 = m i-1 +f i (m i ) Y = (m k,m k+1 )
Posuvné registry, dešifrování (m k,m k+1 ) = Y m i-1 = m i+1 +f i (m i ) X = (m 0, m 1 )
Příklad šifrování Délka bloku 2n=8, hloubka klíče k=2 f 1 : permutace (1234) → (2143) f 2 : funkce (1234) → (1124)
Příklad šifrování X = ( ) m 0 = (0100), m 1 = (0001) m 2 = m 0 + f 1 (m 1 )=(0100)+ f 1 (0001)=(0100)+(0010)=(0110) m 3 = m 1 + f 2 (m 2 )=(0001)+ f 2 (0110)=(0001)+(0010)=(0011) Y = ( )
Dešifrování Y = ( ) m 2 = (0110), m 3 = (0011) m 1 = m 3 + f 2 (m 2 )=(0011)+ f 2 (0110)=(0011)+(0010)=(0001) m 0 = m 2 + f 1 (m 1 )=(0110)+ f 1 (0001)=(0110)+(0010)=(0100) X = ( )
Počet klíčů Počet funkcí {0,1} n → {0,1} n je F = (2 n ) 2 n Počet klíčů je F k V našem případě n=4, k=2, 2 n =16, F=16 16 = Počet klíčů =
Lucifer (1970) Délka bloku 2n=128, n=64 Hloubka klíče k=2 až 16 Funkce f 1,…,f 16 jsou odvozené z přičtení klíče K.
DES funkce f 1,…, f
Data Encryption Standard (1975) generování klíče
DES, šifrování a dešifrování Délka bloku 2n = 64, Hloubka klíče K = 16 Počet klíčů 2 56 = ~ 7*10 16 Při klíčích/sec: 7*10 8 sekund ~ 22 let Prolomeno v roce
TDES=3DES=TripleDES
AES Počet klíčů 2 64 ~ 1.8*10 19 Za stejných podmínek je pro vyluštění třeba 1,8*10 11 s ~ 5707 let
FEAL Fast Encipherment Algorithm Akihiro Shimizu Shoji Miyaguchi, 1987
FEAL Bloková šifra založená na Feistlově principu FEAL 4, délka bloku 64 bitů Hlouka klíče 4 funkce
Feistlovy funkce S 0 (X,Y)= LR2 (X+Y) S 1 (X,Y)= LR2 (X+Y+1)
Diferenciální kryptoanalýza Adi Shamir, 1987 T1, …, Tn vybrané texty S1,…, Sn zašifrovaná verze Si Sj diferenciál textů
Diferenciální kryptoanalýza, příklad Feistlův systém, délka bloku 4, 2 funkce – 1234 → 1114 – 1234 → 2223 Text –m0 = 0001, m1 = 1110 –m2 = m0 + f1(m1) = = 1111 –m3 = m1 + f2(m2) = = 0001 Šifrovaný text Diferenciál
Šifra DES Odolná vůči diferenciální kryptoanalýze (S-boxy)
FEAL FEAL 4 prolomen pomocí D.K ( dvojic textů) 1990: FEAL 4 prolomen pomocí 20ti párů textů 1988: FEAL 8. hloubka klíče : Adi Shamir, útok na FEAL 8 pomocí cca párů textů
FEAL 1990: – FEAL- N volitelná hloubka klíče – FEAL – NX, volitelná hloubka klíče, délka bloku 128 bitů 1992: Adi Shamir, popis útoku na FEAL N pro N<31,
IDEA Internation Data Encryption Algorithm (* 1991, Švýcarsko) Délka bloku 64bitů, hloubka klíče 2-16, délka klíče 128bitů Vystačí s aritmetickými operacemi –Sčítání modulo 2 16 –Bitová Non-ekvivalence – Násobení modulo Zatím nebyl nalezen útok pomocí diferenciální kryptoanalýzy