! o šifrování aneb kryptografie mezi námi

23.10.2012 18:41

 

Kryptografie neboli šifrování je nauka o metodách utajování smyslu zpráv převodem do podoby, která je čitelná jen se speciální znalostí. Slovo kryptografie pochází z řečtiny – kryptós je skrytý a gráphein znamená psát. Někdy je pojem obecněji používán pro vědu o čemkoli spojeném se šiframi jako alternativa k pojmu kryptologie. Kryptologie zahrnuje kryptografii a kryptoanalýzu, neboli luštění zašifrovaných zpráv.

Kryptografie se po staletí vyvíjela k větší složitosti zároveň s lidskou civilizací a mnohokrát ovlivnila běh dějin. Zejména utajení či vyzrazení strategických vojenských informací může mít zásadní vliv. Ale také prozrazení politických intrik, přípravy atentátů nebo i jen prozrazení milenců a podobně, to vše může úzce záviset na bezpečném přenosu informací a na schopnostech protivníka šifru rozbít. První doložení o zašifrování zprávy pochází z roku 480 př. n. l. za období Řecko-Perských válek v bitvě u Salamíny. Do historie kryptografie se zapsal i významný římský vojevůdce a politik Julius Caesar, a to vynalezením šifry, která byla pojmenována jako Caesarova šifra.

Celé období kryptografie můžeme rozdělit do dvou částí. Tou první je klasická kryptografie, která přibližně trvala do poloviny 20. stol. První část se vyznačovala tím, že k šifrování stačila pouze tužka a papír, případně jiné jednoduché pomůcky. Během 1. poloviny 20. stol. ale začaly vznikat různé sofistikované přístroje, které umožňovaly složitější postup při šifrování. Tím přibližně začala druhá část, kterou nazýváme moderní kryptografie. V dnešní době se k šifrování zpravidla nepoužívají žádné zvlášť vytvářené přístroje, ale klasické počítače.

 

Slovem šifra nebo šifrování budeme označovat kryptografický algoritmus, který převádí čitelnou zprávu neboli prostý text na její nečitelnou podobu neboli šifrový text. Klíč je tajná informace, bez níž nelze šifrový text přečíst. Symetrická šifra je taková, která pro šifrování i dešifrování používá tentýž klíč. Asymetrická šifra používá veřejný klíč pro šifrování a soukromý klíč' pro dešifrování. Hašovací funkce je způsob, jak z celého textu vytvořit krátký řetězec, který s velmi velkou pravděpodobností identifikuje nezměněný text. Certifikáty a elektronický podpis jsou softwarové prostředky, které umožní šifrování textu.

 

Steganografie

Starší sestrou kryptografie je steganografie neboli ukrývání zprávy jako takové. Sem patří různé neviditelné inkousty, vyrývání zprávy do dřevěné tabulky, která se zalije voskem apod. V moderní době lze tajné texty ukrývat například do souborů s hudbou či obrázky namísto náhodného šumu.

Johannes Trithemius (* 1. únor 1462 v Trittenheimu; † 13. prosinec 1516 v Würzburgu), klášterní opat, mnohostranný učenec byl známý také jako teoretik kryptografie, steganografie. Vydal tři svazky díla Steganographia (napsána roku 1499 a vydána ve Frankfurtu roku 1606, na Index Librorum Prohibitorum umístěna roku 1609).

 

Substituční šifry

Substituční šifra obecně spočívá v nahrazení každého znaku zprávy jiným znakem podle nějakého pravidla. Pravděpodobně nejstarší popis substituční šifry je v Kámasútře, která se datuje do 4. století, ovšem její autor čerpal z pramenů až o 800 let starších.

Posun písmen

Caesarova šifra je pojmenovaná po Juliu Caesarovi, který ji pravděpodobně používal jako první. Každé písmeno tajné zprávy je posunuto v abecedě o pevný počet pozic. Šifra je z dnešního pohledu velmi snadno luštitelná, protože je jen málo možných klíčů. Ve své době ale představovala nevídanou metodu a osvědčila se velmi dobře.

Tabulky záměn

