Asymetrická kryptografie

Rozměr: px
Začít zobrazení ze stránky:

Download "Asymetrická kryptografie"

Transkript

1 Mendelova zemědělská a lesnická univerzita v Brně Provozně ekonomická fakulta Asymetrická kryptografie Diplomová práce Vedoucí práce: Mgr. Tomáš Foltýnek, Ph.D. Bc. Antonín Moravec Brno 2009

2 2

3 .

4 4

5 Tímto bych chtěl poděkovat panu doktoru Tomáši Foltýnkovi za čas, který mi věnoval při zpracování této diplomové práce, a za jeho přínosné připomínky ke zpracovávaným aplikacím.

6 6

7 Prohlašuji, že jsem tuto diplomovou práci vyřešil samostatně s použitím literatury, kterou uvádím v seznamu. V Brně dne 5. ledna

8 8

9 9 Abstract Moravec, A. Asymmetric cryptography. Diploma thesis. Brno, The diploma thesis deals with the basic methods and tools of asymmetrical cryptography, its principal parts and applications. Moreover, it is made as an essential material for creation of elearning staff of the Compression and Cryptography. To make the thesis more understandable, the crucial points include some examples with the illustration of answer. The chapters concerning with the principle of RSA and the basics of PGP (Pretty Good Privacy) are supplied by two demonstrative applications. Abstrakt Moravec, A. Asymetrická kryptografie. Diplomová práce. Brno, 2009 Diplomová práce popisuje základní metody a nástroje asymetrické kryptografie, její hlavní pilíře a aplikace. Je dále určena jako podklad pro tvorbu elearningových opor pro předmět Komprimace a šifrování. Pro dostatečnou názornost jsou ke stěžejním bodům uvedeny příklady s ukázkou řešení. Ke kapitolám o principu RSA a základech fungování PGP (Pretty Good Privacy) jsou zpracovány dvě demonstrační aplikace.

10 10

11 OBSAH 11 Obsah 1 Úvod a cíl práce Úvod do problematiky Cíl práce Metodika 15 3 Literární přehled 16 4 Východiska pro téma asymetrická kryptografie Základní pojmy, kategorizace kryptografie Šifrování, cesta k asymetrické kryptografii Kdo je napřed? Kryptografie nebo kryptoanalýza? Problém s distribucí klíčů Účastnící šifrované komunikace, dvakrát zamčená skříňka Modulární aritmetika, jednosměrná funkce Asymetrická kryptografie, algoritmy The knapsack algorithm (batohový algoritmus) Přichází veřejné a soukromé klíče RSA DSA a ECDSA ElGamal Asymetrická kryptografie, aplikace PGP (Pretty Good Privacy) Digitální a elektronický podpis Další oblasti využítí asymetrických metod šifrování Asymetrická kryptografie, standardy a bezpečnost Certifikáty a certifikační autority PKI, PKCS Kryptoanalýza a možnosti útoku na kryptografické mechanizmy Implementace PGP a RSA Implementace Implementace RSA Implementace PGP Diskuze Návrh na využití v praxi Závěr 59

12 12 OBSAH 12 Literatura Přehled použitých zkratek 63 Přílohy 64 A Příklad 1, transpozice a substituce 65 B Příklad 2, kombinace dvou jednoduchých šifer 67 C Příklad 3, modulární aritmetika 70 D Příklad 4, Bézoutova rovnost 71 E Příklad 5, šifrování soukromým klíčem 72

13 1 ÚVOD A CíL PRÁCE 13 1 Úvod a cíl práce 1.1 Úvod do problematiky Kryptografie byla jedním z důvodů příchodu počítačů, které se nejprve staly výsadou armád, tajných služeb a vědeckých pracovišť. Šifrování výpočetními prostředky bylo výhradně používáno v těchto oblastech a mohly s ním být díky dostatečnému finančnímu zabezpečení spojeny i nemalé náklady. S poklesem výrobních nákladů počítačových komponent a s tím souvisejícím poklesem cen přišla masová produkce a počítače se staly nezbytnou součástí běžného civilního života. Potřeba zabezpečené komunikace a bezpečného uložení dat bez zbytečných nákladů nebyla neočekávaným důsledkem informačního věku jak je dnešní doba s oblibou nazývána. Informační technologie procházely celou řadou vývojových stupňů. Většina z nás již skoro zapomněla na éru děrných štítků a pomalu a rádi zapomínáme i na diskety. Kryptografie využívá s oblibou moderních prostředků výpočetní techniky zejména kvůli faktu, že počítače jsou schopny zpracovat miliónkrát větší objemy dat, než které by byl schopen za stejnou časovou jednotku zpracovat člověk vybavený papírem a tužkou. Právo na soukromí je zakotveno již v Listině základních práv a svobod: Každý má právo na ochranu před neoprávněným zasahováním do soukromého a osobního života. [11] Dříve bylo možné dosáhnout bezpečnosti listovní komunikace pouhým zapečetěním zásilky. Protože se však komunikace přesunula z formy fyzické do formy elektronické, je potřebné i tuto komunikaci zabezpečit proti zcizení a zachování soukromí. Významným hráčem bezpečné elektronické komunikace je asymetrická kryptografie. Je tomu tak z důvodu, že vyřešila problém, kterým si lámala hlavu dlouhou dobu řada kryptologů. Tímto problémem byla bezpečná a efektivní výměna tajné informace (klíče) mezi odesílatelem a příjemcem zprávy. 1.2 Cíl práce Cílem této práce je seznámit čtenáře s aspekty šifrování, zejména pak s problematikou asymetrické kryptografie. Při zpracování postupovat od vzniku asymetrické kryptografie přes její historický vývoj až k její aplikaci v dnešní době. Fakta podávat srozumitelně, jednoduše a pochopitelně tak, aby text mohl být použit jako úvodní kurz do této oblasti kryptografie. Pro vysvětlení oblastí, ke kterým lze sestavit názorný příklad, této možnosti využít a dopomoct tím k jednoduššímu pochopení problému čtenářem. Na základě nastudovaných a teoreticky popsaných principů vytvořit aplikace názorně prezentující asymetrickou kryptografii a digitální podpis. Tyto aplikace představit čtenáři tak, aby mu dopomohly k praktickému osvojení dané problematiky. Cílovou skupinou potenciálních čtenářů jsou studenti předmětu Komprimace a šifrování na MZLU, který se zabývá teorií informace, kompresí dat a šifrováním. Studenti se proto musí seznámit i s oblastí asymetrické kryptografie. Na znalosti čte-

14 14 1 ÚVOD A CíL PRÁCE náře jsou kladeny víceméně základní požadavky na orientaci v oblasti IT a povědomí o jednoduchých operacích typu XOR, modulo a podobně.

15 2 METODIKA 15 2 Metodika Z dostupných knižních a elektronických zdrojů budou získány informace pro představení základních metod šifrování, na kterých stojí nejen asymetrická kryptografie. Na základě těchto podkladů budou podrobně popsány v kryptografii hojně používané metody transpozice a substituce. Dále bude patřičný úsek věnován závislosti bezpečnosti šifrovacích algoritmů na výpočetním výkonu počítačů. Budou nastudovány a představeny nezbytné matematické základy šifrování. Důraz bude kladen zejména na modulární aritmetiku, která hraje roli ve většině oblastí šifrování. Dále také budu analyzovat problematiku jednosměrných funkcí využívaných například v systému výměny klíčů Diffie-Hellman-Merkle. Pro aplikaci asymetrických metod šifrování v elektronickém podpisu bude zpracována možnost šifrovat pomocí algoritmu RSA, který se neobejde bez nastudování vlastností rozšířeného Eukleidova algoritmu a Bézoutovy rovnosti. Algoritmus ELgamal stojí na pilířích vystavěných na řešení diskrétního logaritmu, který bude krátce popsán. NP úplné problémy jsou řešitelné pouze v exponenciálním čase. Do řešení bude zahrnuto i toto dogma, na kterém stojí algoritmy založené na řešení problému tzv. batohu. Nebude opomenuto také to, že kryptografie pracuje často s jednotlivými bity, u kterých je užito binární operace XOR (exclusive or). Pro možnost ověřit si získané informace o RSA a PGP prakticky použiji teoreticky nabytých znalostí, díky nimž vytvořím dvě aplikace znázorňující asymetrickou kryptografii a elektronický podpis. Pro naprogramování těchto aplikací využiji výhod objektově orientovaného programovacího jazyka JAVA. Při návrhu a zpracování těchto aplikací se zaměřím z důvodu cíle této práce především na názornost použitých šifrovacích mechanizmů.

16 16 3 LITERÁRNí PŘEHLED 3 Literární přehled Otázka bezpečné komunikace a šifrování je oblíbeným tématem knih, časopisů, elektronických médií a dalších zdrojů. Internet byl pro tuto práci nejdostupnějším, nejaktuálnějším a nejpřínosnějším zdrojem informací. Výběr internetového zdroje ovšem není úplně triviální záležitostí, protože ne všechny zdroje mohou být považovány za úplně důvěryhodné. V takových případech přichází na řadu tištěné publikace, které tvoří pevnou a důvěryhodnou kostru celé práce. Většina metod kryptografie je založena na faktech známých již mnoho let. Díky tomuto faktu bylo využito i mnoha tištěných publikací, které byly doplněny informacemi získané z elektronických zdrojů. Kniha kódů a šifer [1] je významným zdrojem cenných informací pro nováčka v oblasti šifrování. Na počátku se stala inspirací pro přípravu kostry práce. Díky ní dostane čtenář potřebné historické souvislosti nezbytné pro pochopení celé tematiky šifrování. Této knize velice dobře sekunduje publikace Kryptografie. [2] Podobně jako Kniha kódů a šifer je dobře pochopitelná i pro kryptografického začátečníka. Kryptografia v informačnej bezpečnosti [3] je svou strukturou podobná předchozím dvěma publikacím a v některých oblastech je vhodně doplnila. Zdrojem mnoha odborných informací pro více oblastí této práce, počínaje RSA a elektronickým podpisem konče, byla publikace ze Slovenské technické univerzity v Bratislavě. [14] Svět elektronického podpisu [4] vydaný jako příloha časopisu PC WORLD byl příhodným zdrojem informací o fungování elektronického podpisu. Technologii PKI mohla být v této práci věnována pozornost díky článku o vztahu PKI a Evropské Unie. [15] Pro informace o standardech PKCS bylo sáhnuto po internetových stránkách RSA Laboratories. [17] PGP: Pretty Good Privacy šifrování pro každého [5] poskytlo mnoho obecných informací o problematice šifrování, ale zejména podrobnosti o metodách a algoritmech používaných ve slavném programu Phila Zimmermanna z konce 80. let minulého století. V této publikaci je podobně jako v mnoha dalších zdrojích podrobně popsáno Diffie-Hellmanovo schéma. [5] Elektronických zdrojů nezbytných pro zpracování této práce bylo velice mnoho. Pro definice pojmů používaných v kryptografii byla v některých případech nezbytná i internetová verze slovníku cizích slov [16] a výkladový slovník americké společnosti Microsoft. [18] Zdrojem odborných článků byl archív článků uveřejněných v časopise Computerworld věnujícím se oblasti IT dostupný na adrese Významnou úlohu hrál zejména pro sestavení kapitoly o modulární aritmetice. [20] Dále byl tento zdroj použit pro kapitolu o DSA a ECDSA. [30] Pro získání informací o batohovém algoritmu bylo čerpáno z oblíbeného internetového zdroje o kryptografii [31] a ve Spojených státech vydané publikaci, věnující se aplikované kryptografii. [32] Dalším důležitým internetovým zdrojem byly stránky jednoho z předních českých kryptologů Vlastimila Klímy Díky zde uveřejněným článkům byly rozšířeny kapitoly o schématu ElGamal [26] a nejznámějších

17 3 LITERÁRNí PŘEHLED 17 schémat pro digitální podpisy DSA [23] a RSA [27]. Pro sepsání kapitoly o DSA byl dále použit článek o nejpoužívanějších šifrách současnosti uveřejněný na serveru vydavatelství Sdělovací technika. [12] Pro kapitolu o RSA bylo dále využito publikace Petra Koláře z katedry aplikované informatiky Technické univerzity v Liberci. [25] Díky přednášce pana doktora Jana Přichystala z PEF MZLU o asymetrické kryptografii v rámci předmětu Komprimace a šifrování se podařilo doplnit kapitolu o RSA a přidat chybějící důkaz o možnosti zpětně rozšifrovat zprávu zašifrovanou pomocí RSA. [29] V kapitole věnující se použití šifrovacích metod byly použity články o SSH a SSL zveřejněné na internetu. [19][21] Část o závislosti bezpečnosti na výpočetním výkonu vznikla za přispění článku zveřejněného na serveru který se věnuje především oblasti PHP. [13] Přednáška o bezpečnosti a spolehlivosti Wi-Fi sítí Petra Tomana, která se konala v roce 2007 v rámci předmětu Inovace pro informatiky, přispěla k představě o bezpečnosti používaných šifrovacích metod v praxi. [9] Obsah kapitoly věnující se kryptoanalýze a typům útoku na kryptografické mechanizmy byl sestaven na základě článků autorů z Univerzity Karlovy v Praze. [22][24] Internetová verze Listiny základních práv a svobod byla klíčem pro zdůvodnění ochrany soukromí při komunikaci pomocí elektronických médií. [11] Při sestavování kapitoly o implementaci a samozřejmě i při samotné implementaci ukázkových aplikací byly často používány knihy věnující se programovacímu jazyku Java. [6][7][8] Pro řešení problémů s formální úpravou bylo použito Doporučení pro úpravu diplomových a jiných prací. [10]

18 18 4 VÝCHODISKA PRO TÉMA ASYMETRICKÁ KRYPTOGRAFIE 4 Východiska pro téma asymetrická kryptografie 4.1 Základní pojmy, kategorizace kryptografie Jako každá vědní disciplína, tak i kryptografie má množství speciálních odborných výrazů. Začněme například u slova kryptografie, které vyjadřuje vědu o způsobech utajení otevřeného textu převedením do stavu, ve kterém je čitelná jen za speciálních podmínek nebo se speciální znalostí. Oproti kryptografii stojí vždy kryptoanalýza, což je obor zabývající se lámáním šifer. Otevřený text je zpráva čitelná pro libovolnou osobu. Dvěma základními operacemi této oblasti jsou zašifrování a dešifrování pomocí šifrovacího nebo dešifrovacího algoritmu. (Obr. 1) Šifrování je operace převedení otevřeného textu na tvar čitelný pouze pro osobu vlastnící jistou speciální informaci. Touto speciální informací je klíč, bez jehož znalosti je získání otevřeného textu za daných podmínek velice obtížné nebo v ideálním případě nemožné. Můžete namítnout, že nutností je i znalost algoritmu pro šifrování a dešifrování. Toto tvrzení se zakládá na pravdě, ale je jej potřebné rozšířit o zlaté pravidlo kryptografie, které tvrdí, že bezpečnost kryptografického mechanizmu nesmí stát na neznalosti algoritmu, ale na neznalosti tajného klíče. [14] Obr. 1: Jak funguje kryptografie [34] Pokud budeme uvažovat o ideální šifrovací metodě používající pro šifrování klíč, představíme si metodu, kterou pokud zašifrujeme otevřený text tak, že jedinou možností, kterou může aplikovat případný útočník, bude útok hrubou silou. Tento útok je oproti kryptoanalýze specifický tím, že jednoduše zkoušíme aplikovat na šifrovaný text všechny možné klíče. Síla takovéto šifry je dána množstvím klíčů, které musí útočník vyzkoušet, než klíč uhádne a časovou náročností jednoho takovéhoto pokusu. Strana provádějící kryptoanalýzu má zpravidla nejčastěji k dispozici jen šifrovaný text zprávy, ve kterém se kryptoanalytici snaží nalézt pravidelnost, která by pomohla dopracovat se k otevřenému textu. Šanci na úspěch kryptoanalýzy může zvýšit znalost otevřeného textu a jeho šifrované podoby nebo vlastnictví mechanizmu, který má na vstupu otevřený text a na výstupu šifrovanou zprávu. Kryptografii lze kategorizovat na symetrickou kryptografii, asymetrickou kryptografii a hash funkce. Symetrická kryptografie je charakteristická tím, že pro zašifrování a rozšifrování je použit stejný klíč. Naopak u asymetrické kryptografie jsou pro tyto operace použity rozdílné klíče. Od hash funkcí očekáváme takovou funkčnost, že jejich vstupem bude otevřený text a výstupem řetězec konstantní délky, někdy označovaný jako otisk zprávy, který přesně reprezentuje libovolný vstup, ale nelze z něj zpětně získat otevřený text. [14]

