Feistlovy kryptos ystémy

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

description

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í. - PowerPoint PPT Presentation

Transcript of Feistlovy kryptos ystémy

Page 1: Feistlovy kryptos ystémy

Feistlovy kryptosystémy

•Posuvné registry

•Lucifer

•DES, AES

Horst Feistel 1915-1990Německo, USAIBM

Page 2: Feistlovy kryptos ystémy

Posuvné registry

• Blok bitů – délka 2n

• Klíč – posloupnost k funkcí f1, f2,…, fk {0,1}n → {0,1}n , k – hloubka klíče

Page 3: Feistlovy kryptos ystémy

Posuvné registry, šifrování

• (m0, m1) = X

• mi+1 = mi-1+fi(mi)

• Y = (mk,mk+1)

Page 4: Feistlovy kryptos ystémy

Posuvné registry, dešifrování

• (mk,mk+1) = Y

• mi-1 = mi+1+fi(mi)

• X = (m0, m1)

Page 5: Feistlovy kryptos ystémy

Příklad šifrování

• Délka bloku 2n=8, hloubka klíče k=2

• f1: permutace (1234) → (2143)

• f2: funkce (1234) → (1124)

Page 6: Feistlovy kryptos ystémy

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)

Page 7: Feistlovy kryptos ystémy

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)

Page 8: Feistlovy kryptos ystémy

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

Page 9: Feistlovy kryptos ystémy

DES funkce f1,…, f16

6 6

Page 10: Feistlovy kryptos ystémy

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

Page 11: Feistlovy kryptos ystémy

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

Page 12: Feistlovy kryptos ystémy

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

Page 13: Feistlovy kryptos ystémy

Distribuce klíčů D-H *1976

Whitfield Diffie *1944 Martin Hellban *1945

Massachusetts Institute of Technology (Boston)

Protokol SSL

Page 14: Feistlovy kryptos ystémy

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

Page 15: Feistlovy kryptos ystémy

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)

Page 16: Feistlovy kryptos ystémy

RSA šifra *1977

• Ronald Rivest *1947

Adi Shamir *1952

Leonard Adelman *1945

University of Southern California, Los Angeles

Protokol PGP

Page 17: Feistlovy kryptos ystémy

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

Page 18: Feistlovy kryptos ystémy

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

Page 19: Feistlovy kryptos ystémy

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

Page 20: Feistlovy kryptos ystémy

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

Page 21: Feistlovy kryptos ystémy

Elektronický podpis

• X=yt mod N, y =xs mod A

• y=yst mod N = y

Page 22: Feistlovy kryptos ystémy

Hybridní kryptosystémy

Page 23: Feistlovy kryptos ystémy

Hybridní kryptosystémy

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

• Asymetrická šifra – není nutná výměna klíčů, pomalá

Page 24: Feistlovy kryptos ystémy

Hybridní kryptosystémy

• Text se zašifruje symetrickou šifrou s náhodným klíčem

• Klíč se zašifruje asymetrickou šifrou

Page 25: Feistlovy kryptos ystémy

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

Page 26: Feistlovy kryptos ystémy

Asymetrické šifry

• (McEllis)

• RSA

• DSA (Digital Signature Algorithm)

• Diffie Hellman

Page 27: Feistlovy kryptos ystémy

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á

Page 28: Feistlovy kryptos ystémy

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

Page 29: Feistlovy kryptos ystémy

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

Page 30: Feistlovy kryptos ystémy

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

Page 31: Feistlovy kryptos ystémy

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

Page 32: Feistlovy kryptos ystémy

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