Šifrování pomocí tabulky záměny, které je založeno na záměně znaku za jiný bez jakékoli vnitřní souvislosti či na základě znalosti klíče (hesla).

 

Aditivní šifry

Vigenèrova šifra

Jedná se o speciální případ polyalfabetické šifry. Vigenèrova šifra používá heslo, jehož znaky určují posunutí otevřeného textu a to tak, že otevřený text se rozdělí na bloky znaků dlouhé stejně jako heslo a každý znak se sečte s odpovídajícím znakem hesla. Caesarova šifra je tedy speciálním případ Vigenèrovy šifry s heslem o délce jeden znak. Vigenèrova šifra způsobuje změny pravděpodobnosti rozložení znaků a tím podstatně znemožňuje kryptoanalýzu na základě analýzy četnosti znaků v textu. Luštění je založeno na vyhledávání vzdálenosti bigramových či trigramových dvojic v šifrovém textu a určováním jejich společného dělitele vedoucí k zjištění délky hesla.

Vernamova šifra

Vernamova šifra je anglicky často nazývaná one-time pad, v českém překladu jednorázová tabulková šifra. Jde dosud o jedinou známou šifru, o níž bylo exaktně dokázáno, že je nerozluštitelná. Podobně jako Vigenèrova šifra i tahle spočívá ve sčítání písmen otevřeného textu a hesla, avšak heslo je blok náhodně zvolených dat o stejné velikosti jako je otevřený text. Pokud jsou splněny podmínky zcela náhodného klíče o stejné délce jako zpráva sama (a není použit opakovaně), je tato šifrovací metoda absolutně bezpečná. Délka klíče však pro běžné účely použití této metody zpravidla znemožňuje, metoda se používá hlavně pro velice specializované účely, např. tzv. horká linka spojující za dob studené války Moskvu a Washington používala Vernamovu šifru. Dnes se využívá v kombinaci s kvantovou kryptografií.

 

Transpoziční šifry

Transpozice neboli přesmyčka spočívá ve změně pořadí znaků podle určitého pravidla. Například tak, že otevřený text je zapsán do tabulky po řádcích a šifrový text vznikne čtením sloupců téže tabulky.

Skytalé

Skytalé je šifra, která používá válec a na něm navinutý papyrus či pergamen, na kterém je napsaný vzkaz. Skytalé používali Řekové, zejména Sparťané, kteří ji využívali během válek.

Transpoziční mřížka

Tabulka, v níž jsou některá políčka vystřižena a do těchto je vpisován otevřený text. Po zaplnění všech políček je tabulka otočena o 90° a postup se opakuje. Tuto šifru použil Jules Verne ve své knize Matyáš Sandorf (Nový hrabě Monte Christo). Jsou možné i jiné tvary tabulky než čtverec. Například lze použít šestiúhelník se šestiúhelníkovými políčky, který se 5× otáčí o 60°. Klíčem této šifry je rozložení vystříhaných políček.

 

Kombinované šifry

Nevýhody či slabiny jednotlivých šifer je možné alespoň částečně odstranit kombinací šifer. Je však potřeba vzít v úvahu, že kombinací stejných druhů šifer zesložitění luštění nedocílíme. Např. následné použití dvou tabulek záměn k zašifrování textu je pro potencionálního útočníka to samé, jako použití jedné tabulky s jiným rozložením.

Šifrování strojem

Použití mechanických a elektronických strojů přineslo do šifrování zcela nové možnosti. Zejména proto, že stroje jsou schopny velkého počtu opakování určitého úkonu v krátkém čase.

Enigma

