320 likes | 493 Views
Horst Feistel 1915-1990 Německo, USA IBM. Feistlovy kryptos ystémy . Posuvné registry Lucifer DES, AES. Posuvné registry . Blok bitů – délka 2n Klíč – posloupnost k funkcí f 1 , f 2 ,…, f k {0,1} n → {0,1} n , k – hlou b ka kl íč e. Posuvné registry, šifrování.
E N D
Horst Feistel 1915-1990 Německo, USA IBM Feistlovy kryptosystémy Posuvné registry Lucifer DES, AES
Posuvné registry • Blok bitů – délka 2n • Klíč – posloupnost k funkcí f1, f2,…, fk{0,1}n → {0,1}n , k – hloubka klíče
Posuvné registry, šifrování • (m0, m1) = X • mi+1 = mi-1+fi(mi) • Y = (mk,mk+1)
Posuvné registry, dešifrování • (mk,mk+1) = Y • mi-1 = mi+1+fi(mi) • X = (m0, m1)
Příklad šifrování • Délka bloku 2n=8, hloubka klíče k=2 • f1: permutace (1234) → (2143) • f2: funkce (1234) → (1124)
Příklad šifrování • X = (01000001) • m0 = (0100), m1 = (0001) • m2= m0+ f1(m1)=(0100)+ f1(0001)=(0100)+(0010)=(0110) • m3= m1+ f2(m2)=(0001)+ f2(0110)=(0001)+(0010)=(0011) • Y = (01100011)
Dešifrování • Y = (01100011) • m2 = (0110), m3 = (0011) • m1= m3+ f2(m2)=(0011)+ f2(0110)=(0011)+(0010)=(0001) • m0= m2+ f1(m1)=(0110)+ f1(0001)=(0110)+(0010)=(0100) • X = (01000001)
Počet klíčů • Počet funkcí {0,1}n → {0,1}n je F = (2n) 2n • Počet klíčů je Fk • V našem případě n=4, k=2, 2n=16, F=1616=18446744073709600000 • Počet klíčů 184467440737096000002 = 340282366920938000000000000000000000000
DES, šifrování a dešifrování • Délka bloku 2n = 64, • Hloubka klíče K = 16 • Počet klíčů 256 = 72057594037927900 ~ 7*1016 • Při 100 000 000 klíčích/sec: 7*108 sekund ~ 22 let • Prolomeno v roce 1999 • 216
AES • Počet klíčů 264 ~ 1.8*1019 • Za stejných podmínek je pro vyluštění třeba 1,8*1011s ~ 5707 let
Distribuce klíčů D-H *1976 Whitfield Diffie *1944 Martin Hellban *1945 Massachusetts Institute of Technology (Boston) Protokol SSL
Metoda Diffie Hellman • Použiji jednosměrnou funkci f(x)=px mod q p,q jsou velká prvočísla. • Uživatel A zvolí tajný klíč t, uživatel B tajný klíč s. • Uživatel A spočítá f(t) = pt mod q = α a pošle • Uživatel B spočítá f(s) = ps mod q = β a pošle
Metoda Diffie Hellman • A spočítá βt mod q = pst mod q = K. • B spočítá αs mod q = pts mod q = K. • K se použije jako klíč pro jednorázovou šifru (např. DES)
RSA šifra *1977 • Ronald Rivest *1947 Leonard Adelman *1945 Adi Shamir *1952 University of Southern California, Los Angeles Protokol PGP
RSA šifra • Dvě prvočísla p,q • Šifrovací modul N=p.q • Dešifrovací exponent t nesoudělný s N • Φ(N)=(p-1).(q-1) • s je řešení kongurence s.t mod Φ(N)=1 • Veřejný klíč: N,s • Tajný klíč: p,q, Φ(N), t
RSA šifra • Šifrovací zobrazení y=xs mod N • Dešifrovací zobrazení x=yt mod N • xst mod N = xkΦ(N)+1 mod N = 1k.x mod N = x
Příklad • p=7, q=13 • N=91, Φ(N)=6.12=72 • t=7 • s.7 mod 72 = 1, s=31 • Veřejný klíč s=31, N=91, y=x31mod 91 • Tajný klíč t=7, p=7, q=13, Φ(N)=72, x=y7 mod 91
Příklad • x=24 • y= x31mod 91= 2431mod 91 = (2416mod 91). (248mod 91). (244mod 91). (242mod 91). (241mod 91) = 24.30.81.9.81mod 91= 42515280 mod 91 = 80 • x = 807 mod 91= (801 mod 91). (802 mod 91). (804 mod 91) = 80.30.81 mod 91 = 24
Elektronický podpis • X=yt mod N, y =xs mod A • y=yst mod N = y
Hybridní kryptosystémy • Symetrická šifra – bezpečná, rychlá, nutná výměna klíčů • Asymetrická šifra – není nutná výměna klíčů, pomalá
Hybridní kryptosystémy • Text se zašifruje symetrickou šifrou s náhodným klíčem • Klíč se zašifruje asymetrickou šifrou
Symetrické šifry • Všechny dnes používané jsou založené na Feistlově principu • DES,AES,3DES • IDEA (International Data Encryptin Algorithm, 1991), pro nekomerční účely volně šiřitelný algoritmus, Xuejia Lai, Švýcarsko
Asymetrické šifry • (McEllis) • RSA • DSA (Digital Signature Algorithm) • Diffie Hellman
Elektronický podpis • Ze zprávy se vytvoří otisk pomocí otiskové (Hešovací, hash) funkce • Otisk se zašifruje tajným klíčem • Otisk se pošle spolu se zprávou • Bob z přijaté zprávy vytvoří pomocí téže funkce otisk • Přijatý otisk dešifruje pomocí veřejného klíče • Oba otisky porovná
Hešovací (otiskovací funkce) • Jednocestná funkce • Je snadné pro danou zprávu spočítat otisk • Je obtížné z daného otisku rekonstruovat zprávu • Jakkoli dlouhá zpráva vytvoří otisk stejné délky (obvykle 64 bitů) • Lokální nestabilita • Malá změna vstupních dat způsobí velkou změnu otisku • Odolnost vůči kolizi • Je obtížné najít dvě zprávy se stejným otiskem
Hešovací funkce • MD5 (Message Digest, 1991, R.Rivest) – částečně prolomena v roce 2004 • SHA (Secure Hash algorithm) • SHA 0, 1993, nepoužilo se • SHA 1, 1995, v roce 2005 zveřejněn algoritmus pro nalezení kolize, který vyžaduje prošetřit 280 variant • SHA 2 (SHA-224, SHA-256, SHA-384,SHA-512),1999, považováno za standard • SHA 3, 2007
PGP – Pretty Good PrivacyPhill Zimmermann 1991 • Symetrická šifra: IDEA, DES, AES • Asymetrická šifra: RSA • Hešovací funkce: MD5, SHA • Autorizace: DSA • Generování klíčů pro RSA (seznam Carmichaelových čísel) • Evidence klíčů
PGP – Evidence klíčů • ID • Jméno uživatele • Veřejný klíč (N,s) • Další informace o uživateli (adresa, fotka, …) • Podpis autorizační agentury • Odkaz na agenturu
Protokol SSH,SSL • Podání rukou (handshake) • Klient pošle serveru požadavek na spojení • Server odešle veřejný klíč a certifikát • Klient ověří certifikát, vygeneruje svůj tajný klíč a odešle číslo alfa • Server vygeneruje tajný klíč a odešle číslo beta • Klient a server si vzájemně potvrdí existenci klíče pro symetrickou šifru • Probíhá šifrovaná komunikace domluvenou symetrickou šifrou