Feistlovy kryptosystmy Posuvn registry Lucifer DES AES Horst

  • Slides: 32
Download presentation
Feistlovy kryptosystémy • Posuvné registry • Lucifer • DES, AES Horst Feistel 1915 -1990

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

Posuvné registry • Blok bitů – délka 2 n • Klíč – posloupnost k

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

Posuvné registry, šifrování • (m 0, m 1) = X • mi+1 = mi-1+fi(mi)

Posuvné registry, šifrování • (m 0, m 1) = 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

Posuvné registry, dešifrování • (mk, mk+1) = Y • mi-1 = mi+1+fi(mi) • X = (m 0, m 1)

Příklad šifrování • Délka bloku 2 n=8, hloubka klíče k=2 • f 1: permutace

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

Příklad šifrování • X = (01000001) • m 0 = (0100), m 1 =

Příklad šifrování • X = (01000001) • 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 = (01100011)

Dešifrování • Y = (01100011) • m 2 = (0110), m 3 = (0011)

Dešifrování • Y = (01100011) • 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 = (01000001)

Počet klíčů n n 2 (2 ) • Počet funkcí je F = •

Počet klíčů n n 2 (2 ) • Počet funkcí je F = • Počet klíčů je Fk • V našem případě n=4 , k=2, 2 n=16, F=1616=18446744073709600000 • Počet klíčů 184467440737096000002 = 340282366920938000000000000 {0, 1}n → {0, 1}n

DES funkce f 1, …, f 16 6 6

DES funkce f 1, …, f 16 6 6

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

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

DES, šifrování a dešifrování • • • Délka bloku 2 n = 64, Hloubka

DES, šifrování a dešifrování • • • Délka bloku 2 n = 64, Hloubka klíče K = 16 Počet klíčů 256 = 72057594037927900 ~ 7*1016 Při 100 000 klíčích/sec: 7*108 sekund ~ 22 let 16 2 Prolomeno v roce 1999

AES • Počet klíčů 264 ~ 1. 8*1019 • Za stejných podmínek je pro

AES • Počet klíčů 264 ~ 1. 8*1019 • Za stejných podmínek je pro vyluštění třeba 1, 8*1011 s ~ 5707 let

Distribuce klíčů D-H *1976 Whitfield Diffie *1944 Martin Hellban *1945 Massachusetts Institute of Technology

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á

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 =

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

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

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

RSA šifra • Šifrovací zobrazení y=xs mod N • Dešifrovací zobrazení x=yt mod N • xst mod N = xkΦ(N)+1 mod N = 1 k. x mod N = x

Příklad • • • p=7, q=13 N=91, Φ(N)=6. 12=72 t=7 s. 7 mod 72

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=x 31 mod 91 Tajný klíč t=7, p=7, q=13, Φ(N)=72, x=y 7 mod 91

Příklad • x=24 • y= x 31 mod 91= 2431 mod 91 = (2416

Příklad • x=24 • y= x 31 mod 91= 2431 mod 91 = (2416 mod 91). (248 mod 91). (244 mod 91). (242 mod 91). (241 mod 91) = 24. 30. 81. 9. 81 mod 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

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

Hybridní kryptosystémy

Hybridní kryptosystémy

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

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

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,

Symetrické šifry • Všechny dnes používané jsou založené na Feistlově principu • DES, AES, 3 DES • IDEA (International Data Encryptin Algorithm, 1991), pro nekomerční účely volně šiřitelný algoritmus, Xuejia Lai, Švýcarsko

Asymetrické šifry • • (Mc. Ellis) RSA DSA (Digital Signature Algorithm) Diffie Hellman

Asymetrické šifry • • (Mc. Ellis) RSA DSA (Digital Signature Algorithm) Diffie Hellman

Elektronický podpis • Ze zprávy se vytvoří otisk pomocí otiskové (Hešovací, hash) funkce •

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

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 • MD 5 (Message Digest, 1991, R. Rivest) – částečně prolomena v

Hešovací funkce • MD 5 (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 Privacy Phill Zimmermann 1991 • • • Symetrická šifra: IDEA,

PGP – Pretty Good Privacy Phill Zimmermann 1991 • • • Symetrická šifra: IDEA, DES, AES Asymetrická šifra: RSA Hešovací funkce: MD 5, 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ší

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í

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