Německo za 2. světové války používalo k utajování zpráv mechanický stroj Enigma, který prováděl poměrně složité operace se vstupním textem, ale zároveň se dal poměrně snadno ovládat. Poláci ovšem ještě před vypuknutím války pracovali na prolomení šifry a jejich zjištění byla později nedocenitelná pro spojenecké armády. Šifra byla již během války zlomena a poskytovala tak německé straně pouze falešný pocit bezpečí. Nutno ovšem dodat, že prolomení Enigmy bylo ve své době možné pouze díky nevhodným a nedostatečně propracovaným postupům při jejím používání jako byly např. nevyužití maximálního možného zabezpečení poskytovaného propojovací deskou (Steckerbrett), opakování tříznakového klíče na začátku každé zprávy, snadno odhadnutelné fráze v textu apod. Pokud je Enigma používána správně, není rozluštění jejich zpráv triviální záležitostí ani při použití dnešní výpočetní techniky. Enigma měla původně 3 rotory, které se otáčely, podobě jako mechanické počítadlo a každý měl jinak propojené vstupní a výstupní kontakty, tím se měnil průběh proudu a i výsledné písmeno zašifrovaného textu. Později začalo ponorkové námořnictvo používat čtyřrotorové Enigmy a stroj byl zdokonalován i zaváděním dalších prvků (Uhr Box a. j.).

 

Moderní symetrické šifry

  • První standardizovaná symetrická šifra DES (Data Encryption Standard)
  • Současný kryptografický standard AES (Advanced Encryption Standard), jinak také Rijndael (rozdíl je v tom, že AES podporuje jen některé délky bloku a klíče)
  • Finalisté soutěže o návrh standardu AES (Advanced Encryption Standard) - Twofish, RC6, Serpent, Mars a Rijndael, který soutěž vyhrál a byl přijat za standard AES

Symetrická šifra, někdy též nazývaná konvenční, je takový šifrovací algoritmus, který používá k šifrování i dešifrování jediný klíč. Tím se liší od algoritmů s veřejným klíčem, které mají dvojici klíčů – tajný a veřejný.

Podstatnou výhodou symetrických šifer je jejich nízká výpočetní náročnost. Algoritmy pro šifrování s veřejným klíčem můžou být i stotisíckrát pomalejší. Na druhou stranu velkou nevýhodou je nutnost sdílení tajného klíče, takže se odesilatel a příjemce tajné zprávy musí předem domluvit na tajném klíči.

Symetrické šifry se často používají společně s asymetrickými. Obvyklé použití je takové, že otevřený text se zašifruje symetrickou šifrou s náhodně vygenerovaným klíčem. Tento symetrický klíč se zašifruje veřejným klíčem asymetrické šifry, takže dešifrovat data může pouze majitel tajného klíče dané asymetrické šifry.

 

Asymetrické šifry

  • RSA, nejpoužívanější asymetrická šifra
  • Phil Zimmermann, PGP a OpenPGP
  • hašovací funkce
  • digitální podpis

Asymetrická kryptografie – používá soukromý a veřejný klíč

Asymetrická kryptografie (kryptografie s veřejným klíčem) je skupina kryptografických metod, ve kterých se pro šifrování a dešifrování používají odlišné klíče. To je základní rozdíl oproti symetrické kryptografii, která používá k šifrování i dešifrování jediný klíč.

Kromě očividné možnosti pro utajení komunikace se asymetrická kryptografie používá také pro elektronický podpis, tzn. možnost u dat prokázat jejich autora.

Šifrovací klíč pro asymetrickou kryptografii sestává z dvou částí: jedna část se používá pro šifrování zpráv (a příjemce zprávy ani tuto část nemusí znát), druhá pro dešifrování (a odesilatel šifrovaných zpráv ji zpravidla nezná). Je vidět, že ten, kdo šifruje, nemusí s dešifrujícím příjemcem zprávy sdílet žádné tajemství, čímž eliminují potřebu výměny klíčů; tato vlastnost je základní výhodou asymetrické kryptografie.

Nejběžnější verzí asymetrické kryptografie je využívání tzv. veřejného a soukromého klíče: šifrovací klíč je veřejný, majitel klíče ho volně uveřejní, a kdokoli jím může šifrovat jemu určené zprávy; dešifrovací klíč je soukromý, majitel jej drží v tajnosti a pomocí něj může tyto zprávy dešifrovat. (Existují i další metody asymetrické kryptografie, ve kterých je třeba i šifrovací klíč udržovat v tajnosti.)