19 4.2 Šifrování, cesta k asymetrické kryptografii 19 Dvěma dalšími pojmy metod kryptografie jsou substituce a transpozice. Každý prvek zprávy nahradíme (substituce) nebo změníme (transpozice) jeho pozici v rámci zprávy. Oba dva druhy můžeme použít i zároveň. I ty nejsložitější metody šifrování lze zpravidla na tyto dvě elementární operace rozdělit. Příklad k tomuto tématu naleznete v příloze A. 4.2 Šifrování, cesta k asymetrické kryptografii Zamknutím vstupních dveří do bytu nebo zapnutím alarmů po odchodu z automobilu chráníme svůj cenný majetek proti odcizení. Analogii můžeme najít i v používání šifer a kódů. Zamčené auto je na parkovišti ve větším bezpečí než odemčené, zašifrováním u snížíme pravděpodobnost, že jej přečte někdo nepovolaný. Mechanizmus zamčení zprávy je podobný uzamknutí dveří domu. (Obr. 2) Odemknout jej může pouze držitel klíče nezávisle na jeho hmotnosti či nehmotnosti. Takto funguje svět bez těch, kteří umí daný mechanizmus ochrany prolomit a zcizit tak majetek v podobě zprávy nebo vybavení bytu. Obr. 2: Symetrické šifrování[33] Představme si situaci, kdy jedním klíčem vchodové dveře pouze zamkneme a jiným druhým klíčem jen odemkneme. I tuto situaci můžeme jednoduše převést na naši šifrovací podobu. Rozšíříme-li naši představu ještě o fakt, že v domě bydlí manželé a zamkne-li dům manželka, tak ho otevře svým klíčem pouze manžel, dostáváme situaci nemálo podobnou principům fungování asymetrické kryptografie. 4.3 Kdo je napřed? Kryptografie nebo kryptoanalýza? Existuje spousta tvrzení uznávaných vědců, průmyslníků či uznávaných odborníků, o jejichž platnosti se po jisté době začalo pochybovat a později byly i vyvráceny. Vzpomeňme třeba výrok ze sedmdesátých let minulého století v současné době jednoho z nejbohatších lidí zeměkoule Billa Gatese, který v překladu zní: Nikdo nebude potřebovat osobní počítač s pamětí větší než 637 kb. Tento výrok se umístil v první desítce nejhorších předpovědí v oblasti techniky všech dob. [28] Příklad můžeme najít také ve sféře počítačových sítí, kde necelý rok od vydání (1999) trvalo prolomení

20 20 4 VÝCHODISKA PRO TÉMA ASYMETRICKÁ KRYPTOGRAFIE bezpečné šifry RC4 používané ve WEP (Wired Equivalent Privacy) klíči. [9] Z tvrzení výše je velmi dobře patrné, že se jen těžce odhaduje, po jak velkých skocích poroste výkon počítačů, který je velice úzce spjat i s bezpečností kryptografických mechanizmů (vzpomeňme závislost časové náročnosti brute force útoku a výkonu prolamujících strojů). Kryptografie je světem dvou protistran. Proti sobě stojí tvůrci stále dokonalejších mechanizmů a nástrojů šifrování a luštitelé, neboli kryptoanalytici, snažící se o nové techniky dešifrování utajené komunikace. V současné době se zdá, že vítězí strana kryptografů. Existují totiž šifry, které by odolávaly útoku hrubou silou za použití standardně dostupných prostředků déle, než existuje vesmír, a zároveň jsou imunní i proti ostatním způsobům kryptoanalytického útoku. Správné šifrovací algoritmy jsou bezpečné díky utajení klíčů, nikoliv však utajení samotného algoritmu. [1] 4.4 Problém s distribucí klíčů Výše zmíněné mechanizmy symetrické kryptografie však naráží na jeden podstatný problém, kterým je bezpečná výměna klíče. Představme si například situaci dvou obchodních partnerů, kteří domlouvají prostřednictvím internetu strategický kontrakt, a je velice nežádoucí, aby se podrobnosti obchodních ujednání dozvěděla třetí strana, která by komunikaci odposlechla. Zprávy tedy budeme šifrovat a použijeme super bezpečnou metodu AES (předpokládáme, že obě strany ví, jak algoritmus AES použít) s klíčem délky 256 b. Jak však tento klíč předáme adresátovi, který jej potřebuje pro získání textu zprávy? Jistě každého napadne více možností jak klíč předat. Klíč můžeme předat osobně, použít pro předání kurýra nebo jednoduše zatelefonovat. Jsou však tato řešení předání ekonomicky únosná a bezpečná? Osobní předání každého klíče je při větším počtů klíčů časově nezvládnutelné. Použitím kurýra vstupuje do komunikace třetí osoba, se kterou se výrazně sníží bezpečnost, a náklady na přepravu klíčů jsou také nemalé. Konečně telefonní linka může být odposlouchávána. [2], [3] Vzpomeňme na nejznámější šifrovací stroj používaný v druhé světové válce Německou armádou zvaný Enigma. Pro každý den byl použit nový klíč obsažený v kódových knihách, které musel mít k dispozici pro možnost rozšifrovat vysílanou zprávu každý operátor Enigmy. Tyto knihy obsahovaly 28 rozdílných náhodných klíčů. Každý klíč měl platnost přesně jeden den, proto bylo nutné dodat operátorům novou knihu klíčů pouze jednou za 4 týdny. Pokud by byla použita šifra pouze jednou, náročnost by nezvladatelně rostla. Vezmeme-li i méně bezpečnou variantu a uvědomíme si rozsah působnosti Wehrmachtu a počty operátorů Enigmy (během války jejich počet přesáhl sto tisíc), kteří byli v různých částech válečných území v často špatně dostupných územích (na lodích, ponorkách... ), je distribuce zvládnutelná pouze s maximálním vypětím a neomezenými zdroji peněz. [14] Problém distribuce klíčů je tedy velice významný již dlouhou dobu, ať již použijeme jakkoliv bezpečnou šifru, a nabývá na významu zejména po přesunu nut-

21 4.5 Účastnící šifrované komunikace, dvakrát zamčená skříňka 21 nosti šifrovat komunikaci z armádních kruhů mezi veřejnost, vyžadující bezpečnou každodenní komunikaci například s bankou. Představme si hypotetickou situaci, kdyby mezi sebou nezávisle na bance mělo mít možnost komunikovat všech 6,5 miliónu klientů bank v České republice. Pak by muselo existovat přibližně [( ) 2 /2 = ] klíčů, což by představovalo neúnosné náklady. Takto závažný problém se navíc zdál po dlouhá staletí neřešitelným. Toto dogma však padlo v 70. letech a byl to největší objev v oblasti kryptografie 20. století. O tento významný počin se nezasloužila žádná z velkých počítačových korporací jako je IBM nebo Sun Microsystems ani vládní kryptografické bezpečnostní agentury jakou je třeba NSA (National Security Agency), ale tým tří nezávislých vědců Whitfield Diffie, Martin Hellman a Ralph Merkle. Položili tak základ pro asymetrickou kryptografii, kterou se budeme zabývat v dalších kapitolách. [5] 4.5 Účastnící šifrované komunikace, dvakrát zamčená skříňka Představme si tři pomyslné účastníky naší šifrované komunikace. Alici, která chce každý den odeslat zprávu Bobovi takovým způsobem, že si bude jistá, že její obsah přečte pouze adresát tedy Bob. Třetí fiktivní osobou je Eva, která odposlouchává všechny dostupné komunikační kanály mezi Bobem a Alicí. Ta se snaží jakoukoliv zprávu od Alice zachytit a bude se pokoušet o získání jejího obsahu. Alice o Eviných pokusech ví a zná i základní kryptografické metody, proto pro ni není problém každou zprávu Bobovi zašifrovat. Problém s distribucí klíčů řeší jedinou bezpečnou cestou a to tak, že se jednou za měsíc s Bobem sejdou a 30 rozdílných klíčů si předají. Toto řešení jim vydrží pouze do doby, kdy Bob odjíždí do vzdálené země a již se s Alicí nemůže osobně scházet. Kurýra se Alice pro předání klíčů použít bojí, protože je nejen drahý, ale především Eva má možnost jej uplatit či jinak od něj seznam klíčů získat. Alice však přijde se spásným nápadem jak zprávu bezpečně předat bez vysokých nákladů a nutnosti se s Bobem osobně sejít. Navrhne Bobovi pro předávání zpráv dvakrát zamčenou skříňku. [1] Eva symbolizující v šifrované komunikaci útočící stranu, je z potenciálního útoku vždy podezírána. Proto se Alice proti útoku pojistí zprávu před odesláním zamkne do cestovního trezoru a pošle běžnou poštou Bobovi. Trezor je bezpečný natolik, že si odesílatel a příjemce mohou dovolit požádat například i Evu, aby zamčenou skříňku Bobovi předala osobně. Jakmile Eva zásilku předá, Bob ji opatří svým zámkem a pošle po Evě zpět Alici. Ta zásilku přijme, svůj zámek odemkne a skříňku zamčenou nyní již jen Bobovým zámkem znovu odešle. Bob jednoduše odemkne klíčem, který má pouze ve své moci a přečte si obsah zprávy. Eva neměla žádnou šanci odposlechnout nebo odcizit klíč, k jeho výměně mezi Alicí a Bobem totiž vůbec nemuselo dojít. Toto je však pouze abstrakce toho, jak potřebujeme, aby bezpečná šifrovaná komunikace probíhala. V oblasti šifrování je u složitějších klíčů nutné postupovat při dešifrování zprávy zašifrované pomocí dvou klíčů metodou LIFO. Poslední použitý

22 22 4 VÝCHODISKA PRO TÉMA ASYMETRICKÁ KRYPTOGRAFIE klíč musí být odstraněný jako první. Příklad k této problematice lze nalézt v příloze B. [1] Jak je dobře vidět v příkladech uvedených v příloze B, je princip dvakrát zamčené skříňky aplikovatelný pouze na nejjednodušší šifry, které není problém v krátké době prolomit. Proto je tento princip ve světě kryptografie nepoužitelný, ale byl inspirací při dalším pátrání po řešení problému distribuce klíčů. 4.6 Modulární aritmetika, jednosměrná funkce Skupina kolem W. Diffieho se zabývala v 70. letech hledáním řešení problému distribuce klíčů. Věnovali se výzkumu v oblasti jednosměrných matematických funkcí, které mají tu jedinečnou vlastnost, že je jednoduché je provést, ale velice těžké provést funkci inverzní. Rozpůlené jablko již nesložíme dohromady, vypitou lahev již původním obsahem nenaplníme, z vařeného vejce již slepice nikdy nebude. Takováto vlastnost by byla velice výhodná i pro šifrování, které je také funkcí přiřazující jednotce vstupu zašifrovanou jednotku na výstupu. [5] Obr. 3: Diffi-Hellmanovo schéma [35] Oblastí, kde lze najít jednocestných funkcí více, je modulární aritmetika, ve které se po každé operaci provede celočíselné dělení a výsledkem je zbytek. Operace modulo je viditelně závislá na jiné operaci, a to celočíselném dělení. Po provedení operace celočíselného dělení dostaneme výsledek a zbytek, který je právě výsledkem operace modulo. Výsledkem a modulo b na přirozených číslech je c takové, že patří do intervalu přirozených čísel v rozsahu < 0, b 1 >. V této aritmetice pracujeme s konečnou množinou cyklicky uspořádaných čísel. Této aritmetice bývá často přezdíváno hodinová aritmetika, protože výsledky aplikace operace modulo jsou uspořádány do kruhu a připomínají tím tak ciferník hodin. Příklad na tuto problematiku naleznete v příloze C. [20] Analogicky k předchozímu příkladu postupujeme při použití jiných operací jako je násobení, umocňování a ostatních. Jaký přínos má zavedení modulární aritmetiky pro kryptografii? Význam je v jednosměrnosti výpočtů popsané výše. Srovnejme

23 4.6 Modulární aritmetika, jednosměrná funkce 23 nyní obousměrnost výpočtu ve standardní aritmetice a jednosměrnost v modulární aritmetice na těchto příkladech: 5 x = 25, 5 x = 6 ( mod 7). Výsledek prvního příkladu je na první pohled patrný, u druhého je hledání výsledku výrazně těžší. Je to dáno faktem, že mezi jednotlivými čísly nebyla objevena žádná závislost a oproti standardní aritmetice zde nefunguje logaritmus. Pro výpočet nám může pomoci tabulka rostoucí hodnoty mocniny s měnící se funkční hodnotou a zbytku po dělení. (Tab. 1) Tab. 1: Rostoucí mocnina a zbytek po dělení mocnina umocněno zbytek po dělení ( mod 7) U takto malých čísel není problémem sestavit takovouto tabulku a nalézt výsledek. Pro větší čísla by bylo však hledání velice obtížné. Nalezení výsledek pro příklad 5567 x = 69 ( mod ) se blíží k nemožnosti, máme tedy jednosměrnou funkci. Tuto funkci použije v tzv. Diffie-Hellmanově schématu výměny klíče Alice a Bob pro určení tajného klíče v tabulce níže. (Tab. 2) Eva odposlechne veškerou komunikaci a snaží se o prolomení.[1] Tab. 2: Alice a Bob stanovují klíče Alice Bob Eva 1 Dohodnou běžným způsobem jednosměrnou funkci Odposlechne komunikaci Z x ( mod Y ) a zvolí Z = 7 a Y = 13. a získá funkci i hodnoty Y a Z. 2 Zvolí náhodné tajné číslo A = 16. Zvolí náhodné tajné číslo B = 11. Nezná ani A, ani B. 3 Dosadí A do předpisu Dosadí B do předpisu A ani B se nepřenáší, 7 A ( mod 13) a vypočte 7 B ( mod 13) a vypočte nemá jak hodnoty odposlechnout = 9 ( mod 13) = 2 ( mod 13). 4 Odešle běžným způsobem vypočtené číslo AA = 9. 5 Alice dosadí do BB A ( mod 13) a získá 2 16 = 3 ( mod 13). Odešle běžným způsobem vypočtené číslo BB = 9. Bob dosadí do AA B ( mod 13) a získá 9 11 = 3 ( mod 13). 6 Alice a Bob dospěli ke stejné hodnotě klíče 3, aniž by si její přesnou hodnotu museli osobně předat. Odposlechne komunikaci a získá hodnoty AA a BB, které však nejsou klíči. Zná předpis jednosměrných funkcí v této podobě: 7 A = 9 ( mod 13) a 7 B = 2 ( mod 13) Sestaví tabulku funkčních hodnot a podaří se jí klíč určit. Její šance klesne, jsou-li použity mnohem vyšší hodnoty.

24 24 4 VÝCHODISKA PRO TÉMA ASYMETRICKÁ KRYPTOGRAFIE Takováto výměna klíčů způsobila v roce uveřejnění 1976 převrat v kryptografii a posunula metody kryptografie velkým skokem dopředu. (Obr. 3) Tato metoda však byla tehdy v plenkách a měla spoustu nedostatků v podobě nepohodlnosti vzájemné výměny informací pro ustavení klíče nebo jeho neefektivní distribuce. Systém Diffie- Hellman-Merkle sice problém výměny klíčů definitivně nevyřešil, ale byl to velice významný krok v oblasti šifrování.

25 5 ASYMETRICKÁ KRYPTOGRAFIE, ALGORITMY 25 5 Asymetrická kryptografie, algoritmy Asymetričnost je vlastnost objektu nebo jevu, která má v češtině význam opačný ke slovu symetrie. V procesu symetricky šifrované komunikace, tak na straně odesílatele i příjemce nalezneme stejný klíč použitý jak pro zašifrování, tak pro operaci opačnou. (Obr. 1) V oblasti asymetrického šifrování je situace odlišná. Odesílatel a příjemce nepoužijí stejné klíče pro zašifrování a rozšifrování, tyto klíče jsou však matematicky spojeny. Použité klíče jsou označovány podle svého charakteru jako soukromý a veřejný klíč. Díky základu položenému na principu jednosměrné funkce veřejně distribuovaný klíč nedovolí zašifrovanou zprávu rozšifrovat. [18] Toto je totiž umožněno pouze vlastníku příslušného v tajnosti drženého soukromého klíče. (Obr. 4) Obr. 4: Asymetrické šifrování [36] 5.1 The knapsack algorithm (batohový algoritmus) Jak víme, hlavním problémem symetrických algoritmů je bezpečný přenos klíče. Algoritmus založený na batohovém problému zařazeného do kategorie kompletně nepolynomiálních problémů byl jedním z prvních pokusů jak potíž s výměnou klíčů vyřešit. Bezpečnost algoritmu vyplývá z faktu, že příklady z kategorie NP úplných problémů umíme zatím řešit pouze v exponenciálním čase. Algoritmy postavené na batohu neměly zpravidla dlouhého trvání a prakticky jsou nepoužitelné. Princip šifrování totiž neodpovídá matematickému základu a řešení obtížného problému se dá jednoduše obejít. Jejich obliba neopadá díky jejich názornosti a jednoduchosti vysvětlení základních principů asymetrické kryptografie. [32] Samotné zadání vypadá velice jednoduše, ale časová náročnost exponenciálně roste s přibývajícím počtem předmětů. Zadání zní takto:

