Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

Úvod do klasických a moderních metod šifrování Jaro 2009, 8. přednáška.

Podobné prezentace


Prezentace na téma: "Úvod do klasických a moderních metod šifrování Jaro 2009, 8. přednáška."— Transkript prezentace:

1 Úvod do klasických a moderních metod šifrování Jaro 2009, 8. přednáška

2 Počátky asymetrické kryptografie Whitfield Diffie, Martin Hellman, New directions in cryptography, IEEE Transactions on Information Theory, vol. IT-22, pp , Popisují, jak lze v kryptografii použít jednosměrné funkce a permutace s padacími vrátky (trapdoor permutations). Šifrovací systém s veřejným klíčem není nic jiného než permutace s padacími vrátky (každý může šifrovat, ale nemůže dešifrovat), která umožňuje dešifrování pouze oprávněnému uživateli. Článek ale neobsahuje žádnou konkrétní permutaci s padacími vrátky. Dalšími zakladateli byli R. Merkle a L. Lamport.

3 Šifrovací systém s veřejným klíčem Oskar (Eva) - protivník Alice Šifrovací algoritmus Dešifrovací algoritmus Bob Zdroj klíčů Kanál s autentizací x y x x – otevřený text, y – šifrový text, K p – veřejný klíč K s – tajný (soukromý) klíč KsKs KpKp KpKp

4 Požadavky Pro dvojici klíčů ( K p,K s ) platí, že d Ks ( e Kp ( x )) = x pro každou zprávu x. Kanál pro přenos veřejného klíče K p nemusí být bezpečný (tj. zajišťující důvěrnost přenášených zpráv), musí ale zajišťovat autentizaci, tj. Alice si musí být jistá, že veřejný klíč dostala skutečně od Boba. Generátor klíčů je obvykle na straně příjemce zprávy, tj. u Boba. Šifrovací a dešifrovací algoritmy musí být rychlé, zatímco dešifrování bez znalosti soukromého klíče musí být výpočetně nezvládnutelné. Vlastnosti asymetrického šifrování soukromý klíč je tajemstvím pouze příjemce, nikoliv obou partnerů, veřejný klíč umožňuje každému zašifrovat zprávu pro příjemce, cenou za toto větší pohodlí je větší složitost systémů s veřejným klíčem jak po matematické stránce tak z hlediska počtu operací, které je třeba provádět. Systémy s veřejným klíčem jsou proto mnohem pomalejší oproti symetrickým šifrovacím systémům, jejich bezpečnost se posuzuje mnohem obtížněji.

5 Protokol Diffieho-Hellmana Zajišťuje ustanovení tajného klíče pro symetrickou kryptografii pomocí nezabezpečeného kanálu, který ale musí zajišťovat autentizaci a integritu. Oskar (Eva) - protivník Alice Šifrovací algoritmus Dešifrovací algoritmus Bob Výměna A Kanál s autentizací K – klíč, U,V – zprávy, kroky protokolu Výměna B K K VU

6 Dohoda na (symetrickém) klíči Alice a Bob se nejdříve dohodnou na nějakém velkém prvočísle p a kladném g menším než p takovém, že g x mod p je různé od 1 pro každé kladné x < p-1. Obě čísla p a g mohou být veřejná. Alice zvolí nějaké tajné x, které má stejně bitů jako p. Spočítá U = g x mod p a odešle U Bobovi. Bob podobně zvolí tajné y, které má stejně bitů, jako p. Spočítá V = g y mod p a odešle V Alici. Alice si spočítá K = V x mod p = g yx mod p. Bob si spočítá K = U y mod p = g xy mod p. Číslo K je tajný klíč sdílený Alicí a Bobem. Aby byl klíč K skutečně tajný, musí být výpočetně nemožné ze znalosti čísel U a V získat číslo K. Problému nalezení čísla x ze znalosti g x mod p se říká problém diskrétního logaritmu. Tento problém je stále považován za velmi obtížný.

7 Význam autentizace Protokol Diffieho-Hellmana vyžaduje, aby kanál, kterým si Alice a Bob vyměňují p, g, U a V, zajišťoval autentizaci. Bez autentizace by šmíráci Eva s Oskarem mohli postupovat následovně. Posadí se doprostřed kanálu mezi Alici a Boba. Uskuteční protokoly s Alicí a Bobem, s každým zvlášť. Získají tak symetrický klíč K pro komunikaci s Alicí a jiný symetrický klíč L pro komunikaci s Bobem. Pošle-li Alice šifrovanou zprávu Bobovi, Eva s Oskarem ji dešifrují za pomoci příslušného klíče K, poté ji zašifrují pomocí klíče L a pošlou ji dále Bobovi. Tomuto typu aktivního útoku se anglicky říká man-in-the-middle attack.