Je zřejmé, že šifrovací klíč e a dešifrovací klíč d spolu musí být matematicky svázány, avšak nezbytnou podmínkou pro užitečnost šifry je praktická nemožnost ze znalosti šifrovacího klíče spočítat dešifrovací.

Asymetrická kryptografie je založena na tzv. jednocestných funkcích, což jsou operace, které lze snadno provést pouze v jednom směru: ze vstupu lze snadno spočítat výstup, z výstupu však je velmi obtížné nalézt vstup. Nejběžnějším příkladem je například násobení: je velmi snadné vynásobit dvě i velmi velká čísla, avšak rozklad součinu na činitele (tzv. faktorizace) je velmi obtížný. (Na tomto problému je založen např. algoritmus RSA.) Dalšími podobnými problémy jsou výpočet diskrétního logaritmu či problém batohu.

Některé kryptografické metody mohou být označeny za bezpečné na základě složitosti matematického problému jako prvočíselný rozklad násobku dvou velkých prvočísel nebo počítání diskrétního logaritmu. Toto je pouze matematický smysl bezpečnosti a existuje více různých definicí, dle kterých se může kryptografická metoda označit za bezpečnou.

Na rozdíl od Vernamovy šifry se žádná metoda asymetrické kryptografie neukázala jako bezpečná při použití nekonečného výpočetního výkonu. Důkazy bezpečnosti těchto metod tedy počítají s omezeným výpočetním výkonem a říkají například že „metoda je nerozluštitelná pomocí osobního počítače za 1000 let“, nebo „tento algoritmus je bezpečný pokud nedojde k objevení lepší metody pro faktorizaci“.

Jednou z aplikací asymetrické kryptografie je elektronický podpis. Uživatel, který chce poslat zprávu, tak spočítá její digitální podpis a ten pošle spolu se zprávou příjemci. Digitální podpis může být spočítán jedině pomocí odesílatelova privátního klíče, ale pro ověření stačí pouze veřejný klíč. V některých případech (např. RSA) jsou metody elektronického podpisu velmi podobné kryptografickým metodám. V jiných případech (např. DSA) algoritmus nepřipomíná žádnou kryptografickou metodu.

Pro dosažení ověřitelnosti a utajení odesílatel zprávu podepíše svým privátním klíčem, potom ji zašifruje a podepíše veřejným klíčem příjemce.

 

Kvantová kryptografie

Kvantová kryptografie je obor kryptografie využívající poznatků kvantové mechaniky. Řeší problém bezpečné distribuce klíčů mezi Alicí a Bobem a umožňuje spolehlivou detekci odposlechu. Zatímco klasická kryptografie používá k utajení informací metody matematiky a informatiky, kvantová kryptografie využívá přírodní zákony. První kvantový kryptografický protokol navrhli v roce 1984 Bennett a Brassard.

Každý skutečný komunikační kanál má určitou fyzickou realizaci, svou fyzikální podstatu. Odposlouchávání kanálu z hlediska fyziky odpovídá procesu měření určitých veličin. Z kvantové mechaniky jako jeden ze zásadních důsledků vyplývá, že jakékoliv měření systém ovlivňuje, mění jeho stav. Tuto změnu je možné fyzikálními metodami zjistit, což pro kryptografii znamená, že v určitých situacích je možné spolehlivě detekovat odposlech. Dnes jsou známé a vyzkoušené dvě metody, jak toho docílit. Jedna je založena na měření polarizace fotonů (viz níže), druhá na zvláštních vlastnostech stavu propletenosti (viz níže).

Druhým důsledkem je, že kvantová mechanika zahrnuje procesy, které jsou z principu dokonale náhodné. Narušením Bellových nerovností bylo experimentálně dokázáno, že náhodnost není důsledkem neúplnosti teorie, jak se domníval Einstein, ale skutečně principiální záležitostí. To je velmi zajímavé pro moderní kryptografii, která spoléhá na kvalitní generátory náhodných čísel.

