Symetrická šifra Šifrovací zobrazení y = φ(x,k) Dešifrovací zobrazení x = ψ(y,k)
Asymetrická šifra Šifrovací zobrazení y = φ(x,v) Dešifrovací zobrazení x = ψ(y,t) v … veřejný, známý, šifrovací klíč t …soukromý, tajný, dešifrovací klíč Existuje jednoduchá funkce f: v=f(t) Funkce f -1 je obtížně vyčíslitelná F je jednocestná funkce
Další využití (autorizace, „elektronický podpis“) Pokud navíc platí φ ◦ ψ = ψ ◦ φ Zprávu x „podepíši“ transformací ψ(x,t) a odešlu. Příjemce použije transformaci φ: φ(ψ(x,t),v) = φ ◦ ψ (x) = ψ ◦ φ (x) = x Zpráva je autorizována McEllisův algoritmus nelze pro autorizaci použít
RSA šifra *1977 Ronald Rivest *1947 Adi Shamir *1952 Leonard Adelman *1945 University of Southern California, Los Angeles Protokol PGP
Teorie čísel Prvočíslo Generování prvočísel: Erathosenovo síto Kolik je prvočísel?
Eulerova funkce Eulerova funkce φ(n), počet přirozených čísel menších než n a nesoudělných s n. Dodefinujeme φ(1) = 1 První hodnoty funkce φ: 1,1,2,2,4,2,6,3,6,4 Pro a, b nesoudělná φ(ab)= φ(a). φ(b) Snadno spočítáme třeba φ(91)=φ(7.13)=72 p prvočíslo: φ(p)=p-1 a je součin dvou prvočísel a=p.q, pak φ(a)=φ(p).φ(q)=(p-1).(q-1)
Vlastnosti prvočísel Binomický koeficient (p nad i) mod p = 0, pro i=1..p-1 (a+b) p mod p=a p +b p Pro c menší než p je c p mod p = c,
Malá Fermatova věta Pro c menší než p platí c p-1 mod p = 1 Pierre de Fermat ( )
Čínská věta o zbytcích Sun Tse (snad století) N je součin dvou prvočísel p,q. φ(N)=(p-1)(q-1), c φ(N) mod N = 1
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=x s mod N Dešifrovací zobrazení x=y t mod N x st mod N = x kΦ(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 = 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= mod 91 = (24 16 mod 91). (24 8 mod 91). (24 4 mod 91). (24 2 mod 91). (24 1 mod 91) = mod 91= mod 91 = 80 x = 80 7 mod 91= (80 1 mod 91). (80 2 mod 91). (80 4 mod 91) = mod 91 = 24
Elektronický podpis X=y t mod N, y =x s mod A y=y st mod N = y
Jak vybrat prvočísla p, q Prvočísel je nekonečně mnoho Počet prvočísel menších než n: π(n)≈n/ln(n) Počet 100místných prvočísel: π( )- π(10 99 ) ≈4,3*10 97 ln( ) ≈ 230, každé 230 číslo je prvočíslo
Algoritmus pro hledání prvočísla Zvol náhodné číslo n Otestuj, jestli je prvočíslo Pokud ne, polož n:=n+1
Test prvočíselnosti Vyzkoušet všechny dělitele – nereálné Malá Fermatova věta, pro c<p, p prvočíslo platí: c p-1 mod p = 1 Obrácené tvrzení neplatí Čísla, která splňují c p-1 mod p = 1 pro každé c a nejsou prvočísla, Carmichaelova čísla, nejmenší 561=3*11*17
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 2 80 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, 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