8 Šifrovací systém RSA Jeho autory jsou Ronald Rivest, Adi Shamir a Leonard Adleman. Zveřejnili jej v článku A method for obtaining digital signatures and public-key cryptosystem, Communications of ACM, vol. 21, pp , Jde o první šifrovací systém s veřejným klíčem. Je založený na obtížnosti rozložení velkého přirozeného čísla na součin prvočísel. Malá Fermatova věta Pro přirozené číslo N označíme φ ( N ) počet přirozených čísel menších než N, které jsou nesoudělné s N. Například jsou-li p,q různá prvočísla, pak φ ( p ) = p-1, φ ( pq ) =( p-1)(q-1). Malá Fermatova věta říká, že pro každé přirozené číslo N větší než 1 a každé přirozené číslo x menší než N platí x φ ( N ) = 1 mod N.

9 Generátor klíčů a šifrování Jako první je nutné zvolit veřejný parametr s, který říká, kolik bitů bude mít modul N. Standardní volbou je v současnosti s = Poté je třeba najít dvě nezávislá náhodná prvočísla p,q velikosti s/2 bitů. Víme, že pro N=pq platí φ(N) = (p-1)(q-1). Dále se zvolí nějaké číslo e nesoudělné s φ(N) = (p-1)(q-1). Pomocí rozšířeného Euklidova algoritmu se najde číslo d takové, že ed = 1 mod φ(N). Veřejným klíčem K p je dvojice (N,e). Soukromým klíčem K s je dvojice (N,d). Zpráva se zakóduje jako nějaké číslo x z množiny {1,2,.... N-1}. Zprávu x zašifrujeme jako y = x e mod N. Šifrovou zprávu y pak dešifrujeme jako y d mod N. Z malé Fermatovy věty vyplývá, že po dešifrování dostaneme původní otevřený text x.

10 Co je třeba umět Musíme umět hledat velká prvočísla. K tomu se používá Millerův- Rabinův test. S pravděpodobností 1 pozná, že dané číslo je prvočíslo a s pravděpodobností 1-4 -k pozná, že je to složené číslo, kde k je volitelný parametr. Millerův-Rabinův test vyžaduje O (s 4 ) operací. Vynásobit dvě čísla o s/2 bitech běžným školním algoritmem vyžaduje O (s 2 ) operací. Lze to ale udělat i rychleji pomocí Karacubova algoritmu. Vyzkoušet, je-li nějaké číslo e nesoudělné s φ(N), vyžaduje použít jednou Euklidův algoritmus, což je dalších O (s 2 ) operací. K výpočtu d je třeba jednou použít rozšířený Euklidův algoritmus, což je dalších O (s 2 ) operací. Šifrování vyžaduje dalších O (s 3 ) operací. Vhodnou volbou e, například e = 17 nebo e = to lze zrychlit na O (s 2 ) operací. Dešifrování stojí dalších O (s 3 ) operací.

11 ElGamalův šifrovací systém Autorem je Taher ElGamal, popsal jej ve své PhD disertaci Cryptography and logarithms over finite fields, Stanford University Dva veřejné parametry jsou velké prvočíslo p a kladné číslo g menší než p takové, že g x mod p je různé od 1 pro každé kladné x < p-1. Generátor klíče nyní vygeneruje náhodné kladné x a spočítá číslo y = g x mod p. Veřejný klíč je K p = y. Tajný klíč je K s = x. Zpráva je zakódována jako nenulové číslo m menší než p. Šifrování probíhá tak, že odesílatel zvolí náhodné nenulové číslo r menší než p, spočítá u = g r mod p a v = my r mod p. Šifrová zpráva je (u,v). Dešifrování probíhá tak, že se spočte číslo vu -x mod p. Proběhnou-li výpočty správně, pak m = vu -x mod p. Výhody a nevýhody oproti RSA.

12 Digitální podpis Oskar (Eva) - protivník Alice Podpisovací algoritmus Ověřovací algoritmus Bob Zdroj klíčů Kanál s autentizací x x,+/- x – podpisovaný text, σ – digitální podpis, K p – veřejný klíč K s – tajný (soukromý) klíč KsKs KpKp KpKp x,σ

13 Digitální podpis Schéma s veřejným klíčem pro digitální podpis tvoří: generátor pseudonáhodných čísel, podpisovací algoritmus, který ze zprávy x a tajného klíče K s vypočítá digitální podpis σ, ověřovací algoritmus, který pro každou zprávu x, podpis σ a veřejný klíč K p ověří správnost podpisu. Digitální podpis musí zajistit několik bezpečnostních cílů. Nezfalšovatelnost podpisu. Pro útočníka musí být nemožné bez znalosti tajného klíče K s vytvořit ke zprávě x platný podpis σ. To musí platit i v situaci, kdy útočník má k dispozici několik platných podpisů (x i,σ i ), dokonce i když si může volit zprávy x i. Nepopiratelnost podpisu. Ten, kdo zprávu podepsal, nesmí mít později možnost svůj podpis popřít. To znamená, že autor podpisu nemůže dokázat, že podpis lze zfalšovat.