26 26 5 ASYMETRICKÁ KRYPTOGRAFIE, ALGORITMY Z dané množiny věcí, které mají všechny svou určitou nezápornou hmotnost, vyberte takovou podmnožinu, která splní požadavek na přesnou celkovou hmotnost batohu. Variantou batohu, která lze jednoduše vyřešit je případ, kdy váha každé položky není nižší než hmotnost předcházejících dohromady (superrostoucí batoh). Při řešení budeme postupovat takto: 1. Seřaď věci podle hmotnosti od nejtěžší po nejlehčí. 2. Vezmi první věc v pořadí a porovnej její hmotnost s rozdílem požadované celkové hmotnosti batohu a hmotností předmětů v batohu již obsažených. 3. Je-li hmotnost potenciálně přidávané věci větší, vyřaď ji, jinak ji do batohu přidej. 4. Pokud nebylo dosaženo požadované hmotnosti a nebyly vyčerpány všechny dostupné předměty, tak pokračuj znovu od bodu 2. Bylo-li dosaženo požadované hmotnosti, úloha je vyřešena. Jsou-li předměty již vyčerpány a nebylo dosaženo dané hmotnosti batohu, úloha nemá řešení. Význam v oblati šifrování je v tom, že triviální řešení superrostoucího batohu spojíme se soukromým klíčem a normální batoh s veřejným klíčem. Pro reálné šifrování je ještě nutno stanovit matematickou funkci, která šifruje pomocí klíče otevřený text na text šifrovaný, a princip převodu soukromého batohu na batoh veřejný. Martin Hellman a Ralph Merkle přišli s tímto řešením.: 1. Převod tajného klíče (lehce řešitelný batoh) na klíč veřejný (obtížně řešitelný batoh) bude probíhat tak, že zvolíme modulo m, které je větší než celkový součet hodnot (hmotnost), který označíme w. 2. Zvolíme číslo n takové, že je s m nesoudělné. 3. Každý prvek množiny vynásobíme n ( mod m). 4. Zašifrování jednoho bitu pak probíhá tak, že pokud jsme daný objekt do batohu zahrnuli použijeme jedničku, jinak nulu. 5. Pro rozšifrování příjemce vynásobí hodnoty šifrovaného textu z 1 mod m. Tento přepočet vyjadřuje inverzi k n (mod m) a snadno ukážeme, že (a n mod m) z mod m = a. Podívejme se nyní na tento algoritmus v rámci tohoto příkladu: Máme veřejný batoh [3, 4, 9, 19, 38, 77]. Modul m zvolíme jako m = 155 a nesoudělné n jako n = 27. Výpočet veřejného batohu proběhne takto: 3 27 mod 155 = mod 155 = mod 155 = mod 155 = mod 155 = mod 155 = 64

27 5.2 Přichází veřejné a soukromé klíče 27 Veřejný klíč je tedy stanoven na [81, 108, 88, 48, 96, 64]. Zprávu rozdělíme po šesti bitech na Rozdělení na šestibitové bloky provedeme proto, že máme šest položek v batohu odpovídá zašifrovaně: = odpovídá zašifrovaně: = odpovídá zašifrovaně: = 172 Šifrovaná zpráva je tedy [255, 200, 172]. Chceme-li zprávu rozšifrovat, použijeme inverzi k n ( mod m) tedy n z pro kterou platí, že n z je kongruentní s 1 ( mod m). Každý blok dopočteme jako b z ( mod m). V tomto příkladě z = 23, pomocí kterého vypočteme: mod 155 = 60 = = mod 155 = 105 = = mod 155 = 81 = = Výsledná zpráva přesně odpovídá původní nezašifrované zprávě. [31] Pro ověření pochopení batohového algoritmu lze využít níže zadaného příkladu, jehož postup řešení je identický k předešlému: K soukromému batohu [4, 6, 11, 24, 48, 95] stanovte modul m větší než součet věcí v batohu a k němu nesoudělné n. Dále vypočtěte hodnoty veřejného batohu. Veřejným klíčem zašifrujte libovolnou zprávu a zpětně ji pomocí známého principu rozšifrujte. Porovnejte původní a rozšifrovanou zprávu. 5.2 Přichází veřejné a soukromé klíče První z klíčů, takzvaný Veřejný klíč, je volně šiřitelný a je vystaven na důvěryhodném serveru, kde kdokoliv, kdo chce zaslat šifrovanou zprávu do vlastních rukou konkrétní osobě, klíč nalezne a poté použije. Zprávu zašifrovanou tímto klíčem nerozšifruje ani odesílatel, ani nikdo jiný mimo adresáta výhradního držitele osobního klíče. Tento klíč je udržován v tajnosti a v případě jeho prozrazení ztrácí systém bezpečnost. Klíč je použit právě tehdy, obdrží-li adresát veřejným klíčem šifrovanou zprávu určenou jemu. Alice i Bob disponují každý dvojicí rozdílných klíčů s rozdílným určením i charakterem. Alice, pokud chce odeslat šifrovanou zprávu Bobovi, nalezne Bobův veřejný klíč ve veřejném seznamu klíčů, zprávu jím zašifruje a odešle. (Obr. 5) Ani sama odesílatelka po zašifrování není schopna zprávu rozšifrovat. V tento moment si všimněme, že již není nutná mezi Alicí a Bobem vzájemná výměna nutných dat pro zašifrování zprávy, jak tomu bylo při ustavování klíče u Diffie-Hellman-Merkleho. Komunikace je asynchronní a Bob může přijmout a rozšifrovat zprávu svým osobním klíčem kdykoli později po odeslání. Stejný klíč by pro zašifrování zprávy určené Bobovi použila například i Eva a kdokoliv jiný. [2] Krom jiného tento mechanizmus řeší i problém distribuce klíčů. Všechny dostupné veřejné klíče jsou volně k dispozici, nejsou předmětem vlastní komunikace. Osobní klíče zůstávají výlučně v držení jejich majitele. V tomto tkví rozdíl v principech fungování symetrické a asymetrické šifry.

28 28 5 ASYMETRICKÁ KRYPTOGRAFIE, ALGORITMY Obr. 5: Bob a Alice používají veřejný a soukromý klíč [37] Princip asymetrické šifry si také lze představit na mechanizmu podobném použití zámků a klíčů u dvakrát zamčené skříňky. Alice odešle Bobovi zásilku odemčených zámků bez klíčů, kterými Bob zamkne Alici odesílanou zásilku pouhým zaklapnutím zámku. Alice je jedinou držitelkou klíče a pouze ona může zásilku odemknout. Stejně jako bylo nutno nalézt matematickou reprezentaci jednosměrné funkce pro praktické použití principu dvakrát zamčené skříňky (Diffie-Hellman- Merkle), tak i zde bez ní zůstává princip v teoretické rovině. Na úspěch již nedosáhl nikdo z trojice Diffie-Hellman-Merkle, dějiny přepsali jíní: Ronald Rivest, Adi Shamir a Leonard Adleman. Podařilo se jim vyřešit problém distribuce klíčů tak, aby komunikace mohla probíhat asynchronně. 5.3 RSA Jednosměrná funkce, kterou by bylo možné používat podle principů asymetrické kryptografie s veřejným klíčem, je funkcí, která se za určitých podmínek stává obousměrnou. To je možné pouze tehdy, jsme-li držitelem jisté speciální informace, umožňující funkci invertovat a zprávu rozšifrovat, kterou je soukromý klíč. [27] RSA je jeden z nejpoužívanějších kryptografických algoritmů, jehož název vznikl z prvních písmen příjmení jeho autorů (Rivest, Shamir, Adleman). Vstupem jednosměrné funkce je nezašifrovaná zpráva převedená na číslo. Výstupem aplikace funkce je zašifrovaná zpráva jiné číslo. V RSA je využito faktu, že v matematice není algoritmicky náročné vzít dvě jakkoliv velká čísla a spočítat jejich součin. Inverzní funkce, tedy rozklad výsledného násobku na prvočinitele, je operací nelehkou, zvlášť použijeme-li jako násobky dostatečně velká prvočísla. Do jednoho miliónu se k použití nabízí celkem prvočísel. Algoritmy pro rozložení čísla na prvočinitele mají exponenciální časovou složitost. Pro pochopení metody RSA potřebujeme rozšířený Euklidův algoritmus, což je algoritmus pro nalezení největšího společného dělitele dvou celých čísel. Příklad k této problematice naleznete v příloze E. Alici a Bobovi již přestala vyhovovat metoda Diffie-Hellman-Merkleho a začnou používat RSA. (Obr. 5) Alice již nechce čekat, až bude Bob vzhůru, aby s ním vyměnila potřebná data k zašifrování zprávy, a začala si dopisovat i s dalšími něko-

29 5.3 RSA 29 Tab. 3: Bob a Alice používají RSA první část Alice Bob Eva Alice zvolí y = 13 a z = Neprobíhá žádná veřejná komunikace. Hodnoty y a 31, která zachová v tajnosti. z nejsou předmětem žádné komunikace. Dosadí do předpisu: y z = N, vypočte = 403 a stanoví hodnotu e = 23 Zveřejní hodnoty N a e. Veřejný klíč je tedy (23, 403) Neprobíhá žádná veřejná komunikace. Od zveřejnění jí již může Bob zašifrovat a odeslat zprávu. Bob šifruje zprávu ve znění: A. Převede zprávu na číselnou reprezentaci a dostane číslo: , které má v desítkové soustavě hodnotu M = 65 Bob nalezne Alicin veřejný klíč N = 403 a e = 23. Dosadí do předpisu ZZ = M e ( mod N) a vypočte ZZ = ( mod 403) = 104. Eva je připravená odposlouchávat jejich komunikaci. Je jí známa veřejná hodnota N a e. Neprobíhá žádná veřejná komunikace. lika kamarády. Původní řešení již Alice považuje za překonané. Podívejme se nyní na tento příklad, ve kterém bude Bob pro jednoduchost používat nízké hodnoty prvočísel a zprávu pro Alici vytvoří o délce jednoho znaku. Princip RSA zůstává zachován, v reálné situaci ale musí Bob pro dosažení bezpečnosti použít prvočísla několikanásobně vyššího řádu. [25] Doplňme jen, že spočítáme-li φ(n) = (y 1) (z 1), dostaneme významnou hodnotu z teorie čísel, tzv. Eulerovu funkci. Při stanovení hodnoty šifrovacího koeficientu e je vhodné ho vybrat z intervalu, kde minimum tvoří maximum z hodnot y a z zvětšených o jedničku a maximum výsledek výpočtu již jmenované Eulerovy funkce tak, aby bylo s φ(n) nesoudělné. V reálném použití je potřeba kontrolovat, zda je hodnota dešifrovacího exponentu d dostatečně velká (bývá uváděno větší než dvojkový logaritmus N). Pokud chceme dokázat to, že lze zašifrovanou zprávu opravdu rozšifrovat, vycházíme z předpokladů definovaných Eulerem: [29] i φ(n) mod N = 1 M ed mod N = M

30 30 5 ASYMETRICKÁ KRYPTOGRAFIE, ALGORITMY Tab. 4: Bob a Alice používají RSA druhá část Alice Bob Eva 6 Přijala ZZ. ZZ je šifrovaný text, který odešle Alici. Odposlechla ZZ. 7 8 Pro rozšifrování dopočte d z rovnice e d = 1 ( mod (y 1) (z 1)), 23 d = 1 ( mod 360). Pomocí rozšířeného Eukleidova algoritmu dostane d = 47. Soukromý klíč je (47, 403). Dosadí do předpisu M = ZZ d ( mod N a získá M = ( mod 403) = 65 Získala původní zprávu A. Neprobíhá žádná veřejná komunikace. Má hodnoty N = 403, e = 23 a ZZ = 104. Disponuje rovnicí 23 d = 1 ( mod ( 403/z 1) (z 1)) a 104 = M 23 ( mod 403). Pokud jsou prvočísla dostatečně vysoká, tak to k odhalení zprávy nestačí. Eva neuspěla. dále pak: z toho dokážeme: f1 : M e mod N = ZZ f2 : C d mod N = M f2(f1(m)) = f2(m e mod N) = (M e mod N) d mod N = = M ed mod N = M k φ(n)+1 mod N = M M k φ(n) mod N = M 1 mod N = M Pro tuto práci byla vytvořena i aplikace, na které lze prakticky vyzkoušet asynchronní šifrovanou komunikaci mezi Alicí a Bobem. Je využito principu RSA a odesílaná zpráva je šifrována pomocí veřejného klíče příjemce. Program naleznete na přiloženém CD. Podrobnosti o tomto programu naleznete v samostatné kapitole. Zde uvádím jen ilustrační screenshot. (Obr. 6) Pokud chce Eva zaútočit na komunikaci Alice a Boba, má šanci uspět při hledání dvou prvočísel, které po vynásobení dají výsledek N = 403, jen díky jejich nízkým hodnotám. (Tab. 3, Tab. 4) Proces hledání neznámých hodnot za současné znalosti výsledku jejich násobení je znám jako faktorizace. V případě dostatečně velkých prvočísel má šanci pouze tehdy, když přijde s velice rychlou metodou faktorizace, odcizí tajné hodnoty y a z, nalezne díry v principech fungování RSA nebo vhodně nasimuluje použitý generátor náhodných čísel. [27] V našem případě je počet prvočísel nižších jak 403 jen 79. Evin postup při faktorizaci je patrný z této tabulky. (Tab. 5)

31 5.3 RSA 31 Obr. 6: Screenshot programu Jednoduché RSA Tab. 5: Eva faktorizuje 403 Krok číslo Prvočíslo p 403 mod p =? (p = 0) 403 div 13 =? (prvočíslo) Stačilo jí tedy testovat, zda dané číslo dělí beze zbytku veřejnou hodnotu 403. Zde stačilo projít jen šesti kroky. Použije-li Alice jako veřejnou hodnotu číslo , musí Eva počítat s prvočísly, pokud se rozhodne toto číslo faktorizovat. Více pozornosti bezpečnosti věnujeme v kapitole Kryptoanalýza a možnosti útoku na kryptografické mechanizmy. Má-li Eva k dispozici pouze kalkulačku, na které je schopna ověřit 5 prvočísel za minutu, tak stráví nad výpočty nepřetržitě necelých 11 dní. Jak se ovšem změní situace, disponuje-li Eva superpočítačem, který ověří prvočísel za vteřinu? Bezpečnost použití čísel tohoto řádu je ta tam. Z historického hlediska doplňme alternativní verzi vzniku asymetrické kryptografie. Britská vláda informovala o tom, že na její principy se přišlo již dříve v britské zpravodajské službě GHCQ za přispění Jamese Ellice a Clifforda Cockse. Existovalo však mnoho důvodů pro utajení, a proto byla tato fakta zveřejněna až po mnoha letech od zveřejnění RSA. [1] Je nám známo, že Alicin veřejný klíč je volně dostupný k použití. Obdrží-li Alice

32 32 5 ASYMETRICKÁ KRYPTOGRAFIE, ALGORITMY zprávu, pod kterou je uvedeno Bobovo jméno, nemůže si být jistá, zda se nejedná o podvrh a opravdovým autorem textu není třeba Eva. Na druhé straně použije-li Bob svůj soukromý klíč k zašifrování zprávy, je Alici jasné, že ji odeslal Bob. Zprávu ovšem díky veřejnému klíči bez problému přečte i kdokoliv jiný. Často bývá také potřeba zašifrovat velké množství dat, pro které by bylo výhodnější z časového hlediska využít rychlou symetrickou šifru než pomalou a těžkopádnou asymetrickou metodou. Vhodně využít a zkombinovat výhody symetrických a asymetrických metod spolu s HASH funkcí se povedlo Philu Zimmermannovi koncem 80. let 20. století v programu PGP ke kterému se dostaneme později (Pretty Good Privacy). 5.4 DSA a ECDSA DSA (Digital Signature Algorithm) je vedle RSA jedním z nejznámějších schémat pro digitální podpisy. DSA se stal standardem Americké vlády pro digitální podpis. K jeho návrhu došlo v roce 1991 americkým institutem NIST, což je vládní instituce pro vydávání standardů a osvědčení. DSA je patentováno pro USA a jeho autorství je připsáno jednomu z bývalých zaměstnanců NSA. Chce-li Alice podepsat zprávu, kterou chce poslat Bobovi, bude postupovat takto: 1. Stanovení klíčů: a) P prvočíslo b) Q prvočíslo takové, že Q dělí P c) H libovolné celé číslo, pro které platí: d) pro G platí: 1 < H < P 1 H P 1 Q mod P > 1 G = H P 1 Q e) X je náhodně generováno a platí, že: mod P 0 < X < Q f) Y = G X mod P g) K je náhodně vygenerováno a platí, že: h) Veřejný klíč tvoří [P, Q, G, Y ] i) Soukromý klíč tvoří [X] 0 < K < Q 2. Podepsání zprávy: a) M je hodnota reprezentující otevřený text b) R = (G K mod P ) mod Q