Kvantové kryptografické kanály neslouží přímo k přenosu tajné informace, ale k výrobě a zároveň distribuci dokonale náhodného klíče. Jestliže se Alice s Bobem dokážou na dálku bezpečně domluvit na náhodném klíči potřebné délky, mohou následně použít Vernamovu šifru a poslat tajná data nezabezpečeným kanálem. Šifra zaručí jejich nepodmíněnou bezpečnost. Ovšem praktické implementace stále vykazují bezpečnostní nedostatky.

V roce 1984 navrhli Bennett a Brassard první protokol postavený na kvantové mechanice, který umožňoval tvorbu a distribuci náhodného klíče. Podle počátečních písmen objevitelů a podle roku se protokol označuje BB84. Hodnoty bitů se kódují do polarizace fotonů, částic světla. Nastavíme-li fotonu do cesty polarizační filtr, foton buď projde či neprojde. Foton polarizovaný shodně s rovinou filtru projde vždy, polarizovaný kolmo na rovinu filtru neprojde nikdy. Foton polarizovaný v jiné rovině si vybere náhodně s pravděpodobností danou skutečným úhlem polarizace. Ke kódování bitů se použijí 4 polarizační stavy, z nichž dva a dva jsou navzájem kolmé a tyto dvojice jsou vůči sobě otočené o úhel 45 stupňů. Komunikace probíhá v šesti krocích, ve kterých si Alice a Bob zároveň volají veřejným kanálem a domlouvají se o některých výsledcích svých měření. Detekci odposlechu umožňuje fakt, že měření fotonu v nesprávné rovině změní jeho stav a jeho následné měření dá s 50% šancí špatný výsledek. To Alice s Bobem poznají, když se o některých fotonech veřejně domluví.

Tato metoda je poměrně oblíbená, fotony lze přenášet běžným optickým vláknem. Je ale nutné, aby na straně Boba vyšel přesně tentýž foton, který Alice odeslala, takže je vyloučeno použití zesilovačů signálu. To technicky omezuje vzdálenost, na níž lze tuto komunikaci realizovat.

Druhou metodu navrhl v roce 1991 Artur Ekert, o rok později ji se spolupracovníky úspěšně vyzkoušel v laboratoři. Využívá stavu kvantové propletenosti (entanglement) dvojice částic. U takové dvojice nemá smysl mluvit o stavu jednotlivých částic, ale pouze společně o stavu dvojice. Měření provedené na jedné z nich nevyhnutelně způsobí kolaps vlnové funkce, jíž je dvojice popsána, což změní stav druhé částice. To se děje bez ohledu na jejich aktuální vzdálenost. Vizte též EPR paradox.

Určitý zdroj generuje dvojice fotonů, jejichž spiny jsou ve stavu superpozice stavu nahoru a dolů, ale zároveň jsou díky propletenosti úplně korelované. To znamená, že naměříme-li na jednom fotonu spin nahoru, pak druhý bude mít spin dolů a naopak. Výsledek měření konkrétního fotonu je ale zcela náhodný, nepředvídatelný. Zdroj může být umístěn na straně Boba či Alice či někde úplně jinde, na tom nezáleží. Jeden foton z dvojice je vždy odeslán Alici, druhý Bobovi. Jestliže Alice provede na svém fotonu měření, poznamená si nulu nebo jedničku podle výsledku měření. To bude jeden bit klíče. Bob udělá totéž a ví, že dostal opačný výsledek, takže si poznamená stejnou hodnotu bitu. Tak dojde k vytvoření a výměně celého klíče, který je dokonale náhodný. Někdo ale mohl fotony měřit už po cestě a pokusit se tak o odposlech. Kdyby to udělal, narušila by se kvantová korelace mezi výsledky Alicina a Bobova měření. Začaly by platit klasické Bellovy nerovnosti, které kvantová mechanika porušuje. Tuto změnu je možné zjistit statisticky tak, že Alice a Bob nakonec část vyměněných bitů obětují a veřejně se domluví na výsledcích svých měření. Pokud není pozorováno narušení nerovností, je kanál odposloucháván a klíč nemůže být použit.

I tato metoda má citelná omezení použitelnosti. Propletený stav fotonů je stavem superponovaným a jako takový brzy podléhá dekoherenci.