asymetrická kryptografie princip šifrování Zavazadlový algoritmus RSA EL GAMAL další asymetrické blokové algoritmy Skipjack a Kea, DSA, ECDSA D H, ECDH
asymetrická kryptografie jeden klíč pro šifrování druhý klíč pro dešifrování odlišný od prvního klíče nelze ho prakticky odvodit z prvního klíče Kryptografie s veřejným klíčem začátek komunikace nutné vygenerovat oba klíče uživatel = jediný majitel těchto dvou klíčů odesilatel x adresát» 4 klíče pro komunikaci sdělit další potřebné informace typ algoritmu, přenos jednoho z klíčů,
asymetrická kryptografie otevřený text jeden klíč šifrovaný text přenos zprávy Květuše Sýkorová šifrovaný text druhý klíč otevřený text
kryptografie s veřejným klíčem jeden klíč = soukromý (tajný) bezpečně ukryt druhý klíč = veřejný věrohodně zveřejnit přidělen certifikační autoritou způsoby použití šifrování podepisování další způsoby použití kombinace předchozích dvou (šifrování + podepisování) hybridní kryptosystémy (symetrická + asymetrická)
kryptografie s veřejným klíčem výhody není nutno předávat klíče snadná správa a výměna klíčů jednodušší správa klíčů veřejný klíč možno zveřejnit využití i pro digitální podpis zajišťuje šifrování soukromým klíčem dešifrování veřejným klíčem nepopiratelnost odpovědnosti za zprávu prověřování digitálního podpisu pomocí veřejného klíče nenarušuje odpovědnost uživatele za ochranu svého soukromého klíče
kryptografie s veřejným klíčem nevýhody pomalejší než symetrická ~ 100 krát až 1000 krát větší délka klíče pro zajištění stejné úrovně zabezpečení náchylná k falšování zpráv i přes nedostupnost klíčů uživatelů realizovatelné útoky se znalostí dvojic o.t. a š.t. proti omezenému množství o.t. key only (znalost pouze veřejného klíče) known message (znalost podpisů různých neznámých zpráv) adaptive chosen message (znalost podpisů různých známých zpráv),
kryptografie s veřejným klíčem šifrování jeden způsob použití šifrování veřejný klíč adresáta dešifrování soukromý klíč adresáta zajišťuje důvěrnost dat zprávu nemůže číst nikdo jiný než adresát používají: bezpečnostní protokoly v 1. fázi komunikace» např. SSL, TLS předání identifikačních údajů obou komunikujících stran dohoda o použitém kryptografickém systému pro zbytek komunikace předání tajných klíčů
kryptografie s veřejným klíčem šifrování otevřený text veřejný klíč adresáta šifrovaný text přenos zprávy Květuše Sýkorová šifrovaný text soukromý klíč adresáta otevřený text
kryptografie s veřejným klíčem podepisování druhý způsob použití šifrování soukromý klíč odesílatele dešifrování veřejný klíč odesílatele zajišťuje autentizace odesílatele podepsání klíčem odesílatele neodmítnutelnost odpovědnosti na straně odesílatele zjistí se tak, kdo zprávu odeslal neodmítnutelnost odpovědnosti ze strany adresáta adresát zašle podepsané potvrzení o přijetí zprávy odesílateli
kryptografie s veřejným klíčem podepisování otevřený text soukromý klíč odesílatele podepsaný text přenos zprávy Květuše Sýkorová podepsaný text veřejný klíč odesílatele otevřený text
kryptografie s veřejným klíčem kombinování šifrování a podepisování další způsob použití komplexní systém pro utajení a podepsání zprávy zajišťuje utajení dat šifrování klíčem adresáta neodmítnutelnost odpovědnosti na straně odesílatele autentizace odesílatele podepsání klíčem odesílatele
kryptografie s veřejným klíčem kombinování otevřený text soukromý klíč odesílatele podepsaný text veřejný klíč adresáta šifrovaný text přenos zprávy Květuše Sýkorová šifrovaný text soukromý klíč adresáta podepsaný text veřejný klíč odesílatele otevřený text
kryptografie s veřejným klíčem hybridní kryptosystém další způsob použití asymetrická kryptografie pomalá» řádově 1000 x pomalejší než symetrická šifrování o.t. = symetrická kryptografie rychlejší tajný klíč šifrování tajného klíče = asymetrická kryptografie pomalejší flexibilní
kryptografie s veřejným klíčem hybridní kryptosystém otevřený text symetrická kryptografie tajný klíč šifrovaný text tajný klíč asymetrická kryptografie veřejný klíč adresáta šifrovaný tajný klíč přenos zprávy Květuše Sýkorová šifrovaný text šifrovaný tajný klíč symetrická kryptografie tajný klíč asymetrická kryptografie soukromý klíč adresáta otevřený text tajný klíč
problém batohu obecně NP problém zjednodušený princip asymetrických šifrových algoritmů autoři: R. Merkel, M. Hellman Květuše Sýkorová princip: batoh pevně dané nosnosti množinu věcí, které mají svou cenu a váhu každý z nich se vyskytuje pouze 1x Jaké věci dát do batohu, aby součet vah nepřekročil nosnost batohu a přitom součet cen byl co největší?
úloha: n = celkový počet předmětů = hmotnost i tého předmětu Květuše Sýkorová hledáme koeficienty 0(předmět není v zavazadle) 1(předmět je v zavazadle) S = celková hmotnost zavazadla (batohu) superrostoucí posloupnost každý následující člen posloupnosti > součet všech předchozích např. 1, 3, 7, 15, 31, 63, 127, posloupnost hmotnos triviální řešení
postup hledání: (superrostoucí posloupnost) srovnáme předměty dle hmotnosti od nejmenšího k největšímu porovnáme S a maximální i tý předmět je obsažen v zavazadle ( 1) Květuše Sýkorová i tý předmět není obsažen v zavazadle ( 0) 1 řešení 0(úloha má řešení)
postup hledání: pro ostatní druhy posloupností není znám žádný rychlý výpočetní čas roste více než polynomiálně lineární růst počtu předmětů v praxi alespoň 250 prvků superrostoucí posloupnosti Květuše Sýkorová původně bezpečný neúspěšné pokusy o zesílení
příklad: zvolíme superrostoucí posloupnost např. 2, 3, 6, 13, 27, 52 soukromý klíč vytvoříme veřejný klíč zvolíme m > následující člen posloupnosti zvolíme n < m NSD(n,m) = 1 např. m = 105, n = 31 spočteme např. veřejný klíč: 62, 93, 81, 88, 102, 37 2 31 62 62, 13 31 413 88, 3 31 93 93, 27 31 837 102, 6 31 186 81, 52 31 1612 37
příklad: soukromý klíč: 2, 3, 6, 13, 27, 52 veřejný klíč: 62, 93, 81, 88, 102, 37 m = 105, n = 31 šifrování: o.t. = 011000 110101 101110 011000 93 + 81 = 174 110101 62 + 93 + 88 + 37 = 280 101110 62 + 81 + 88 + 102 = 333 š.t. = 174, 280, 333
příklad: soukromý klíč: 2, 3, 6, 13, 27, 52 veřejný klíč: 62, 93, 81, 88, 102, 37 m = 105, n = 31 dešifrování: 1 31 1 (rozšířený Euklidův algoritmus) 31 61 1 š.t. = 174, 280, 333 174 61 10614 9, 280 61 17080 70, 333 61 20313 48, o.t. = 011000 110101 101110 9 6 3, 70 52 13 3 2, 48 27 13 6 2, 011000 110101 101110
autoři: Rivest, Shamir, Adelman (kryptografové) blokový asymetrický šifrovací algoritmus 1977 MIT (Massachussets Institute of Technology) šifrování, výměna klíčů později i elektronický podpis původně patentován vznik firmy RSA Data Security Inc. 17 let, neprodlouženo dnes bankomaty, mobily, elektronický podpis bezpečnost NP úloha prvočíselné faktorizace součin dvou velkých prvočísel velikost klíče určuje míru bezpečnosti
postup: vygenerovat dvě dostatečně velká prvočísla p, q velikost = 100b 200b test prvočíselnosti: Rabin Millerův test, Fermatůvtest, spočítat moduly 1 1 zvolíme šifrovací klíč e 1, 1 spočteme šifrovací klíč d (Eulerův rozšířený algoritmus) 1 1
postup: veřejný klíč = dvojice (n, e) soukromý klíč = dvojice (n, d) n veřejně známé p, q tajná prvočísla utajení zaručuje bezpečnost Květuše Sýkorová Je prvočísel dostatečné množství? Gaussův odhad 10 10 3,9 10
postup: veřejný klíč = dvojice (n, e) soukromý klíč = dvojice (n, d) šifrování: dešifrování: M = blok zprávy, velikost < n Květuše Sýkorová problém sw realizace vyšší rychlost než hw realizace sw realizace RSA 100x pomalejší než DES hw realizace RSA 1000x pomalejší než DES» tento problém je společný pro asymetrické algoritmy
luštění: několik velmi složitých způsobů znalost jednoho šifrovacího/dešifrovacího páru (e,n,d) umožňuje faktorizovat modul umožňuje odvodit jiný šifrovací/dešifrovací pár bez faktorizace atd. Květuše Sýkorová digitální podpis: opačný princip než šifrování podepisování: ověření podpisu: M = blok zprávy, velikost < n
dnes: celosvětová norma ISO 9796 neamerické verze modul RSA 512b» nepříliš bezpečný RSA 1024b pro ČR uvolněn částečně v lednu 2000, úplně v červenci 2000 Květuše Sýkorová více: Věta o správnosti algoritmu RSA
Lemma 2: Nechť, taková, že, 1 Potom platí: 1 z toho plyne: Květuše Sýkorová / 1 n dělí číslo 1beze zbytku
Lemma 3: Nechť, prvočíslo, 1 Potom platí: 1 Květuše Sýkorová důkaz: plyne z Lemma 2 pro
Věta: (správnost algoritmu) Nechť p, q jsou prvočísla, kde modul. a 1. 1 Nechť e, d jsou libovolná čísla, splňují podmínku. 1 Označme m číslo, kde 0 Potom platí:. toto je princip RSA
důkaz: (. ) platí:. 1. 1. /. 1 1, 1... L2: 1.. 1 Květuše Sýkorová
důkaz: (. ) platí:. /. 1 2, 1 1. 1... nebo. BÚNO:., 1 L3: 1 / 1 L1 /. 1. 1. 1
důkaz: (. ) platí:. 1. 1. /. 1 /. 1. 1. 1 2, 1, 1. /. 1 p násobek /.. L3 1 1
důkaz: (. ) platí:. 1. 1. /. 1 /. 1. 1. 1. 2, 1..... 1 /. p násobek L3 /......
důkaz: (. ) platí:. 1. 1. Květuše Sýkorová /. 1 /. 1. 1. 1.... 2, 1......
příklad: adresát: vygeneruje dvě dostatečně velká prvočísla 11 a 13 spočte 11.13 143 a 10.12 120 vygeneruje 13 ověří 13,120 1 (Eukleidův algoritmus) 120 3 9.13 ( 13,120 13,3 ) 13 1 4.3 ( 13,3 1,3 ) 3 0 3.1 ( 1,3 1,0 1) zná rozklad 37 13.37 481 1 1 13 4.3 13 4. 120 9.13 37.13 4.120 pošle veřejný klíč, 143,13 odesilateli převzato z http://mks.mff.cuni.cz/library/rsajrk/rsajrk.pdf
příklad: odesilatel: zná veřejný klíč, 143,13 adresáta zašifruje zprávu M = 42 spočte 42 42.42.42 dle rozpisu 13 8 4 1 výpočet 42 42 42 1764 48 42 48 2304 16 42 16 256 113 spočte 42 113.16.42 75936 3 pošle šifrovanou zprávu 3adresátovi převzato z http://mks.mff.cuni.cz/library/rsajrk/rsajrk.pdf
příklad: adresát: dešifruje zprávu 3od odesilatele zná svůj soukromý klíč, 143,37 spočte 3 3.3.3 dle rozpisu 37 32 4 1 výpočet 3 3 3 9 9 3 9 81 81 3 81 6561 126 3 126 15876 3 3 3 9 9 spočte 3 9.81.3 2187 42 získá dešifrovanou zprávu 42od odesilatele převzato z http://mks.mff.cuni.cz/library/rsajrk/rsajrk.pdf
příklad: odesilatel: vygeneruje dvě dostatečně velká prvočísla 11 a 13 spočte 11.13 143 a 10.12 120 vygeneruje 13 ověří 13,120 1 (Eukleidův algoritmus) 120 3 9.13 ( 13,120 13,3 ) 13 1 4.3 ( 13,3 1,3 ) 3 0 3.1 ( 1,3 1,0 1) zná rozklad 37 13.37 481 1 1 13 4.3 13 4. 120 9.13 37.13 4.120 pošle veřejný klíč, 143,13 adresátovi převzato z http://mks.mff.cuni.cz/library/rsajrk/rsajrk.pdf
příklad: odesilatel: zná svůj soukromý klíč, 143, 37 podepíše zprávu M = 42 spočte 42 42.42.42 dle rozpisu 37 32 4 1 výpočet 42 42 42 1764 48 42 48 2304 16 42 16 256 113 42 113 12769 42 42 42 1764 48 spočte 42 48.16.42 32256 81 pošle podepsanou zprávu 81adresátovi převzato z http://mks.mff.cuni.cz/library/rsajrk/rsajrk.pdf
příklad: adresát: ověří podpis zprávy 81od odesilatele zná veřejný klíč, 143,13 odesilatele spočte 81 81.81.81 dle rozpisu 13 8 4 1 výpočet 81 81 81 6561 126 81 126 15876 3 81 3 9 9 spočte 81 9.3.81 2187 42 ověří podpis zprávy 42od odesilatele převzato z http://mks.mff.cuni.cz/library/rsajrk/rsajrk.pdf
autor: Taher Elgamal, 1984, Egypt blokový asymetrický šifrovací algoritmus podobný RSA, založený na systému Diffie Hellman šifrování i elektronický podpis nevýhoda š.t. je dvakrát dlouhý nasazení není tak masivní jako RSA bezpečnost NP problém výpočtu diskrétního logaritmu» g, k, n spočíst Y je snadné» zjistit k je problém definován nad cyklickou grupou G grupa Zp* modulo p
postup vygenerování tajného a veřejného klíče zvolíme prvočíslo p zvolíme náhodná čísla q, x < p spočteme y Květuše Sýkorová soukromý klíč = x veřejný klíč = y, p, q vylepšení DSA = Digital Signature Algorithm
postup: soukromý klíč = x veřejný klíč = y, p, q šifrování zvolíme náhodně k, 1 1 nutné utajit pro každé šifrování zvolit jiné zašifrujeme zprávu M M = o.t., délka < p pošleme šifrovanou zprávu,
postup: soukromý klíč = x veřejný klíč = y, p, q dešifrování dešifrujeme zprávu M (šifrovaná zpráva, ) Květuše Sýkorová ověření korektnosti výpočtu
postup: soukromý klíč = x veřejný klíč = y, p, q digitální podpis zvolíme náhodně k (jako při šifrování), 1 1 spočteme b z rovnice 1» Euklidův rozšířený algoritmus podpis zprávy M dvojice,
postup: soukromý klíč = x veřejný klíč = y, p, q ověření podpisu podpis zprávy M dvojice, nutná rovnost stran rovnice Květuše Sýkorová luštění získání k dvě zprávy šifrované jedním k odhalí hodnotu tajného klíče x
příklad: (šifrování, dešifrování) adresát: vygeneruje dostatečně velké prvočíslo p část veřejného klíče 7 vygeneruje 2 náhodná čísla, část veřejného klíče 3, tajný klíč 4 spočte poslední část veřejného klíče y 3 4 uchová tajný klíč 4 pošle veřejný klíč,, 7,3,4 odesilateli převzato z
příklad: (šifrování, dešifrování) odesilatel: (šifrování) získá veřejný klíč,, 7,3,4 od adresáta zašifruje zprávu 2 zvolí K tak, aby, 1 1 pro 5je 5,6 1 výpočet 3 5 Květuše Sýkorová 4 2 4 pošle šifrovanou zprávu a, b 5,4 adresátovi převzato z
příklad: (šifrování, dešifrování) adresát: (dešifrování) dešifruje zprávu a, b 5,4 od odesilatele soukromý klíč 4 výpočet 2 získá tak původní zprávu 2od odesilatele Květuše Sýkorová převzato z
příklad: (podepisování, ověření podpisu) odesilatel: vygeneruje dostatečně velké prvočíslo p část veřejného klíče 7 vygeneruje 2 náhodná čísla, část veřejného klíče 3, tajný klíč 4 spočte poslední část veřejného klíče y 3 4 uchová tajný klíč 4 zveřejní veřejný klíč,, 7,3,4 pro adresáta převzato z
příklad: (podepisování, ověření podpisu) odesilatel: (podepisování) má tajný klíč 4, zná svůj veřejný klíč,, 7,3,4 podepíše zprávu 2 zvolí K tak, aby, 1 1 pro 5je 5,6 1 výpočet 3 5 2 4 5 5 a odtud 6» rozšířený Euklidův algoritmus, tabulka násobků 1 pošle podepsanou zprávu a, b 5,6 adresátovi převzato z
příklad: (podepisování, ověření podpisu) adresát: (ověření podpisu) má podepsanou zprávu a, b 5,6 od odesilatele zná veřejný klíč,, 7,3,4 odesilatele výpočet 4 5 3 1024 15625 9 2 1 2 získá tak informaci o podepsání zprávy odesilatelem převzato z
Digital Signature Algorithm srpen 1991, NIST původní algoritmus používaný pro digitální podpisy standardizován FIPS 186 z roku 1993, použití jako DSS (Digital Signature Standard) patentován autor: David W. Kravitz (bývalý zaměstnanec NBA)» patent uvolněn pro veřejnost stále dohady o bezpečnosti bezpečnost úloha diskrétního logaritmu princip jako El Gamal nevýhoda pomalejší ověření podpisu než jeho vytvoření
princip: dohoda (i více) účastníků: výběr hashovací funkce (SHA 1, později i SHA 2) parametry L a N (pro délku klíče) původně násobky 64 v rozsahu od 512 do 1024 (1024,160), (2048,224), (2048,256) a (3072,256) dle FIPS 186 3» klíč 2048 do roku 2010, klíč 3072 do roku 2030 výběr prvočísla q (N bitů) N délka výstupu vybrané hash funkce výběr prvočísla p (L bitů) p 1 je násobkem q výběr čísla g platí: pro náhodná 1; 1» nejčastěji 2 toto není tajné
využití: OpenSSL, OpenSSH, GnuPG, Květuše Sýkorová princip: účastník: zvolí náhodně 1; 1 soukromý klíč x spočte veřejný klíč,,,
princip: účastník: (podepsání) zvolí náhodně 1; 1 spočte spočte podpis je dvojice (r,s)» výjimečný případ: r=0 nebo s=0 Květuše Sýkorová
princip: účastník: (ověření podpisu) spočte spočte 1 spočte 2 spočte ověření podpisu v = r» výjimečný případ: r=0 nebo s=0 Květuše Sýkorová
The Elliptic Curve Digital Signature Algorithm Květuše Sýkorová algoritmus pro digitální podpis varianta DSA protokolu bezpečnost eliptické křivky výhody kratší délka klíče pro zajištění stejné úrovně bezpečnosti
Diffie Hellman autoři: Whitfield Diffie, Martin Hellman nejstarší algoritmus s veřejným klíčem (1976) kryptografický protokol pro výměnu klíčů umožňuje vytvořit přes nezabezpečený kanál mezi komunikujícími stranami šifrované spojení bez předchozího dohodnutí šifrovacího klíče výsledek protokolu symetrický klíč pro další komunikaci útočník ho nezachytí při odposlechu komunikace» klíč je konstruován všemi účastníky komunikace» není nikdy poslán v otevřené podobě První takovýto protokol vymyslel Malcolm Williamson z Government Communications Headquarters z Velké Británie o několik let dříve, ale společnost GCHQ se vzhledem ke své podstatě tajné vládní instituce rozhodla objev utajit až do roku 1997
Diffie Hellman nevýhoda bezbranný proti útoku man in the middle neumožňuje autentizaci účastníků využití útočník nemůže aktivně zasahovat do komunikace bezpečnost úloha diskrétního logaritmu existuje i varianta pro eliptické křivky (ECDH)
princip: libovolný účastník: vygeneruje prvočíslo p generátor g grupy ; Květuše Sýkorová účastník A: zvolí soukromý klíč a vypočte veřejný klíč účastník B: zvolí soukromý klíč b vypočte veřejný klíč oba zveřejní své veřejné klíče A i B
princip: účastník A: zná svůj soukromý klíč a, oba veřejné klíče A i B vypočte tajný klíč účastník B: zná svůj soukromý klíč b, oba veřejné klíče A i B vypočte tajný klíč důkaz správnosti: toto číslo s nemůže útočník zjistit
Diffie Hellman protokol pro eliptické křivky umožňuje sdílet tajné informace přes nezabezpečený kanál mezi komunikujícími stranami princip: bez předchozího dohodnutí šifrovacího klíče možné použít pro vytvoření klíče pro další komunikaci» 2 pro, dohoda o parametrech,,,,, prvočíslo p (definuje těleso ) konstanty a, b z rovnice eliptické křivky bod G na eliptické křivce řád n tohoto bodu G faktor h (podíl počtu prvků grupy bodů na elipt.křivce a řádu bodu G)
princip: účastník A: zvolí soukromý klíč 1; 1 vypočte veřejný klíč účastník B: zvolí soukromý klíč 1; 1 vypočte veřejný klíč Květuše Sýkorová oba zveřejní své veřejné klíče i účastník A: vypočte bod účastník B: vypočte bod