1 / 32

Feistlovy kryptos ystémy

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í.

chi
Télécharger la présentation

Feistlovy kryptos ystémy

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Horst Feistel 1915-1990 Německo, USA IBM Feistlovy kryptosystémy Posuvné registry Lucifer DES, AES

  2. Posuvné registry • Blok bitů – délka 2n • Klíč – posloupnost k funkcí f1, f2,…, fk{0,1}n → {0,1}n , k – hloubka klíče

  3. Posuvné registry, šifrování • (m0, m1) = X • mi+1 = mi-1+fi(mi) • Y = (mk,mk+1)

  4. Posuvné registry, dešifrování • (mk,mk+1) = Y • mi-1 = mi+1+fi(mi) • X = (m0, m1)

  5. Příklad šifrování • Délka bloku 2n=8, hloubka klíče k=2 • f1: permutace (1234) → (2143) • f2: funkce (1234) → (1124)

  6. 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)

  7. 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)

  8. 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

  9. DES funkce f1,…, f16 6 6

  10. Data Encryption Standard (1975)generování klíče

  11. 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

  12. 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

  13. Distribuce klíčů D-H *1976 Whitfield Diffie *1944 Martin Hellban *1945 Massachusetts Institute of Technology (Boston) Protokol SSL

  14. 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

  15. 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)

  16. RSA šifra *1977 • Ronald Rivest *1947 Leonard Adelman *1945 Adi Shamir *1952 University of Southern California, Los Angeles Protokol PGP

  17. 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

  18. 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

  19. 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

  20. 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

  21. Elektronický podpis • X=yt mod N, y =xs mod A • y=yst mod N = y

  22. Hybridní kryptosystémy

  23. Hybridní kryptosystémy • Symetrická šifra – bezpečná, rychlá, nutná výměna klíčů • Asymetrická šifra – není nutná výměna klíčů, pomalá

  24. Hybridní kryptosystémy • Text se zašifruje symetrickou šifrou s náhodným klíčem • Klíč se zašifruje asymetrickou šifrou

  25. 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

  26. Asymetrické šifry • (McEllis) • RSA • DSA (Digital Signature Algorithm) • Diffie Hellman

  27. 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á

  28. 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

  29. 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

  30. 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íčů

  31. 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

  32. 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

More Related