33 5.4 DSA a ECDSA 33 c) Pro S platí: S = Sha(M) + X R mod Q K Sha() je funkce vracející výsledek HASH funkce SHA1. Může vypadat například takto: 2a e2fe4ac2dae5733c73225ff6cfee1 d) (R, S) je digitální podpis 3. Ověření platnosti: a) M je ověřovaná zpráva b) (R, S ) je ověřovaný podpis c) Ověříme platnost (0 < R < Q) d) Ověříme platnost (o < S < Q) e) H = Sha(M) f) Pro U platí: U = H S mod Q g) Pro W platí: W = R S mod Q h) V = ((G U Y W ) mod P ) mod Q i) pak jestliže se R = V, tak se jedná o autentickou zprávu Druhou variantou DSA je ECDSA (Elliptic Curve Digital Signature Algorithm), které vzniklo přenesením DSA nad algebru bodů eliptické křivky. Obě dvě varianty jsou v USA schváleny standardem pro použití ve vládních institucích. Tento algoritmus byl přijat v roce 1999 jako ANSI (American National Standards Institute) standard a v roce 2000 jako IEEE (Institute of Electrical and Electronics Engineers) a NIST (National Institute of Standards and Technology) standard. Tento systém byl ovšem vynalezen již v roce 1985 (Neal Koblitz a Victor Miller). Je jimi zbořen mýtus o tom, že asymetrická šifra a podpis jsou jedno a to samé. Slouží totiž pouze pro podepisování. [23] [30]. Jelikož výkon výpočetní techniky stále roste, je nutné pro bezpečnost prodlužovat i délku klíčů pro algoritmy založené na klasickém diskrétním logaritmu (např. RSA). V dnešní době se doporučují klíče délky od 2048 bitů. Kryptografie založená na problému diskrétního logaritmu v grupách bodů eliptických křivek má tu výhodu, že pro vhodné křivky zatím nejsou známy útoky s nižší než exponenciální časovou složitostí. To je důvodem, proč nám stačí klíče kratší než u RSA. Kratší klíče jsou výhodné zejména pro čipové karty nebo hardwarové šifrovací komponenty. Díky těžší pochopitelnosti struktury eliptických křivek vládne poměrná nejistota v oblasti oprávněnosti jejich nasazení. K tomuto tvrzení nepřispívá ani větší náročnost implementace. [14]

34 34 5 ASYMETRICKÁ KRYPTOGRAFIE, ALGORITMY 5.5 ElGamal ElGamal je algoritmus, který přišel na svět o něco později než RSA. Jeho základy jsou postaveny na problému složitosti řešení diskrétního logaritmu. Jedná se o nedetermistický kryptosystém, protože zašifrovaný text závisí na otevřeném textu a na hodnotě náhodně generovaného tajného parametru. Existuje tedy možnost existence více verzí zašifrování totožného otevřeného textu. Dešifrování je ovšem jednoznačné. ElGamal má i svoji vylepšenou variantu, Menezes-Vanstoneuv algoritmus postavený na eliptických křivkách. [14] Tento algoritmus lze vysvětlit jako: Mějme m, q, k, Y, která jsou z množiny přirozených čísel. Pro tato čísla platí, že: Y = q k mod m. Potom každé číslo k odpovídající uvedené rovnici nazveme diskrétní logaritmus Y vzhledem k modulu m. Tato definice nedefinuje číslo k jednoznačně, proto se někdy upravuje tak, že ze všech možných diskrétních logaritmů ve smyslu předchozí definice se vybere ten nejmenší. Pro kryptografii má problém řešení diskrétního logaritmu význam v tom, že je snadné spočíst Y při znalosti k, m, q, ale nesmírně obtížné vypočítat diskrétní logaritmus Y vzhledem k modulu m. [5] Podívejme se nyní jak tento algoritmus použít pro šifrování. Hodnoty m, q, Y jsou veřejné a hodnota k je tajná. Pomocí těchto čtyř hodnot a tajného náhodného čísla r lze zašifrovat otevřený text reprezentovaný číselnou hodnotou x do tvaru (y 1, y 2 ) takto: y 1 = q r mod m y 2 = xy r mod m Máme tyto hodnoty: m = 2579, q = 2, k = 765, potom: Y = mod 2579 = 949 Alice vybere náhodné číslo r = 853 a zašifruje zprávu x = 1299 tímto způsobem: y 1 = mod 2579 = 435 y 2 = mod 2579 = 2396 Tuto dvojici čísel odešle Alice Bobovi, který získá otevřený text x za použití těchto vztahů: z = (y k 1) 1 mod m x = y 2 z mod m Bob dosadí za naznáme a získá původní otevřený text x = 1299: z = ( ) 1 mod 2579 = 1980 x = mod 2579 = 1299

35 5.5 ElGamal 35 Tohoto algoritmu existují dvě verze, jedna určená pro digitální podpis a druhá určená pro šifrování. Tento algoritmus je díky společnému základu velice podobný již dříve zmiňovanému D-H modelu. Ve srovnání s RSA je tento algoritmus výrazně méně oblíben. To je způsobeno kupříkladu tím, že zašifrovaná data jsou dvakrát delší než nešifrovaná, a především existencí modernějšího silnějšího následníka v podobě DSA. [14][30]

36 36 6 ASYMETRICKÁ KRYPTOGRAFIE, APLIKACE 6 Asymetrická kryptografie, aplikace 6.1 PGP (Pretty Good Privacy) V současnosti se často hovoří o dnešní době jako o Informačním věku. Informace se stala tím nejcennějším obchodním artiklem. Každý den proběhne množství elektronických bankovních operací, elektronických konferencí mezi obchodními partnery, podání elektronických žádostí státním úřadům a dalších elektronických komunikací. Jak vidno, šifrování přestalo být výsadou armád, tajných služeb špiónů a vysokých státních úředníků. Je zřejmé, že uživateli šifer již nejsou pouze kryptologové a v kryptografii zběhlí uživatelé, kteří disponují nejmodernějšími technologiemi, ale všichni, kteří chtějí bezpečně komunikovat například s bankou, krajským úřadem, policií nebo společníkem firmy pomocí průměrné technologie a základního softwarového vybavení. Na aplikace umožnující šifrovánou komunikaci je proto kladen důraz na rychlost, nenáročnost, jednoduchost, bezpečnost a spolehlivost. [5] Obr. 7: Alice podepisuje zprávu soukromým klíčem [38] RSA nám nabídla dočasnou neprolomitelnost při použití dostatečně velkých prvočísel a přinesla možnost asynchronní šifrované komunikace, čímž vyřešila problém distribuce klíčů. Symetrické šifry jako je například šifra DES nebo její nástupce AES mají podstatně nižší nárok na výpočetní výkon a jsou zároveň dostatečně silnou šifrou. V dnešní době již běžní uživatelé disponují dostatečným výkonem pro použití asymetrické kryptografie. Tak tomu však nebylo v době vzniku RSA. Podobně výkonné počítače byly dostupné pouze velkým organizacím, tajným službám a univerzitám. To bylo hlavním motorem pro vznik PGP, v kterém si dal Zimmermann za cíl rozšířit možnost bezpečně šifrovat mezi uživatele bez přístupu k dostatečnému výkonu. Použije-li Alice k zašifrování zprávy svůj soukromý klíč, může ji rozšifrovat za použití veřejného klíče kdokoliv a mechanizmus tak zdánlivě ztrácí smysl. Ve skutečnosti zašifrováním této zprávy svým osobním klíčem Alice dokázala to, že je prokazatelnou autorkou dané zprávy. (Obr. 7) Zimmermann v PGP nepřišel s žád-

37 6.1 PGP (Pretty Good Privacy) 37 ným novým převratným algoritmem, pouze vhodně zkombinoval symetrickou šifru, asymetrickou šifru a nepopiratelný elektronický podpis do vhodné podoby. (Obr. 8) V PGP přichází elegantní řešení pro odstranění neuspokojivé rychlosti asymetrické šifry, kdy je samotná zpráva zašifrována rychlou symetrickou šifrou a klíč, který potřebuje adresát k rozšifrování symetrické šifry, je zašifrován asymetrickou šifrou, čímž se vyřeší problém distribuce klíčů u symetrických šifer. Jeden z algoritmů, které byly pro PGP vybrány je IDEA, která má klíč dlouhý 128 bitů. Počet možných klíčů je tedy V případě pokusu o útok hrubou sílou na zprávu zašifrovanou pomocí IDEA by pomocí miliardy počítačů, které dokáží každý ověřit miliardu klíčů za vteřinu, trvalo otestování všech klíčů přibližně tisíckrát déle než je stáří vesmíru, které je odhadované na 1, roků. [5] Útok touto cestou můžeme v dnešní době považovat v podstatě za nemožný. Dalším úskalím šifrování je tvorba veřejného a soukromého klíče. Tyto klíče jsou složeny z obrovských prvočísel, které jsou pro šifrování nezbytné. Do vygenerování takovýchto čísel musí vstoupit určitým způsobem náhodný faktor, který zabezpečí to, že bude mít každý uživatel unikátní dvojici klíčů. PGP chce po odesílateli pouze pohnout myší, což vnese do generování klíčů potřebnou náhodu. [1] Hledání pravidelnosti v generovaných prvočíslech je také jednou z možností napadení algoritmů založených na veřejném a soukromém klíči. O dokazatelnost autorství v elektronické komunikaci již uvažovala trojice Diffie- Hellman-Merkle, když přišli s myšlenkou soukromých a veřejných klíčů. Chce-li Alice Poslat zprávu Bobovi, jednoduše zašifruje zprávu Bobovým veřejným klíčem a on pro rozšifrování použije svůj soukromý klíč. Alice má jistotu, že její zprávu přečte pouze oprávněný adresát. Obrátíme-li mechanizmus a necháme Alici zašifrovat zprávu svým soukromým klíčem, pak si muže být Bob jist, že zprávu napsala Alice. (Obr. 8) Příklad k této problematice naleznete v příloze E. Pokud chce Alice dosáhnout bezpečnosti a zároveň Bobovi dokázat, že zprávu napsala opravdu ona, zašifruje nejprve zprávu svým soukromým klíčem a poté Bobovým veřejným klíčem. Obr. 8: Schéma PGP [39]

38 38 6 ASYMETRICKÁ KRYPTOGRAFIE, APLIKACE Šifrování pomocí asymetrických klíčů je, jak už víme, zdlouhavé. Softwarové implementace algoritmů jako je RSA jsou přibližně tisíckrát pomalejší než ekvivalentní implementace algoritmů DES nebo IDEA. [5] Nám však stačí zašifrovat veřejným klíčem příjemce pouze malou část zprávy, kterou je klíč pro symetrickou šifru. Dále potřebujeme dokázat adresátovi, že obsah zprávy nebyl po podepsání nijak změněn. K tomu je použito tzv HASH funkce, což je matematická funkce zprávy, která lze na základě zprávy snadno spočíst. Opačný postup je velice obtížný až nemožný. Výstupem hash funkce je blok délky například 128 nebo 160 bitů, který maximálně charakterizuje vstupní blok dat. Výsledek je zakódován soukromým klíčem odesílatele, čímž je jednoznačně stanoveno, kdo je autorem zprávy. Pro ověření adresát nejprve rozšifruje hash pomocí veřejného klíče odesílatele, následně rozšifruje svým soukromým klíčem klíč symetrické šifry, pomocí něhož zprávu rozšifruje. Dále vypočte hash otevřeného textu a porovná jej z HASH zaslaným v těle zprávy. V případě shody je autorství i původnost dokázána. (Obr. 8) Philu Zimmermannovi se za tento počin nedostalo pouze slávy, ale i nepříjemností. Silné šifry byly totiž označeny za zbraň a jejich vývoz byl vládou USA vyznávající politiku Velkého bratra regulován. Dostalo se mu několikaletého vyšetřování, které jeho i program PGP zviditelnilo. Možná i proto bylo vyšetřování zakončeno jeho osvobozením. [5] Pro tuto práci byla vytvořena i aplikace, na které se dá otestovat, jak by mohla probíhat šifrovaná komunikace mezi Alicí a Bobem pomocí programu využívajícího stejného principu jako Zimmerman ve svém PGP. Program naleznete na přiloženém CD. Podrobnosti o této aplikaci naleznete v samostatné kapitole. Zde uvádím pouze tento ilustrační screenshot. (Obr. 9) V této aplikaci vystupuje jako odesílatel zprávy Alice a jako příjemce Bob. Alice má možnost vybrat v počátečních nastaveních jednu z použitých symetrických šifer a některou z HASH funkcí. Dále již vše funguje podle výše představeného mechanizmu. 6.2 Digitální a elektronický podpis V předchozí kapitole jsme si zevrubně popsali systém PGP, který využívá digitálního podpisu. Kapitola předpokládala alespoň základní představu o existenci digitální podoby podpisu. Teď se k digitálnímu podpisu vrátíme a přiblížíme si jeho vlastnosti. Digitální podpis je podmnožinou elektronického podpisu, kdy dochází k ověření totožnosti díky šifrování. Elektronický podpis zahrnuje navíc i dokazování totožnosti pomocí otisku prstu, snímku oční duhovky, snímku oční rohovky, čipů dokazujících totožnost nebo jiných. [4] Se vznikem elektronických dokumentů přišla potřeba nahradit vlastnoruční podpis podpisem elektronickým, který by stejně jako podpis napsaný rukou stvrzoval autentičnost, neporušenost obsahu a zodpovědost autora za to, co podepsal. Při používání elektronické komunikace někdy nepotřebujeme zprávu ani šifrovat, ale stačí nám prokázat adresátovi, že zpráva, kterou od nás přijal, je opravdu původní

39 6.2 Digitální a elektronický podpis 39 Obr. 9: Screenshot programu RSA-HASH-DES a nebyla po cestě nepřátelským internetem pozměněna. (Obr. 10) Představme si, jaké může mít následky i jen drobná úprava obsahu: Obr. 10: Cesta u internetem [40] Bombu svrhněte na bod o souřadnicích [N ; E ], podepsán gen. pluk. George Vomáčka pozměněná na: Bombu svrhněte na bod o souřadnicích [N ; E ], podepsán gen. pluk. George Vomáčka Z mého účtu číslo /0432 odešlete částku kč a připište ji vlastníkovi účtu /0321. Děkuji Karel Vomáčka pozměněná na: Z mého účtu číslo /0432 odešlete částku kč a připište ji vlastníkovi účtu /0321.

40 40 6 ASYMETRICKÁ KRYPTOGRAFIE, APLIKACE Děkuji Karel Vomáčka. V obou příkladech jsem provedly změnu jen jedné číslice. V prvním příkladě nebude zničen důležitý vojenský objekt, ale bomba bude svržena do neobydlené oblasti. V druhém případě přijde odesílatel o větší částku, než předpokládal. Digitální podpis nám pomůže těmto nežádoucím útokům zabránit. Je více než jasné, že rozkazy v armádě nemohou probíhat pouze z očí do očí nebo že je velice nevýhodné několikrát denně navštěvovat osobně banku a provádět běžné bankovní operace. Pro potvrzení totožnosti a zabránění podvržení zprávy připojíme na konec zprávy její otisk označený soukromým klíčem. Otisk neboli hash (Obr. 11) je výsledkem matematické funkce, která zhustí informace do jednoho velkého čísla. [5] Obr. 11: HASH funkce [41] Nezbytným krokem při přijetí digitálně podepsané zprávy je ověření, zda je daný podpis platný a patří zkutečně odesílateli. S tímto krokem úzce souvisí i problém s distribucí veřejných klíčů. Představme si situaci, kdy Alice komunikuje pouze s Bobem a navzájem si již osobně předali své veřejné klíče. Jejich bezpečné komunikaci nic nebrání. Situace se ovšem změní, pokud Alici chce poslat zprávu Bobův kamarád George. Alici nezbývá, než se s ním osobně sejít a vyměnit si navzájem své veřejné klíče. Kdyby totiž George vzal svůj veřejný klíč a odeslal ho spolu s první zprávou, Evě by stačilo zprávu zachytit, zaměnit Georgův podpis za svůj a odeslat zprávu Alici. Pak by Alice věřila, že dostává zprávy podepsané Georgem, ve skutečnosti však podepsané Evou. Co když Bob jako Georgův důvěrný kamarád podepíše svým soukromým klíčem Georgův veřejný klíč? Alice Bobovi důvěřuje, a proto je pro ni Bobův podpis dostatečným důkazem pravosti Georgova podpisu. Bob se stal v tomto případě jakousi certifikační autoritou. [4]