14 Nezfalšovatelnost podpisu Podvržení podpisu může mít několik podob. Úplné prolomení systému spočívá v tom, že útočník dokáže ze znalosti veřejného klíče K p získat tajný klíč K s. Univerzální podvržení. Na základě veřejného klíče K p útočník dokáže vytvořit algoritmus, který vytváří platné podpisy k libovolné zprávě x. Selektivní podvržení. Na základě veřejného klíče K p útočník dokáže vytvořit zprávu, ke které pak umí připojit platný podpis. Existenční podvržení. Na základě veřejného klíče K p je útočník schopen vytvářet dvojice (x,σ), kde σ je platný podpis zprávy x. Nemá ale žádnou kontrolu nad tím, jak zpráva x vypadá.

15 Od šifrovacího k podpisovému systému Šifrovací systém s veřejným klíčem můžeme snadno přeměnit v podpisový systém s veřejným klíčem tak, že použijeme dešifrovací algoritmus jako podpisovací algoritmus a šifrovací algoritmus jako ověřovací. Dešifrovací algoritmus totiž závisí na tajném klíči, který je známý pouze tomu, kdo podepisuje. Šifrovací algoritmus závisí na veřejném klíči, který je dostupný každému, podpis tedy může ověřit kdokoliv. V takto jednoduché podobě jde o podpis s obnovou zprávy. Podepisovanou zprávu x není nutné posílat spolu s podpisem σ, protože ji získáme z podpisu σ jako výsledek ověřovacího algoritmu. V případě dlouhých zpráv trvá vytvoření podpisu a jeho ověření příliš dlouho. Asymetrické šifrovací systémy jsou příliš pomalé.

16 Jednoduchý RSA podpis Použijeme-li jako výchozí šifrovací systém RSA, dostaneme jednoduchý RSA podpis. Ten trpí několika problémy, které jsou způsobené tvarem šifrovacího a dešifrovacího algoritmu u RSA. Tak například není odolný vůči existenčnímu podvržení. Každý si snadno může k libovolnému náhodně zvolenému podpisu σ vytvořit zprávu m = σ e mod N, jejímž podpisem je právě σ. Vytvoří tak zprávu m s platným podpisem σ, nemá ale žádnou kontrolu nad podobou zprávy m. Stejně tak je snadné ze dvou platných podpisů (m,σ) a (m’,σ’) vytvořit nový platný podpis (m’’,σ’’) tak, že položíme m’’ = mm’ mod N a σ’’ = σσ’ mod N. Tyto bezpečnostní problémy lze odstranit použitím hašovací funkce.

17 Systém bez obnovy zprávy V praxi se proto používají podpisové systémy bez obnovy zprávy. Nepodepisuje se zpráva x, ale hodnota H(x), kde H je nějaká hašovací funkce. Podepisují se tak pouze zprávy délky rovné délce hašovací funkce H. Podpisem je tak dvojice ( H(x),σ ), kde σ je podpis textu H(x). Podepisovaná zpráva x se posílá spolu s podpisem, není ji proto nutné obnovovat. Použitá hašovací funkce musí být odolná vůči nalezení kolizí. V opačném případě by bylo možné mít stejný podpis ke dvěma různým zprávám. Jednu by si útočník nechal podepsat a pak by podpis připojil ke druhé zprávě. Tím by podvrhnul podpis druhé zprávy.

18 ElGamalův podpis Je založený na ElGamalově šifrovacím systému. Dva veřejné parametry jsou velké prvočíslo p a kladné číslo g menší než p takové, že g x mod p je různé od 1 pro každé kladné x < p-1. Generátor klíče nyní vygeneruje náhodné kladné x a spočítá číslo y = g x mod p. Veřejný klíč je K p = y. Tajný klíč je K s = x. Pak se spočítá otisk h = H(m) podepisované zprávy m pomocí nějaké hašovací funkce H. Podpis se vygeneruje tak, že se zvolí náhodné kladné číslo k menší než p-1 a spočítá r = g k mod p a s = (h - xr)k -1 mod (p-1). Podpis zprávy h je potom dvojice σ = (r,s). Ověřovací algoritmus spočívá v ověření rovnosti y r r s = g h mod p. Pokud byl totiž podpis σ = (r,s) správně spočítán, tak platí y r r s = g xr+ks = g h mod p.


Stáhnout ppt "Úvod do klasických a moderních metod šifrování Jaro 2009, 8. přednáška."

Podobné prezentace


Reklamy Google