41 6.3 Další oblasti využítí asymetrických metod šifrování Další oblasti využítí asymetrických metod šifrování Elektronický podpis a PGP však nejsou jedinými aplikacemi využívajícími některou s asymetrických metod. Šifrování je v dnešní době samozřejmostí ve spoustě oblastí, příkladem může být elektronické bankovnictví, elektronické obchodování, propojování počítačů na různých místech internetu do virtuální počítačové sítě a další. Velice oblíbeným protokolem aplikační vrstvy TCP/IP, který využívá kryptografických metod, je SSH. Jeho historie je již více jak deset let dlouhá, v současné době ho můžeme naleznout v podobě SSH-2. V SSH bývá pro autentizaci klienta využíváno RSA nebo DSA. Autentizace pomocí RSA vypadá zjednodušeně takto: 1. Klient a server se domluví na použití RSA 2. Klient pošle na server svůj veřejný klíč 3. Server již správný veřejný klíč má a s přijatým jej porovná 4. Server zašifruje výzvu klientovým veřejným klíčem a odešle klientovi 5. Klient použije svůj soukormý klíč k rozšifrování výzvy 6. Klient vypočte z otevřeného textu HASH a odešle zpět serveru 7. Server porovná přijatý HASH s HASH vypočteným z původní výzvy 8. Pokud server dojde ke shodě obou HASH, proběhla autentizace úspěšně Na unix-like systémech je SSH samozřejmostí, na platformě Windows uživatelé s oblibou používají PuTTY. Rozšířením SSH umožňujícím procházet filesystém, pracovat s adresáři a atributy je SFTP. [19] Další metodou zabezpečení přenosu je vrstva (protokol) SSL (Secure socket layer). Pro výměnu klíčů zde bývá například použito RSA, DSA, Fortezza nebo Diffie-Hellmanovo schéma. Podívejme se nyní, jak probíhá inicializace SSL spojení a zasílání klíče relace za použití algoritmu RSA. 1. Klient (prohlížeč) požádá server o SSL spojení spolu se svým veřejným klíčem (zpravidla generován spolu s instalací prohlížeče) 2. Server přijme požadavek a odpověď zašifruje pomocí veřejného klíče prohlížeče. Odešle také veřejný klíč serveru. 3. Prohlížeč po přijetí odpovědi odešle veřejným klíčem serveru šifrovaný požadavek na klíč pro šifrování celé relace 4. Jako odpověď odešle server veřejným klíčem prohlížeče šifrovaný klíč relace 5. Po přijetí se další komunikace šifruje tímto klíčem Internetové stránky šifrované pomocí SSL poznáme podle na začátku adresy. Použitím https uživatel zabezpečuje svoji ochranu proti odposlechu a podvržení dat. Oproti http, který používá pro komunikaci port 80, používá SSL standartně port 443. Z protokolu SSL vychází protokol TLS, který funguje v podstatě stejně jako SSL, ale navzájem nejsou kompatibilní. [21] Technologie SSL bývá zpravidla využívána pro komunikaci s bankovními institucemi prostřednictvím internetu.

42 42 7 ASYMETRICKÁ KRYPTOGRAFIE, STANDARDY A BEZPEČNOST 7 Asymetrická kryptografie, standardy a bezpečnost 7.1 Certifikáty a certifikační autority V předchozích kapitolách jsme přišli k problému, jak spolehlivě dokázat to, že nabízený veřejný klíč, který bude použit pro šifrování, patří prokazatelně zamýšlenému adresátovi. Pokud by totiž došlo k záměně dvou veřejných klíčů, adresát by nejen že nemohl rozšifrovat zprávu jím zašifrovanou, ale důvěrné informace by se mohly dostat do rukou cizí osoby. Proto přišly na svět organizace označované jako Certifikační autority. Certifikační autorita je důvěryhodná instituce, která ověří fakt, že daný podpis náleží konkrétní osobě. Provede to stejně, jako to provedl Bob, když podepsal Georgův klíč, když chtěl George odeslat zprávu Alici. Certifikační autorita zaručuje podepsáním veřejného klíče a osobních údajů žadatele o certifikát svým soukromým klíčem. Certifikát vydaný certifikační autoritou tedy dokazuje dvojici vlastník digitální podpis. Ten obsahuje zpravidla dobu vypršení platnosti, jméno vydávající certifikační autority a její digitální podpis. [4] Dostane-li Alice podepsanou zprávu neznámým Georgem, ověří platnost u vydávající certifikační autority a má jistotu, s kým má tu čest. Obr. 12: Proces získání certifikátu [42]

43 7.2 PKI, PKCS PKI, PKCS Výše uvedený princip stojí na faktu, že existuje důvěryhodná organizace, která má za úkol vydávat, spravovat a ověřovat pravost digitálních podpisů. (Obr. 12) Fungování těchto mechanizmů stojí na důvěře v třetí stranu, která se stává nepřímým účastníkem šifrované komunikace. V reálné situaci se pro zvýšení důvěry utvářejí seskupení autorit, které si navzájem dokazují svoji důvěryhodnost. Toto prostředí automaticky spravující veřejné klíče se nazývá Public Key Infrastructure (PKI). Základnu pro PKI tvoří řada standardů, doporučení RFC (Request For Comments) a zákonů. Cílem PKI je vytořit a spravovat důvěryhodné ovzduší v otevřeném síťovém prostředí Internetu. Základ je postaven především na asymetrické kryptografii, kterou už jsme se zabývali výše. Aby ovšem fungovalo vše, jak má, musí být zajištěna důvěryhodná distribuce veřejných klíčů a důvěryhodné přiřazení klíčů příslušným osobám. Toto je zajištěno pomocí digitálních certifikátů, jejichž cílem je ověření propojení osob s jejich veřejnými klíči. Certifikační autorita je místem, kde jsou jednotliví uživatelé PKI registrováni tak, aby zde mohla být ověřena jejich totožnost. Důvěra v certifikát spočívá vlastně v důvěře v podpis certifikační autority na digitálním certifikátu. Certifikační autorita ovšem není jedinou komponentou PKI. Mezi komponenty patří pro příklad také časová razítka, registrační autority, databáze certifikátů, seznamy neplatných certifikátů a další. [15] Mezi tuzemské certifikační autority patří například První certifikační autorita, Czechia, TrustPort a další. Významnou roli mezi standardy v kryptografii hrají Public-Key Cryptography Standards (PKCS), které se vztahují ke kryptografii soukromého klíče. Za těmito standardy stojí v součastnosti bezpečnostní divize společnosti EMC RSA Data Security, která také první standard v roce 1991 zveřejnila. Nejedná se proto o standardy v pravém slova smyslu, ale lze předpokládat, že budou příslušnými organizacemi jako standardy uznány. Jejich význam je patrný také v tom, že o nich zpravidla jako o standardech hovoříme. Tyto standardy existují například pro šifrování založené na RSA(PKCS #1), Diffie-Hellmanově výměně klíčů (PKCS #3), symetrickým šifrám (PKCS #5), syntaxi certifikátů (PKCS #6) a další. [17] 7.3 Kryptoanalýza a možnosti útoku na kryptografické mechanizmy Cílem útoku proti šifrování je získat otevřený text zašifrované informace nebo v případě elektronického podpisu její pozměna. Útoky lze kategorizovat například podle jejich typu (povahy), cíle útoku nebo podle dostupných informací použitelných k útoku. Podle povahy můžeme dělení provést takto: Útok proti použitému algoritmu Útočník se zpravidla snaží odhalit slabá místa na základě kryptoanalýzy založené na matematické analýze. Útok proti protokolu nebo implementaci

44 44 7 ASYMETRICKÁ KRYPTOGRAFIE, STANDARDY A BEZPEČNOST V tomto případě nezkouší útočník nalézt slabiny v samotném algoritmu, ale hledá chyby v implementaci nebo protokolu danou aplikací používaném. Útoky na kryptografické mechanizmy mohou mít řadu rozdílných cílů. Cíl útočníka může být zaměřen pro příklad na: Získání části nebo celého původního otevřeného textu Změna obsahu jedné konkrétní zprávy Získání soukromého klíče asymetrické šifry Získání klíče symetrické šifry Kompromitace použitých klíčů Znovuodeslání totožné zprávy bez narušení její platnosti Následky takovýchto útoků můžou být velice odlišné, pokud šlo například o utajení informace nebo o digitální podpis. Při získání soukromého klíče asymetrické šifry získává útočník možnost číst zprávy šifrované příslušným veřejným klíčem, odesílat pomocí něj šifrované zprávy nebo vystavovat nepravé podpisy. Zajímavou situací je kompromitace použitých klíčů. V tomto případě přestanou být důvěryhodné všechny dokumenty tímto klíčem podepsané. Tohoto útoku může zneužít i sám vlastník klíče v případě, že soukromý klíč má přístupný. Představme si situaci, kdy pro uzavření obchodního úvěru stačí potvrzení žadosti podepsáním soukromým klíčem. Těsně před podpisem však vlastník klíč zveřejní a následně provede podpis. Peníze vyzvedne a utratí, ale bance tvrdí, že smlouvu za něj mohl podepsat kdokoliv jiný, protože klíč byl kompromitován. Znovuodeslání zprávy je zdánlivě nevýznamné. Jak by však byl uživatel platební karty spokojen s tím, kdyby prodejce mohl odeslat požadavek na převod peněz z účtu kupujícího na účet prodávajícího hned několikrát? [22] Velice důležitou roli pro úspěch při útoku na kryptografický mechanizmus má i množství dostupných informací. To nám dává prostor pro další kategorizaci: Known-ciphertext attack V tomto případě má útočící strana dostupnou zašifrovanou podobu otevřeného textu, u kterého ví, že na jeho zašifrování byl použit daný neznámý klíč a známá šifra. Získání šifrované podoby zprávy není zpravidla žádný problém, protože zpráva bývá přenášena ne zrovna bezpečným prostředím internetu, kde může být bez problémů odposlechnuta. Z tohoto důvodu musí být šifry proti takovémuto útoku odolné, a to i v případě, že útočník vlastní větší množství odposlechnutých zpráv. Known-plaintext attack Útočník má dostupnou kromě šifrované zprávy i její nešifrovanou podobu a snaží se zjistit používaný klíč. U mnoha typů zpráv víme dopředu obsah šifrované zprávy. Například pravidelné šifrované zprávy o počasí byly cestou k útoku v období druhé světové války. Chose-plaintext attack Zde má útočník v držení i přístroj, který dané šifrované zprávy generuje. Útočník využije možnosti vhodných vstupů a následné analýzy výstupu.

45 7.3 Kryptoanalýza a možnosti útoku na kryptografické mechanizmy 45 Adaptive choosen-plaintext attack Podobná metoda jako je předchozí, rozdíl spočívá v tom, že luštitel může zašifrovat více zpráv a může výběr zprávy, která bude zašifrována, přizpůsobit výsledku předchozího zašifrování. Chosen-ciphertext attack Útočník může použít dešifrovací zařízení k dešifrování několika šifrovaných zpráv. Má tedy nakonec otevřený text a jeho šifrovanou podobu. Chosen-key attack Tato metoda se snaží využít potenciálních vztahů mezi jednotlivými klíči. Je samozřejmé, že touto cestou lze při útoku postupovat pouze tehdy, pokud takové vztahy existují. Brute force attack Útočníkovi v tomto případě nezbyde nic jiného, než zkoušet všechny klíče, než narazí na ten správný, jehož použitím dostane smysluplnou otevřenou podobu. Tento útok je použitelný proti většině šifer a jeho úspěch závisí na délce klíče a výpočetním výkonu dešifrujícího systému. Faktem je, že s rostoucí délkou klíče roste časová náročnost dešifrování exponenciálně. Aplikace mohou být proti tomuto typu útoku chráněny například omezeným počtem zadaných klíčů za jednotku času. Pro tento typ útoku byly vytvořeny i specializovaná zařízení, určená k lámání šifer. V období 2. světové války byla pro zlomení šifer německé Enigmy používána takzvaná Polská bomba, později pro otestování všech možných klíčů šifry DES byl vytvořen DES cracker nebo v dnešní době zařízení jménem COPACOBANA. (Obr. 13) Obr. 13: COPACOBANA [43] Side channel attack Útok využívající poznatků ze sledování šifrovacího systému. Pro zdolání šifrovacího mechanizmu stačí například sledovat odběr proudu, elektromagnetické záření, trvání operace šifrování a podobně. Agency/Purchase-key attack K získání klíče je použita špionáž, úplatky nebo jednoduše krádež. Tímto způsobem je poměrně jednoduché překonat i velice bezpečnou šifru.

46 46 7 ASYMETRICKÁ KRYPTOGRAFIE, STANDARDY A BEZPEČNOST Rubber-hose attack Útočník použije k získání klíče násilí aplikované na kryptografa. Jak vidno, útočící strana může použít mnoho typů útoku. Jeho úspěch či neúspěch může být ovlivněn i volbou vhodného typu útoku. [22] [24] Chceme-li zvýšit bezpečnost šifry proti útoku hrubou silou, použijeme klíč několikanásobně větší délky. Útočníkovi stačí pro rozšifrování naší hypotetické zprávy šifrované například pomocí 8 b klíče vyzkoušet jen 2 8 možných kombinací a dosáhl by výsledku. Takováto délka klíče se proto v praxi nepoužívá. Zvětšíme-li klíč například na 32 b, dostáváme více než 4 miliardy kombinací, které by útočník musel pro prolomení otestovat. Je jasné, že hledat neznámý 8 b klíč bez výpočetní techniky je možné a v relativně krátkém čase zvládnutelné. Při použití delších a delších klíčů se bez použití počítače neobejdeme. Počítače začaly hrát v tvorbě a dešifrování šifer rozhodující roli po druhé světové válce. Prvními takovými byly ENIAC a Colossus. Porovnejme bezpečnost 32 b dlouhého klíče pro počítače padesátých let minulého století a dnešní superpočítače. Je n bitů dlouhý klíč, který byl jistě dříve dostatečný, stále bezpečný? Odpověď je nasnadě. Tento příklad jde zatím zobecnit pro jakoukoli dobu (neznáme zatím nástroj schopný řešit tento problém v alespoň polynomiálním čase). Klíč dnes dostatečné délky již možná nemusí dostačovat zítra. Bezpečnost klíčů dané délky je závislá na rychlosti růstu výpočetního výkonu počítačů, za předpokladu existence pouze možnosti útoku hrubou silou. [13] Kryptografie hraje významnou roli v informační bezpečnosti, kde s její pomocí bývá zajištěna důvěrnost nebo datová integrita.

47 8 IMPLEMENTACE PGP A RSA 47 8 Implementace PGP a RSA 8.1 Implementace Pro tuto diplomovou práci jsou vytvořeny dvě aplikace. První se snaží ukázat čtenáři principy fungování šifrování pomocí algoritmu RSA. Druhá představuje základní postupy při šifrování aplikací typu PGP. Na tyto aplikace není kladen důraz na bezpečnost nebo sílu šifer, jak tomu bývá u komerčních programů, ale na názornost fungování jednotlivých mechanizmů. Pro napsání těchto programů jsem vybral programovací jazyk Java. Důvody pro výběr tohoto programovacího jazyka mají prozaické vysvětlení. Java totiž patří spolu s jazykem C, z kterého Java vychází, k mnou preferovaným programovacím jazykům. Rozhodl jsem se také využít výhody Javy oproti například programům napsaným v jazyce C++, který spočívá v tom, že programy napsané v jazyce Java mohou běžet na mnoha druzích počítačů bez nutnosti je překompilovávat. Za programovacím jazykem Java stojí společnost Sun Microsystems, která Javu představila již v roce Tento programovací jazyk je využíván ve více edicích. Pro napsání jmenovaných aplikací byla použita nejpoužívanější edice Java 2 Standard Edition, často označovaná pouze zkratkou J2SE. Další edice jsou používány pro širší škálu aplikací od oblastí tvorby velkých podnikových systémů (J2EE) až po tvorbu aplikací pro mobilní zařízení (J2ME). [6] Aplikace napsané v jazyce Java se skládají z jedné nebo více tříd napsaných v tomto jazyce. Třídu si můžeme představit jako formu pro počítačové definování objektu reálného světa. Podíváme-li se podrobněji, jak taková třída vypadá a co obsahuje, tak nalezneme instrukce a data potřebná pro splnění požadovaných úkolů. Pro tvorbu jednoduchých programů v jazyce Java lze použít textový editor, ale pro tvorbu rozsáhlejších, složitějších aplikací se nabízí možnost využít vývojového prostředí. V našem případě bylo využito prostředí NetBeans IDE 6.1. Na tomto prostředí je velice ceněné to, že patří do kategorie open-source a volně šiřitelných programů a lze jej nainstalovat nejen na platformě Windows a Linux, ale i na Mac OS X a Solaris. Srovnáme-li fungování jazyka Java například s C++ a podobnými vysokoúrovňovými jazyky, přijdeme na podstatný rozdíl. Program napsaný v jazyce C++ je nejprve zkompilován do objektového kódu, který je následně spojen spojovacím programem, čímž se z něho stane program ve strojovém jazyce běžící na daném počítači. Oproti tomu je zdrojový kód Javy zkompilován do bajtového kódu. Tento kód je interpretován pomocí JVM (Java Virtual Machine). Tento virtuální stroj Javy překládá bajtový kód do strojového jazyka běžícího na daném druhu počítače. Toto je důvod, proč programy napsané v jazyce Java nemusí být překompilovávány pro použití na různých druzích počítačů. [6] [7] Cílovou skupinou uživatelů těchto aplikací jsou studenti seznamující se s danou tématikou. Z tohoto důvodu je u všech možných voleb či operací uživateli zobrazen tooltip (popiska, která se zobrazí po přechodu kurzoru myši nad daný objekt) s nápovědou či pro výpočet použitým vzorcem.

48 48 8 IMPLEMENTACE PGP A RSA 8.2 Implementace RSA Aplikace RSA, kterou najdete na přiloženém CD spolu se všemi zdrojovými kódy, se snaží přiblížit uživateli fungování šifrovací metody RSA. Aplikace je vizuálně rozdělena na dvě hlavní části, část Boba a část Alice. Tyto dva moduly jsou děleny na několik dalších menších celků, kterým se budeme dále věnovat. V příkladech představuje zpravidla Alice odesílatele a Bob příjemce šifrované zprávy. 1. Veřejná a soukromá část Pro fungování šifrování pomocí RSA je nutné, aby odesílatel i příjemce měli vygenerovaný soukromý a veřejný klíč. Obr. 14: Veřejná a soukromá část Ve veřejné části má Alice vložen soukromý klíč. Tento klíč musí být přístupný všem, kteří chtějí šifrovat zprávu určenou do rukou Alice. Oproti tomu v soukromé části má vložen privátní klíč, který musí vlastník udržovat v přísné tajnosti a výhradně vlastním držení. (Obr. 14) 2. Klíč pro RSA Pomocí tlačítka Generuj vytvoří Alice hodnoty pro šifrovanou komunikaci s Bobem. Na základě těchto hodnot jsou vytvořeny soukromý a veřejný klíč. Obr. 15: Klíč pro RSA Pokud se však Alice nespokojí s generovanými hodnotami, má možnost zadat hodnoty i ručně. Vygenerována jsou utajená prvočísla y a z, část soukromého klíče D a část veřejného klíče e. (Obr. 15) 3. Stanovení soukromého klíče Alice vypočte důležité číslo N, které je součástí veřejného i soukromého klíče. Toto číslo je vypočteno jako součin utajených prvočísel y a z. Výpočet D, které je součástí soukromého klíče, je vypočteno na základě rovnice M = ZZ D ( mod N). (Obr. 16) 4. Stanovení veřejného klíče Veřejný klíč se skládá z dvou čísel N a e.

49 8.2 Implementace RSA 49 Obr. 16: Stanovení soukromého klíče Obr. 17: Stanovení veřejného klíče Alice musí zveřejnit svůj veřejný klíč, aby jí mohli ostatní, například Bob, poslat šifrovanou zprávu. (Obr. 17) 5. Otevřená zpráva Aby Alicinu zprávu mohl přečíst pouze Bob, zašifruje zprávu Bobovým veřejným klíčem složeným z čísel N a e. (Obr. 18) Obr. 18: Otevřená zpráva 6. Šifrovaná zpráva Alice odešle Bobovým veřejným klíčem šifrovanou zprávu Bobovi. Bob drží svůj privátní klíč v tajnosti, čímž je zajištěna důvěrnost této zprávy. (Obr. 19) 7. Rozšifrování přijaté zprávy Bob rozšifruje pomocí svého soukromého klíče šifrovanou zprávu a dostane otevřený text od Alice. V tento moment může Alici stejným způsobem, jako to poprvé udělala ona, zašifrovat odpověď a odeslat ji zpět. Na úplně stejném

50 50 8 IMPLEMENTACE PGP A RSA Obr. 19: Šifrovaná zpráva principu funguje i Bobova část aplikace. Má však stanovenu odlišnou dvojici soukromého a veřejného klíče. (Obr. 20) Obr. 20: Rozšifrování přijaté zprávy 8.3 Implementace PGP Aplikace PGP, kterou najdete na přiloženém CD spolu se všemi zdrojovými kódy, se snaží uživateli přiblížit fungování šifrovacích metod použitých v aplikaci typu PGP. Aplikace je vizuálně rozdělena na dvě hlavní části, část Boba a část Alice. Tyto dva moduly jsou děleny na několik dalších menších celků, kterým se budeme dále jednotlivě věnovat. V této aplikaci je Alici umožněno zprávy pouze šifrovat a odesílat a Bobovi pouze přijímat a dešifrovat. 1. Počáteční nastavení hashovací funkce V počátečních nastaveních má uživatel možnost vybrat si ze čtyř předdefinovaných hashovacích funkcí od MD5 až po SHA-512. Tato funkce bude dále použita pro vytvoření hash z otevřeného textu zprávy. Podívejme se do kódu například na vytvoření hash SHA-512: static String generujsha512(string input){ ///fce vygeneruje SHA512 ze vstupniho retezce try { MessageDigest md = MessageDigest.getInstance("SHA-512"); byte[] messagedigest = md.digest(input.getbytes()); BigInteger number = new BigInteger(1,messageDigest); return number.tostring(16); }

51 8.3 Implementace PGP 51 Obr. 21: Hash } catch(nosuchalgorithmexception e) { throw new RuntimeException(e); } Jak vidno, funkce má na vstupu řetězec otevřeného textu a na výstupu hash v podobě retězce. (Obr. 21) 2. Počáteční nastavení šifry V tomto nastavení může uživatel vybrat jednu ze dvou šifer, která bude dále použita pro zašifrování otevřeného textu. Může vybrat šifru DES nebo její Obr. 22: Nastavení šifry odolnější verzi TripleDES. Podívejme se nyní opět do kódu, jak je tato část implementována: public class DesEncrypter { Cipher ecipher; DesEncrypter(SecretKey key) { try { ecipher = Cipher.getInstance(metoda_sifrovani); ecipher.init(cipher.encrypt_mode, key); } catch (javax.crypto.nosuchpaddingexception e) { } catch (java.security.nosuchalgorithmexception e) { } catch (java.security.invalidkeyexception e) { } } public String encrypt(string str) { ///fce která je použita pro zašifrování pomoci DESu try

52 52 8 IMPLEMENTACE PGP A RSA { byte[] utf8 = str.getbytes("utf8"); byte[] enc = ecipher.dofinal(utf8); return new sun.misc.base64encoder().encode(enc); } } catch (Exception e) { return "chyba v sifrovani"; } } Pro samotné zašifrování je vytvořena třída DesEncrypter, ve které funkce encrypt vytvoří zašifrovaný výstupní řetězec. V případě neúspěchu vrátí chybové hlášení. (Obr. 22) 3. Certifikační autorita V této aplikaci tvoří Certifikační autorita místo, kde jsou dostupné veřejné klíče Alice a Boba. Je tomu tak pouze tehdy, pokud uživatelé požádali o vygenerování klíčů. V momentě, který je zachycen na obrázku číslo 23, je stanoven Obr. 23: Certifikační autorita veřejný klíč pouze pro Alici. V tuto chvíli může Alice pouze podepsat zprávu pro Boba svým soukromým klíčem. Pro zašifrování zprávy musí vyčkat do stanovení jeho veřejného klíče. Mlčky bereme za samozřejmé i stanovení Alicina a Bobova soukromého klíče. (Obr. 23) 4. Veřejný a soukromý klíč Není-li si Alice jistá bezpečností aktuálních klíčů, může je zneplatnit u certifikační autority. Zneplatněné klíče nemohou být dále použity pro šifrovaou komunikaci. (Obr. 24) Obr. 24: Veřejný a soukromý klíč 5. Otevřený text Pomocí tlačítka Šifruj Alice zašifruje otevřený text pomocí vybrané symetrické šifry. (Obr. 25) Aby mohl Bob ověřit, že zprávu nikdo po cestě nezměnil, musí Alice vypočíst hash z otevřeného textu zprávy pomocí tlačítka HASH.

53 8.3 Implementace PGP 53 Obr. 25: Otevřený text Obr. 26: Šifrovaná zpráva Takto vypadá otevřený text zašifrovaný pomocí zvolené rychlé symetrické šifry (rychlejší než při použití asymetrických metod pro šifrování dlouhého otevřeného textu). (Obr. 26) 6. Zašifrování hash Aby Alice Bobovi dokázala, že je autorkou dopisu právě ona, pomocí tlačítka použije svůj soukromý klíč pro podepsání hash. Pokud nemá Alice klíče stanoveny, je toto tlačítko disablováno. (Obr. 27) Obr. 27: Vypočtení hash 7. Klíč k symetrické šifře Klíč pro symetrickou šifru, kterým je šifrován text zprávy, Alice zašifruje Bobovým veřejným klíčem. Dokáže tím to, že zprávu přečte pouze držitel Bobova soukromého klíče, tedy Bob. Tato operace není možná, pokud adresát nemá stanovený a zveřejněný veřejný klíč. (Obr. 28)

54 54 8 IMPLEMENTACE PGP A RSA Obr. 28: Klíč k symetrické šifře 8. Výsledná zpráva Tlačítkem Odešli Alice odešle podepsaný hash vypočtený z otevřeného textu zprávy, zprávu šifrovanou symetrickou šifrou a Bobovým veřejným klíčem šifrovaný klíč k symetrické šifře. Po odeslání tuto zprávu obdrží Bob. (Obr. 29) Obr. 29: Výsledná zpráva 9. Veřejný a soukromý klíč nestanoveny Pokud chce Bob přijmout šifrovanou zprávu od Alice, musí požádat certifikační autoritu o dvojici klíčů. Do té doby mu nikdo nemůže poslat šifrovanou zprávu. Také on sám nemůže žádný hash vypočtený z otevřeného textu zprávy zašifrovat (podepsat) svým soukromým klíčem. (Obr. 30) Obr. 30: Klíče nestanoveny 10. Přijatá zpráva Přijatá zpráva musí nutně obsahovat podepsaný HASH vypočtený z otevřeného textu zprávy, zprávu šifrovanou symetrickou šifrou a Bobovým veřejným klíčem šifrovaný klíč k symetrické šifře. (Obr. 31)

55 8.3 Implementace PGP 55 Obr. 31: Přijatá zpráva 11. Přijatý hash Aby Bob zjistil, zda zprávu odeslala opravdu Alice, rozšifruje hash pomocí Alicina veřejného klíče. Může ovšem dojít k situaci, že Alice zruší platnost Obr. 32: Ověření hash svých klíčů. V tomto případě dojde při ověření k chybě, protože Alice již nemá platný veřejný a soukromý klíč. (Obr. 32) 12. Zašifrovaný klíč Aby mohl Bob rozšifrovat text zprávy, musí nejprve rozšifrovat klíč k symetrické šifře, kterou je text šifrován. V tento moment může dojít k podobné Obr. 33: Zašifrovaný klíč situaci jako při ověření HASH. Pokud nemá Bob platné klíče, nemůže klíč k symetrické šifře rozšifrovat. (Obr. 33) 13. Přijatá šifrovaná zpráva

56 56 8 IMPLEMENTACE PGP A RSA Pokud se povedlo Bobovi rozšifrovat klíč k symetrické šifře, může pomocí získaného klíče rozšifrovat zprávu od Alice. (Obr. 34) Obr. 34: Přijatá šifrovaná zpráva 14. Porovnání Hash Aby Bob zjistil, zda Alicina zpráva nebyla po cestě změněna, vypočte HASH z rozšifrované zprávy a porovná jej s přijatým HASH. Pokud jsou HASH totožné, nebylo do Aliciny zprávy během přenosu zasahováno. Obr. 35: Úspěšné porovnání Pokud byla zpráva v průběhu přenosu pozměněna, dojde k při porovnání k chybě. (Obr. 35)

Asymetrická kryptografie

Asymetrická kryptografie PEF MZLU v Brně 12. listopadu 2007 Problém výměny klíčů Problém výměny klíčů mezi odesílatelem a příjemcem zprávy trápil kryptografy po několik století. Problém spočívá ve výměně tajné informace tak, aby

Více

Šifrová ochrana informací věk počítačů PS5-2

Šifrová ochrana informací věk počítačů PS5-2 VŠFS; Aplikovaná informatika; SW systémy 2005/2006 1 Bezpečnost informací BI Ing. Jindřich Kodl, CSc. Šifrová ochrana informací věk počítačů PS5-2 VŠFS; Aplikovaná informatika; SW systémy 2005/2006 2 Osnova

Více

Šifrová ochrana informací věk počítačů PS5-2

Šifrová ochrana informací věk počítačů PS5-2 Bezpečnost informací BI Ing. Jindřich Kodl, CSc. Šifrová ochrana informací věk počítačů PS5-2 1 Osnova šifrová ochrana využívající výpočetní techniku např. Feistelova šifra; symetrické a asymetrické šifry;

Více

ElGamal, Diffie-Hellman

ElGamal, Diffie-Hellman Asymetrické šifrování 22. dubna 2010 Prezentace do předmětu UKRY Osnova 1 Diskrétní logaritmus 2 ElGamal 3 Diffie-Hellman Osnova 1 Diskrétní logaritmus 2 ElGamal 3 Diffie-Hellman Osnova 1 Diskrétní logaritmus

Více

Digitální podepisování pomocí asymetrické kryptografie

Digitální podepisování pomocí asymetrické kryptografie Digitální podepisování pomocí asymetrické kryptografie 11. dubna 2011 Trocha historie Asymetrické metody Historie Historie Vlastnosti Asymetrické šifrování 1976 Whitfield Diffie a Martin Hellman první

Více

asymetrická kryptografie

asymetrická kryptografie 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í

Více

Asymetrická kryptografie a elektronický podpis. Ing. Dominik Breitenbacher Mgr. Radim Janča

Asymetrická kryptografie a elektronický podpis. Ing. Dominik Breitenbacher Mgr. Radim Janča Asymetrická kryptografie a elektronický podpis Ing. Dominik Breitenbacher ibreiten@fit.vutbr.cz Mgr. Radim Janča ijanca@fit.vutbr.cz Obsah cvičení Asymetrická, symetrická a hybridní kryptografie Kryptoanalýza

Více

Asymetrické šifry. Pavla Henzlová 28.3.2011. FJFI ČVUT v Praze. Pavla Henzlová (FJFI ČVUT v Praze) Asymetrické šifry 28.3.

Asymetrické šifry. Pavla Henzlová 28.3.2011. FJFI ČVUT v Praze. Pavla Henzlová (FJFI ČVUT v Praze) Asymetrické šifry 28.3. Asymetrické šifry Pavla Henzlová FJFI ČVUT v Praze 28.3.2011 Pavla Henzlová (FJFI ČVUT v Praze) Asymetrické šifry 28.3.2011 1 / 16 Obsah 1 Asymetrická kryptografie 2 Diskrétní logaritmus 3 Baby step -

Více

Jihomoravske centrum mezina rodnı mobility. T-exkurze. Teorie c ı sel, aneb elektronicky podpis a s ifrova nı

Jihomoravske centrum mezina rodnı mobility. T-exkurze. Teorie c ı sel, aneb elektronicky podpis a s ifrova nı Jihomoravske centrum mezina rodnı mobility T-exkurze Teorie c ı sel, aneb elektronicky podpis a s ifrova nı Brno 2013 Petr Pupı k Obsah Obsah 2 Šifrovací algoritmy RSA a ElGamal 12 2.1 Algoritmus RSA.................................

Více

RSA. Matematické algoritmy (11MA) Miroslav Vlček, Jan Přikryl. Ústav aplikované matematiky ČVUT v Praze, Fakulta dopravní. čtvrtek 21.

RSA. Matematické algoritmy (11MA) Miroslav Vlček, Jan Přikryl. Ústav aplikované matematiky ČVUT v Praze, Fakulta dopravní. čtvrtek 21. Čínská věta o zbytcích Šifrování Závěr Čínská věta o zbytcích RSA Matematické algoritmy (11MA) Ústav aplikované matematiky ČVUT v Praze, Fakulta dopravní 4. přednáška 11MA čtvrtek 21. října 2010 verze:

Více

Čínská věta o zbytcích RSA

Čínská věta o zbytcích RSA Čínská věta o zbytcích RSA Matematické algoritmy (11MAG) Jan Přikryl Ústav aplikované matematiky ČVUT v Praze, Fakulta dopravní 5. přednáška 11MAG pondělí 10. listopadu 2014 verze: 2014-11-10 11:20 Obsah

Více

8. RSA, kryptografie s veřejným klíčem. doc. Ing. Róbert Lórencz, CSc.

8. RSA, kryptografie s veřejným klíčem. doc. Ing. Róbert Lórencz, CSc. Bezpečnost 8. RSA, kryptografie s veřejným klíčem doc. Ing. Róbert Lórencz, CSc. České vysoké učení technické v Praze Fakulta informačních technologií Katedra počítačových systémů Příprava studijních programů

Více

KRYPTOGRAFIE VER EJNE HO KLI Č E

KRYPTOGRAFIE VER EJNE HO KLI Č E KRYPTOGRAFIE VER EJNE HO KLI Č E ÚVOD Patricie Vyzinová Jako téma jsem si vybrala asymetrickou kryptografii (kryptografie s veřejným klíčem), což je skupina kryptografických metod, ve kterých se pro šifrování

Více

RSA. Matematické algoritmy (11MAG) Jan Přikryl. Ústav aplikované matematiky ČVUT v Praze, Fakulta dopravní. verze: :01

RSA. Matematické algoritmy (11MAG) Jan Přikryl. Ústav aplikované matematiky ČVUT v Praze, Fakulta dopravní. verze: :01 Čínská věta o zbytcích Mocnění Eulerova funkce Šifrování Závěr Čínská věta o zbytcích RSA Matematické algoritmy (11MAG) Ústav aplikované matematiky ČVUT v Praze, Fakulta dopravní 4. přednáška 11MAG ponděĺı

Více

Jak funguje asymetrické šifrování?

Jak funguje asymetrické šifrování? Jak funguje asymetrické šifrování? Petr Vodstrčil petr.vodstrcil@vsb.cz Katedra aplikované matematiky, Fakulta elektrotechniky a informatiky, Vysoká škola báňská Technická univerzita Ostrava Petr Vodstrčil

Více

Složitost a moderní kryptografie

Složitost a moderní kryptografie Složitost a moderní kryptografie Radek Pelánek Modulární systém dalšího vzdělávání pedagogických pracovníků JmK v přírodních vědách a informatice CZ.1.07/1.3.10/02.0024 Složitost a moderní kryptografie

Více

Diffieho-Hellmanův protokol ustanovení klíče

Diffieho-Hellmanův protokol ustanovení klíče Diffieho-Hellmanův protokol ustanovení klíče Andrew Kozlík KA MFF UK Diffieho-Hellmanův protokol ustanovení klíče (1976) Před zahájením protokolu se ustanoví veřejně známé parametry: Konečná grupa (G,

Více

MFF UK Praha, 22. duben 2008

MFF UK Praha, 22. duben 2008 MFF UK Praha, 22. duben 2008 Elektronický podpis / CA / PKI část 1. http://crypto-world.info/mff/mff_01.pdf P.Vondruška Slide2 Přednáška pro ty, kteří chtějí vědět PROČ kliknout ANO/NE a co zatím všechno

Více

Kryptografie založená na problému diskrétního logaritmu

Kryptografie založená na problému diskrétního logaritmu Kryptografie založená na problému diskrétního logaritmu Andrew Kozlík KA MFF UK Diffieho-Hellmanův protokol ustanovení klíče (1976) Před zahájením protokolu se ustanoví veřejně známé parametry: Konečná

Více

Asymetrická kryptografie a elektronický podpis. Ing. Mgr. Martin Henzl Mgr. Radim Janča ijanca@fit.vutbr.cz

Asymetrická kryptografie a elektronický podpis. Ing. Mgr. Martin Henzl Mgr. Radim Janča ijanca@fit.vutbr.cz Asymetrická kryptografie a elektronický podpis Ing. Mgr. Martin Henzl Mgr. Radim Janča ijanca@fit.vutbr.cz Obsah cvičení Asymetrická, symetrická a hybridní kryptografie Matematické problémy, na kterých

Více

Informatika Ochrana dat

Informatika Ochrana dat Informatika Ochrana dat Radim Farana Podklady předmětu Informatika pro akademický rok 2007/2008 Obsah Kryptografické systémy s veřejným klíčem, výměna tajných klíčů veřejným kanálem, systémy s veřejným

Více

Kryptografie, elektronický podpis. Ing. Miloslav Hub, Ph.D. 27. listopadu 2007

Kryptografie, elektronický podpis. Ing. Miloslav Hub, Ph.D. 27. listopadu 2007 Kryptografie, elektronický podpis Ing. Miloslav Hub, Ph.D. 27. listopadu 2007 Kryptologie Kryptologie věda o šifrování, dělí se: Kryptografie nauka o metodách utajování smyslu zpráv převodem do podoby,

Více

Základy šifrování a kódování

Základy šifrování a kódování Materiál byl vytvořen v rámci projektu Nové výzvy, nové příležitosti, nová škola Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky Základy šifrování a kódování

Více

Moderní metody substitučního šifrování

Moderní metody substitučního šifrování PEF MZLU v Brně 11. listopadu 2010 Úvod V současné době se pro bezpečnou komunikaci používají elektronická média. Zprávy se před šifrováním převádí do tvaru zpracovatelného technickým vybavením, do binární

Více

Šifrová ochrana informací věk počítačů KS - 5

Šifrová ochrana informací věk počítačů KS - 5 VŠFS; Aplikovaná informatika; SW systémy 2005/2006 1 Bezpečnost informací BI Ing. Jindřich Kodl, CSc. Šifrová ochrana informací věk počítačů KS - 5 VŠFS; Aplikovaná informatika; SW systémy 2005/2006 2

Více

Základy kryptografie. Beret CryptoParty 11.02.2013. 11.02.2013 Základy kryptografie 1/17

Základy kryptografie. Beret CryptoParty 11.02.2013. 11.02.2013 Základy kryptografie 1/17 Základy kryptografie Beret CryptoParty 11.02.2013 11.02.2013 Základy kryptografie 1/17 Obsah prezentace 1. Co je to kryptografie 2. Symetrická kryptografie 3. Asymetrická kryptografie Asymetrické šifrování

Více

C5 Bezpečnost dat v PC

C5 Bezpečnost dat v PC C5 T1 Vybrané kapitoly počíta tačových s sítí Bezpečnost dat v PC 1. Počíta tačová bezpečnost 2. Symetrické šifrování 3. Asymetrické šifrování 4. Velikost klíče 5. Šifrování a dešifrov ifrování 6. Steganografie

Více

Protokol RSA. Tvorba klíčů a provoz protokolu Bezpečnost a korektnost protokolu Jednoduché útoky na provoz RSA Další kryptosystémy

Protokol RSA. Tvorba klíčů a provoz protokolu Bezpečnost a korektnost protokolu Jednoduché útoky na provoz RSA Další kryptosystémy Protokol RSA Jiří Velebil: X01DML 3. prosince 2010: Protokol RSA 1/18 Protokol RSA Autoři: Ronald Rivest, Adi Shamir a Leonard Adleman. a Publikováno: R. L. Rivest, A. Shamir a L. Adleman, A Method for

Více

Pokročilá kryptologie

Pokročilá kryptologie Pokročilá kryptologie Kryptografie eliptických křivkek doc. Ing. Róbert Lórencz, CSc. České vysoké učení technické v Praze Fakulta informačních technologií Katedra počítačových systémů Příprava studijních

Více

Správa přístupu PS3-2

Správa přístupu PS3-2 Bezpečnost informací BI Ing. Jindřich Kodl, CSc. Správa přístupu PS3-2 1 Osnova II základní metody pro zajištění oprávněného přístupu; autentizace; autorizace; správa uživatelských účtů; srovnání současných

Více

Pokročilá kryptologie

Pokročilá kryptologie Pokročilá kryptologie RSA doc. Ing. Róbert Lórencz, CSc. České vysoké učení technické v Praze Fakulta informačních technologií Katedra počítačových systémů Příprava studijních programů Informatika pro

Více

Úvod RSA Aplikace, související témata RSA. Ing. Štěpán Sem <stepan.sem@gmail.com> Festival Fantazie, 2013. Štěpán Sem

Úvod RSA Aplikace, související témata RSA. Ing. Štěpán Sem <stepan.sem@gmail.com> Festival Fantazie, 2013. Štěpán Sem Ing. Festival Fantazie, 2013 Osnova 1 Základní pojmy Obtížnost Kryptografie 2 Základní princip Matematické souvislosti Historie 3 Vymezení pojmů Základní pojmy Obtížnost Kryptografie

Více

Digitální podepisování pomocí asymetrické kryptografie

Digitální podepisování pomocí asymetrické kryptografie Digitální podepisování pomocí asymetrické kryptografie Jan Máca, FJFI ČVUT v Praze 26. března 2012 Jan Máca () Digitální podepisování 26. března 2012 1 / 22 Obsah 1 Digitální podpis 2 Metoda RSA 3 Metoda

Více

Problematika převodu zprávy na body eliptické křivky

Problematika převodu zprávy na body eliptické křivky Problematika převodu zprávy na body eliptické křivky Ing. Filip Buršík Ústav telekomunikací Fakulta elektrotechniky a komunikačních technologií Vysoké Učení Technické v Brně Purkyňova 118, 612 00 Brno,

Více

Informatika / bezpečnost

Informatika / bezpečnost Informatika / bezpečnost Bezpečnost, šifry, elektronický podpis ZS 2015 KIT.PEF.CZU Bezpečnost IS pojmy aktiva IS hardware software data citlivá data hlavně ta chceme chránit autorizace subjekt má právo

Více

Diskrétní logaritmus

Diskrétní logaritmus 13. a 14. přednáška z kryptografie Alena Gollová 1/38 Obsah 1 Protokoly Diffieho-Hellmanův a ElGamalův Diffieho-Hellmanův a ElGamalův protokol Bezpečnost obou protokolů 2 Baby step-giant step algoritmus

Více

Eliptické křivky a RSA

Eliptické křivky a RSA Přehled Katedra informatiky FEI VŠB TU Ostrava 11. února 2005 Přehled Část I: Matematický základ Část II: RSA Část III: Eliptické křivky Matematický základ 1 Základní pojmy a algoritmy Základní pojmy Složitost

Více

PA159 - Bezpečnostní aspekty

PA159 - Bezpečnostní aspekty PA159 - Bezpečnostní aspekty 19. 10. 2007 Formulace oblasti Kryptografie (v moderním slova smyslu) se snaží minimalizovat škodu, kterou může způsobit nečestný účastník Oblast bezpečnosti počítačových sítí

Více

České vysoké učení technické v Praze Fakulta elektrotechnická Katedra telekomunikační techniky Asymetrické kryptosystémy I

České vysoké učení technické v Praze Fakulta elektrotechnická Katedra telekomunikační techniky Asymetrické kryptosystémy I České vysoké učení technické v Praze Fakulta elektrotechnická Katedra telekomunikační techniky Asymetrické kryptosystémy I Ing. Tomáš Vaněk, Ph.D. tomas.vanek@fel.cvut.cz Osnova obecné informace IFP RSA

Více

EU-OPVK:VY_32_INOVACE_FIL13 Vojtěch Filip, 2014

EU-OPVK:VY_32_INOVACE_FIL13 Vojtěch Filip, 2014 Číslo projektu CZ.1.07/1.5.00/34.0036 Tématický celek Inovace výuky ICT na BPA Název projektu Inovace a individualizace výuky Název materiálu Kryptografie Číslo materiálu VY_32_INOVACE_FIL13 Ročník První

Více

PSK2-16. Šifrování a elektronický podpis I

PSK2-16. Šifrování a elektronický podpis I PSK2-16 Název školy: Autor: Anotace: Vzdělávací oblast: Předmět: Vyšší odborná škola a Střední průmyslová škola, Božetěchova 3 Ing. Marek Nožka Jak funguje asymetrická šifra a elektronický podpis Informační

Více

Šifrová ochrana informací věk počítačů PS5-1

Šifrová ochrana informací věk počítačů PS5-1 Bezpečnost informací BI Ing. Jindřich Kodl, CSc. Šifrová ochrana informací věk počítačů PS5-1 1 Osnova šifrová ochrana využívající výpočetní techniku např. Feistelova šifra; symetrické a asymetrické šifry;

Více

Identifikátor materiálu: ICT-2-04

Identifikátor materiálu: ICT-2-04 Identifikátor materiálu: ICT-2-04 Předmět Téma sady Informační a komunikační technologie Téma materiálu Zabezpečení informací Autor Ing. Bohuslav Nepovím Anotace Student si procvičí / osvojí kryptografii.

Více

Základní definice Aplikace hašování Kontrukce Známé hašovací funkce. Hašovací funkce. Jonáš Chudý. Úvod do kryptologie

Základní definice Aplikace hašování Kontrukce Známé hašovací funkce. Hašovací funkce. Jonáš Chudý. Úvod do kryptologie Úvod do kryptologie Základní definice Kryptografická hašovací funkce Kryptografickou hašovací funkcí nazveme zobrazení h, které vstupu X libovolné délky přiřadí obraz h(x) pevné délky m a navíc splňuje

Více

kryptosystémy obecně další zajímavé substituční šifry klíčové hospodářství kryptografická pravidla Hillova šifra Vernamova šifra Knižní šifra

kryptosystémy obecně další zajímavé substituční šifry klíčové hospodářství kryptografická pravidla Hillova šifra Vernamova šifra Knižní šifra kryptosystémy obecně klíčové hospodářství klíč K, prostor klíčů T K kryptografická pravidla další zajímavé substituční šifry Hillova šifra Vernamova šifra Knižní šifra klíč K různě dlouhá posloupnost znaků

Více

Kryptografie - Síla šifer

Kryptografie - Síla šifer Kryptografie - Síla šifer Rozdělení šifrovacích systémů Krátká charakteristika Historie a současnost kryptografie Metody, odolnost Praktické příklady Slabá místa systémů Lidský faktor Rozdělení šifer Obousměrné

Více

Šifrování veřejným klíčem

Šifrování veřejným klíčem Šifrování veřejným klíčem Jan Přikryl 6. ledna 2014 Toto je vývojová verze dokumentu. Obsahuje třetí kryptologickou kapitolu rozepsaných skript pro předmět 11KZK ve formě, v jaké se nacházela k datu, uvedenému

Více

Autentizace uživatelů

Autentizace uživatelů Autentizace uživatelů základní prvek ochrany sítí a systémů kromě povolování přístupu lze uživatele členit do skupin, nastavovat různá oprávnění apod. nejčastěji dvojicí jméno a heslo další varianty: jednorázová

Více

Čínská věta o zbytcích RSA

Čínská věta o zbytcích RSA Čínská věta o zbytcích RSA Matematické algoritmy (11MAG) Jan Přikryl 5. přednáška 11MAG pondělí 10. listopadu 2014 verze: 2014-11-10 10:52 Obsah 1 Čínská věta o zbytcích 2 1.1 Vlastní tvrzení.....................................

Více

Teoretická informatika Tomáš Foltýnek foltynek@pef.mendelu.cz. Algebra Struktury s jednou operací

Teoretická informatika Tomáš Foltýnek foltynek@pef.mendelu.cz. Algebra Struktury s jednou operací Teoretická informatika Tomáš Foltýnek foltynek@pef.mendelu.cz Algebra Struktury s jednou operací Teoretická informatika 2 Proč zavádíme algebru hledáme nástroj pro popis objektů reálného světa (zejména

Více

Matematické základy šifrování a kódování

Matematické základy šifrování a kódování Matematické základy šifrování a kódování Permutace Pojem permutace patří mezi základní pojmy a nachází uplatnění v mnoha oblastech, např. kombinatorice, algebře apod. Definice Nechť je n-prvková množina.

Více

Komerční výrobky pro kvantovou kryptografii

Komerční výrobky pro kvantovou kryptografii Cryptofest 05 Katedra počítačů, Fakulta elektrotechnická České vysoké učení technické v Praze 19. března 2005 O čem bude řeč Kryptografie Kryptografie se zejména snaží řešit: autorizovanost přístupu autenticitu

Více

Bezpečnostní mechanismy

Bezpečnostní mechanismy Hardwarové prostředky kontroly přístupu osob Bezpečnostní mechanismy Identifikační karty informace umožňující identifikaci uživatele PIN Personal Identification Number úroveň oprávnění informace o povolených

Více

Ochrana dat 2.12.2014. Obsah. Výměna tajných klíčů ve veřejném kanálu. Radim Farana Podklady pro výuku. Kryptografické systémy s tajným klíčem,

Ochrana dat 2.12.2014. Obsah. Výměna tajných klíčů ve veřejném kanálu. Radim Farana Podklady pro výuku. Kryptografické systémy s tajným klíčem, Ochrana dat Radim Farana Podklady pro výuku Obsah Kryptografické systémy s tajným klíčem, výměna tajných klíčů veřejným kanálem, systémy s tajným klíčem. Elektronický podpis. Certifikační autorita. Metody

Více

Elektronický podpis. Základní princip. Digitální podpis. Podpis vs. šifrování. Hashování. Jednosměrné funkce. Odesílatel. Příjemce

Elektronický podpis. Základní princip. Digitální podpis. Podpis vs. šifrování. Hashování. Jednosměrné funkce. Odesílatel. Příjemce Základní princip Elektronický podpis Odesílatel podepíše otevřený text vznikne digitálně podepsaný text Příjemce ověří zda podpis patří odesílateli uvěří v pravost podpisu ověří zda podpis a text k sobě

Více

Miroslav Kureš. Aplikovaná matematika Ostravice 2012 2. workshop A-Math-Net Sít pro transfer znalostí v aplikované matematice

Miroslav Kureš. Aplikovaná matematika Ostravice 2012 2. workshop A-Math-Net Sít pro transfer znalostí v aplikované matematice O Weilově párování na eliptických křivkách Miroslav Kureš Aplikovaná matematika Ostravice 2012 2. workshop A-Math-Net Sít pro transfer znalostí v aplikované matematice Abstrakt. Pracovní seminární text,

Více

Matematika IV - 5. přednáška Polynomy

Matematika IV - 5. přednáška Polynomy S Matematika IV - 5. přednáška Polynomy Michal Bulant Masarykova univerzita Fakulta informatiky 17. 3. 2008 s Obsah přednášky O Dělitelnost a nerozložitelnost Kořeny a rozklady polynomů Polynomy více proměnných

Více

Základy kryptologie. Kamil Malinka malinka@fit.vutbr.cz Fakulta informačních technologií

Základy kryptologie. Kamil Malinka malinka@fit.vutbr.cz Fakulta informačních technologií Základy kryptologie Kamil Malinka malinka@fit.vutbr.cz Fakulta informačních technologií 1 Detaily zkoušky Během semestru je možno získat maximální počet 100 bodů projekty - 20b. vnitrosemestrální písemka

Více

Symetrické šifry, DES

Symetrické šifry, DES Symetrické šifry, DES Jiří Vejrosta Fakulta jaderná a fyzikálně inženýrská, ČVUT Jiří Vejrosta (FJFI) UKRY 1 / 20 Klíče Symetrická šifra tajný klíč klíč stejný u odesilatele i příjemce Asymetrická šifra

Více

základní informace o kurzu základní pojmy literatura ukončení, požadavky, podmiňující předměty,

základní informace o kurzu základní pojmy literatura ukončení, požadavky, podmiňující předměty, základní informace o kurzu ukončení, požadavky, podmiňující předměty, základní pojmy kód x šifra kryptologie x steganografie kryptografie x kryptoanalyza literatura klasická x moderní kryptologie základní,

Více

Od Enigmy k PKI. principy moderní kryptografie T-SEC4 / L3. Tomáš Herout Cisco. Praha, hotel Clarion 10. 11. dubna 2013.

Od Enigmy k PKI. principy moderní kryptografie T-SEC4 / L3. Tomáš Herout Cisco. Praha, hotel Clarion 10. 11. dubna 2013. Praha, hotel Clarion 10. 11. dubna 2013 Od Enigmy k PKI principy moderní kryptografie T-SEC4 / L3 Tomáš Herout Cisco 2013 2011 Cisco and/or its affiliates. All rights reserved. Cisco Connect 1 Největší

Více

CO JE KRYPTOGRAFIE Šifrovací algoritmy Kódovací algoritmus Prolomení algoritmu

CO JE KRYPTOGRAFIE Šifrovací algoritmy Kódovací algoritmus Prolomení algoritmu KRYPTOGRAFIE CO JE KRYPTOGRAFIE Kryptografie je matematický vědní obor, který se zabývá šifrovacími a kódovacími algoritmy. Dělí se na dvě skupiny návrh kryptografických algoritmů a kryptoanalýzu, která

Více

BEZPEČNOST INFORMACÍ

BEZPEČNOST INFORMACÍ Předmět Bezpečnost informací je zaměřen na bezpečnostní aspekty informačních systémů a na zkoumání základních prvků vytvářeného bezpečnostního programu v organizacích. Tyto prvky technologie, procesy a

Více

Y36PSI Bezpečnost v počítačových sítích. Jan Kubr - 10_11_bezpecnost Jan Kubr 1/41

Y36PSI Bezpečnost v počítačových sítích. Jan Kubr - 10_11_bezpecnost Jan Kubr 1/41 Y36PSI Bezpečnost v počítačových sítích Jan Kubr - 10_11_bezpecnost Jan Kubr 1/41 Osnova základní pojmy typy šifer autentizace integrita distribuce klíčů firewally typy útoků zabezpečení aplikací Jan Kubr

Více

Osnova přednášky. Seznámení s asymetrickou kryptografií, díl 2. Podpisová schémata -elementární principy- (1)

Osnova přednášky. Seznámení s asymetrickou kryptografií, díl 2. Podpisová schémata -elementární principy- (1) Seznámení s asymetrickou kryptografií, díl 2. Ing. omáš Rosa ICZ a.s., Praha Katedra počítačů, FEL, ČVU v Praze tomas.rosa@i.cz Osnova přednášky elementární principy, schéma s dodatkem metody RSA, DSA,

Více

Tel.: (+420) 312 608 207 E-mail: szabo@fbmi.cvut.cz

Tel.: (+420) 312 608 207 E-mail: szabo@fbmi.cvut.cz Internet a zdravotnická informatika ZS 2007/2008 Zoltán Szabó Tel.: (+420) 312 608 207 E-mail: szabo@fbmi.cvut.cz č.dv.: : 504, 5.p Dnešní přednáškař Bezpečnost dat Virus, červ a trojský kůň Základní bezpečnostní

Více

Matematika IV - 5. přednáška Polynomy

Matematika IV - 5. přednáška Polynomy Matematika IV - 5. přednáška Polynomy Michal Bulant Masarykova univerzita Fakulta informatiky 17. 3. 2008 Obsah přednášky O Dělitelnost a nerozložitelnost Kořeny a rozklady polynomů Polynomy více proměnných

Více

Počet kreditů: 5 Forma studia: kombinovaná. Anotace: Předmět seznamuje se základy dělitelnosti, vybranými partiemi algebry, šifrování a kódování.

Počet kreditů: 5 Forma studia: kombinovaná. Anotace: Předmět seznamuje se základy dělitelnosti, vybranými partiemi algebry, šifrování a kódování. Název předmětu: Matematika pro informatiky Zkratka předmětu: MIE Počet kreditů: 5 Forma studia: kombinovaná Forma zkoušky: kombinovaná (písemná a ústní část) Anotace: Předmět seznamuje se základy dělitelnosti,

Více

8.3). S ohledem na jednoduchost a názornost je výhodné seznámit se s touto Základní pojmy a vztahy. Definice

8.3). S ohledem na jednoduchost a názornost je výhodné seznámit se s touto Základní pojmy a vztahy. Definice 9. Lineární diferenciální rovnice 2. řádu Cíle Diferenciální rovnice, v nichž hledaná funkce vystupuje ve druhé či vyšší derivaci, nazýváme diferenciálními rovnicemi druhého a vyššího řádu. Analogicky

Více

Karel Klouda c KTI, FIT, ČVUT v Praze 28. února, letní semestr 2010/2011

Karel Klouda c KTI, FIT, ČVUT v Praze 28. února, letní semestr 2010/2011 MI-MPI, Přednáška č. 3 Karel Klouda karel.klouda@fit.cvut.cz c KTI, FIT, ČVUT v Praze 28. února, letní semestr 2010/2011 Množiny s jednou binární operací Neprázdná množina M s binární operací (resp. +

Více

Programování: základní konstrukce, příklady, aplikace. IB111 Programování a algoritmizace

Programování: základní konstrukce, příklady, aplikace. IB111 Programování a algoritmizace Programování: základní konstrukce, příklady, aplikace IB111 Programování a algoritmizace 2011 Připomenutí z minule, ze cvičení proměnné, výrazy, operace řízení výpočtu: if, for, while funkce příklady:

Více

Směry rozvoje v oblasti ochrany informací PS 7

Směry rozvoje v oblasti ochrany informací PS 7 1 Bezpečnost informací BI Ing. Jindřich Kodl, CSc. Směry rozvoje v oblasti ochrany informací PS 7 2 Osnova vývoj symetrických a asymetrických metod; bezpečnostní protokoly; PKI; šifrováochranavinternetu;

Více

Obsah. Protokol RSA. Protokol RSA Bezpečnost protokolu RSA. 5. a 6. přednáška z kryptografie

Obsah. Protokol RSA. Protokol RSA Bezpečnost protokolu RSA. 5. a 6. přednáška z kryptografie Obsah RSA šifrování 5. a 6. přednáška z kryptografie 1 RSA šifrování 2 Útoky na protokol RSA Útoky při sdíleném modulu nebo exponentu Útoky při malém soukromém exponentu Implementační útoky 3 Digitální

Více

INFORMATIKA (ŠIFROVÁNÍ A PODPIS) 2010/11

INFORMATIKA (ŠIFROVÁNÍ A PODPIS) 2010/11 INFORMATIKA (ŠIFROVÁNÍ A PODPIS) 2010/11 1.1 Šifrovaná a nešifrovaná komunikace Při přenosu dat (v technice i v živých organismech) se užívá: Kódování realizace nebo usnadnění přenosu informace. Morse

Více

Pedagogická fakulta Jihočeské univerzity České Budějovice katedra informatiky

Pedagogická fakulta Jihočeské univerzity České Budějovice katedra informatiky Pedagogická fakulta Jihočeské univerzity České Budějovice katedra informatiky Certifikáty a certifikační autority autor: vedoucí práce: Bc. Stanislav Čeleda PhDr. Milan Novák, Ph.D. rok zadání práce: 2010

Více

9. DSA, PKI a infrastruktura. doc. Ing. Róbert Lórencz, CSc.

9. DSA, PKI a infrastruktura. doc. Ing. Róbert Lórencz, CSc. Bezpečnost 9. DSA, PKI a infrastruktura doc. Ing. Róbert Lórencz, CSc. České vysoké učení technické v Praze Fakulta informačních technologií Katedra počítačových systémů Příprava studijních programů Informatika

Více

příklad Steganografie Matematické základy šifrování šifrování pomocí křížů Hebrejské šifry

příklad Steganografie Matematické základy šifrování šifrování pomocí křížů Hebrejské šifry příklad Steganografie Matematické základy šifrování modulární aritmetika modulární inverze prvočísla faktorizace diskrétní logaritmus eliptické křivky generátory náhodných čísel šifrování pomocí křížů

Více

5. a 6. přednáška z kryptografie

5. a 6. přednáška z kryptografie RSA šifrování 5. a 6. přednáška z kryptografie Alena Gollová RSA širování 1/33 Obsah 1 RSA šifrování 2 Útoky při sdíleném modulu nebo exponentu Útoky při malém soukromém exponentu Implementační útoky 3

Více

Vzdálenost jednoznačnosti a absolutně

Vzdálenost jednoznačnosti a absolutně Vzdálenost jednoznačnosti a absolutně bezpečné šifry Andrew Kozlík KA MFF UK Značení Pracujeme s šifrou (P, C, K, E, D), kde P je množina otevřených textů, C je množina šifrových textů, K je množina klíčů,

Více

Projekt: 1.5, Registrační číslo: CZ.1.07/1.5.00/ Digitální podpisy

Projekt: 1.5, Registrační číslo: CZ.1.07/1.5.00/ Digitální podpisy VY_32_INOVACE_BEZP_08 Projekt: 1.5, Registrační číslo: CZ.1.07/1.5.00/34.0304 Digitální podpisy Základní myšlenkou elektronického podpisu je obdoba klasického podpisu, jež má zaručit jednoznačnou identifikaci

Více

Kódy a kódování dat. Binární (dvojkové) kódy. Kód Aikenův

Kódy a kódování dat. Binární (dvojkové) kódy. Kód Aikenův Kódy a kódování dat Kódování je proces, při kterém se každému znaku nebo postupnosti znaků daného souboru znaků jednoznačně přiřadí znak nebo postupnost znaků z jiného souboru znaků. Kódování je tedy transformace

Více

Šifrová ochrana informací historie KS4

Šifrová ochrana informací historie KS4 VŠFS; Aplikovaná informatika; SW systémy 2005/2006 1 Bezpečnost informací BI Ing. Jindřich Kodl, CSc. Šifrová ochrana informací historie KS4 VŠFS; Aplikovaná informatika; SW systémy 2005/2006 2 Osnova

Více

MPI - 7. přednáška. Hledání inverzí v Z n. Rychlé mocnění modulo n. Lineární rovnice v Z + n. Soustavy lineárních rovnic v Z + n.

MPI - 7. přednáška. Hledání inverzí v Z n. Rychlé mocnění modulo n. Lineární rovnice v Z + n. Soustavy lineárních rovnic v Z + n. MPI - 7. přednáška vytvořeno: 31. října 2016, 10:18 Co bude v dnešní přednášce Hledání inverzí v Z n. Rychlé mocnění modulo n. Lineární rovnice v Z + n. Soustavy lineárních rovnic v Z + n. Rovnice a b

Více

12 Metody snižování barevného prostoru

12 Metody snižování barevného prostoru 12 Metody snižování barevného prostoru Studijní cíl Tento blok je věnován základním metodám pro snižování barevného rozsahu pro rastrové obrázky. Postupně zde jsou vysvětleny důvody k použití těchto algoritmů

Více

UKRY - Symetrické blokové šifry

UKRY - Symetrické blokové šifry UKRY - Symetrické blokové šifry Martin Franěk (frankiesek@gmail.com) Fakulta jaderná a fyzikálně inženýrská, ČVUT Praha 18. 3. 2013 Obsah 1 Typy šifer Typy šifer 2 Operační mody Operační mody 3 Přiklady

Více

Diskrétní matematika 1. týden

Diskrétní matematika 1. týden Diskrétní matematika 1. týden Elementární teorie čísel dělitelnost Jan Slovák Masarykova univerzita Fakulta informatiky jaro 2015 Obsah přednášky 1 Problémy teorie čísel 2 Dělitelnost 3 Společní dělitelé

Více

ŠIFROVÁNÍ, EL. PODPIS. Kryptografie Elektronický podpis Datové schránky

ŠIFROVÁNÍ, EL. PODPIS. Kryptografie Elektronický podpis Datové schránky ŠIFROVÁNÍ, EL. PODPIS Kryptografie Elektronický podpis Datové schránky Kryptografie Kryptografie neboli šifrování je nauka o metodách utajování smyslu zpráv převodem do podoby, která je čitelná jen se

Více

MINIMÁLNÍ POŽADAVKY NA KRYPTOGRAFICKÉ ALGORITMY. doporučení v oblasti kryptografických prostředků

MINIMÁLNÍ POŽADAVKY NA KRYPTOGRAFICKÉ ALGORITMY. doporučení v oblasti kryptografických prostředků MINIMÁLNÍ POŽADAVKY NA KRYPTOGRAFICKÉ ALGORITMY doporučení v oblasti kryptografických prostředků Verze 1.0, platná ke dni 28.11.2018 Obsah Úvod... 3 1 Doporučení v oblasti kryptografických prostředků...

Více

Kryptografické protokoly. Stříbrnice,

Kryptografické protokoly. Stříbrnice, Kryptografické protokoly Stříbrnice, 12.-16.2. 2011 Kryptografie Nauka o metodách utajování smyslu zpráv a způsobech zajištění bezpečného přenosu informací xteorie kódování xsteganografie Historie Klasická

Více

Katedra informačních technologií PEF ČZU, Praha 6, Kamýcká ul., brechlerova@pef.czu.cz

Katedra informačních technologií PEF ČZU, Praha 6, Kamýcká ul., brechlerova@pef.czu.cz DIGITÁLNÍ PODPIS Dagmar Brechlerová Katedra informačních technologií PEF ČZU, Praha 6, Kamýcká ul., brechlerova@pef.czu.cz Abstrakt V referátu jsou vysvětleny základní pojmy týkající se digitálního podpisu.

Více

Cryptelo je systém kompletně navržený a vyvinutý přímo naší společností. Aplikace šifrování do běžné praxe. Cryptelo chrání přímo vaše data

Cryptelo je systém kompletně navržený a vyvinutý přímo naší společností. Aplikace šifrování do běžné praxe. Cryptelo chrání přímo vaše data Cryptelo Drive Cryptelo Drive je váš virtuální disk, kam můžete ukládat ta nejcitlivější data. Chraňte dokumenty, smlouvy, podnikové know-how, fotografie, zkrátka cokoliv, co má být v bezpečí. Data v Cryptelu

Více

Hashovací funkce. Andrew Kozlík KA MFF UK

Hashovací funkce. Andrew Kozlík KA MFF UK Hashovací funkce Andrew Kozlík KA MFF UK Hashovací funkce Hashovací funkce je zobrazení h : {0, 1} {0, 1} n. Typicky n {128, 160, 192, 224, 256, 384, 512}. Obraz h(x) nazýváme otisk, hash nebo digest prvku

Více

Kvantové algoritmy a bezpečnost. Václav Potoček

Kvantové algoritmy a bezpečnost. Václav Potoček Kvantové algoritmy a bezpečnost Václav Potoček Osnova Úvod: Kvantové zpracování informace Shorův algoritmus Kvantová distribuce klíče Post-kvantové zabezpečení Úvod Kvantové zpracování informace Kvantový

Více

Složitost Filip Hlásek

Složitost Filip Hlásek Složitost Filip Hlásek Abstrakt. Příspěvek popisuje dva základní koncepty teoretické informatiky, Turingovy stroje a složitost. Kromě definic důležitých pojmů uvádí také několik souvisejících tvrzení,

Více

Správa webserveru. Blok 9 Bezpečnost HTTP. 9.1 Úvod do šifrování a bezpečné komunikace. 9.1.1 Základní pojmy

Správa webserveru. Blok 9 Bezpečnost HTTP. 9.1 Úvod do šifrování a bezpečné komunikace. 9.1.1 Základní pojmy Blok 9 Bezpečnost HTTP Studijní cíl Devátý blok kurzu je věnován Identifikaci, autentizaci a bezpečnosti Hypertext Transfer Protokolu. Po absolvování bloku bude student ovládat partie týkající se zabezpečení

Více

Problematika Internetového bankovnictví v ČR a jeho bezpečnosti. Problems of Internet banking at Czech republic and its security

Problematika Internetového bankovnictví v ČR a jeho bezpečnosti. Problems of Internet banking at Czech republic and its security Problematika Internetového bankovnictví v ČR a jeho bezpečnosti Problems of Internet banking at Czech republic and its security Dagmar Brechlerová Adresa autorky: RNDR. Dagmar Brechlerová, Česká zemědělská

Více

Šifrování dat, kryptografie

Šifrování dat, kryptografie Metody a využití Šárka Vavrečková Ústav informatiky, FPF SU Opava sarka.vavreckova@fpf.slu.cz Poslední aktualizace: 5. prosince 201 Úvod do kryptografie Kryptografie a kryptoanalýza Co to je kryptografie

Více

Historie Kryptografie

Historie Kryptografie Historie Kryptografie Co je kryptografie? Kryptografie je věda o šifrování dat za pomoci matematických metod. S tímto pojmem musíme ještě zavést pojem kryptoanalýza. Kryptoanalýza se snaží bez znalosti

Více

Co je Czech Point? Podací Ověřovací Informační Národní Terminál, zredukovat přílišnou byrokracii ve vztahu

Co je Czech Point? Podací Ověřovací Informační Národní Terminál, zredukovat přílišnou byrokracii ve vztahu Czech Point Co je Czech Point? Podací Ověřovací Informační Národní Terminál, tedy Czech POINT je projektem, který by měl zredukovat přílišnou byrokracii ve vztahu občan veřejná správa. Czech POINT bude

Více