Kryptografie

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.

Vývoj kryptografie 
Zmínky o utajování obsahu písma se objevovaly již ve starém Egyptě, Mezopotámii a Indii. Staří Řekové vynalezli nejen mechanické ukrytí utajovaných zpráv (např. překrytí zprávy vyryté do dřevěné destičky voskem), ale v 5. století př. n. l. i první jednoduché šifrové systémy.  

Do historie kryptografie se zapsal i Julius Caesar vynalezením šifry, která byla pojmenována jako Caesarova šifra. Šifrování se velice rychle rozvíjelo a již na přelomu středověku a novověku dosáhlo nečekaného stupně odolnosti. Např. expertům španělské tajné služby trvalo v roce 2017 i s veškerým moderním vybavením celého půl roku, než prolomili šifrování korespondence mezi španělským králem Ferdinandem Aragonským a jeho generálem Gonzalem Fernándezem de Córdoba, který vedl tažení španělských vojsk na Apeninském poloostrově na přelomu 15. a 16. století. 

Celé období kryptografie lze rozdělit do dvou částí. 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, která se nazývá moderní kryptografie. V dnešní době se k šifrování zpravidla nepoužívají žádné zvlášť vytvářené přístroje, ale klasické počítače.

Základní pojmy 
Slovem šifra nebo šifrování se označuje kryptografický algoritmus, který převádí čitelnou zprávu neboli prostý text na její nečitelnou podobu neboli šifrový text. Opačný postup se nazývá dešifrování. Protože algoritmus dešifrování není možné dlouhodobě udržet v tajnosti, není utajovaným prvkem dešifrovací algoritmus, ale parametr šifrování, který se nazývá klíč. Množina možných klíčů musí být tak velká, aby nebylo možné zprávu rozluštit postupným zkoušením všech klíčů.

Tradiční šifry používají pro šifrování i dešifrování stejný klíč; takové šifry se nazývají symetrické. Asymetrické šifry používají dvojice klíčů, z nichž jeden slouží pro šifrování a druhý pro dešifrování. Pokud z šifrovacího klíče nelze určit dešifrovací (je sice možné generovat dvojice šifrovacích a dešifrovacích klíčů, ale spočítat z jednoho z nich druhý je „dostatečně“ složité), pak může  majitel dvojice klíčů svůj šifrovací klíč zveřejnit – to je tak zvaný veřejný klíč. Druhý klíč z dvojice sloužící pro dešifrování je soukromý klíč.

Pokud se šifrování na danou zprávu použije vícekrát, jedná se o vícenásobné šifrování.

Hašovací funkce je způsob, jak z libovolně dlouhého textu vytvořit krátký řetězec, který s velmi velkou pravděpodobností text identifikuje; pro kryptografii musí být hašovací funkce speciálně navržené (kryptografická hašovací funkce), aby nebylo možné vytvořit jiný text, který bude mít stejnou hodnotu hašovací funkce.

Elektronický podpis pak umožňuje ověření autenticity, tedy prokázání, kdo zprávu vytvořil (nebo spíše podepsal) a že nebyla po podepsání změněna. Při využití asymetrické kryptografie pak mohou zajišťovat i nepopíratelnost – autor později nemůže popřít, že zprávu podepsal (protože jeho soukromý klíč nikdo jiný nezná a nemohl tak podpis podvrhnout).

Digitální certifikát je prostředek, kterým lze prokázat totožnost jeho majitele díky tomu, že je certifikát elektronicky podepsán autoritou, které důvěřuje.

Historické metody

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.

Johannes Trithemius (* 1. únor 1462 v Trittenheimu; † 13. prosinec 1516 v Würzburgu), opat a 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.

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).
 Příklad tabulky záměny, s použitím slova VESLO jako klíče:

nebo

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í 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ího k zjištění délky hesla.

 Příklad s použitím slova HESLO jako klíče k zašifrování:

Vernamova šifra 
Vernamova šifra je anglicky často nazývaná one-time pad, v českém překladu jednorázová tabulková šifra. Jde o jedinou známou šifru, o níž bylo dosud exaktně dokázáno, že je nerozluštitelná. Podobně jako Vigenèrova šifra i tato 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.
 Příklad transpoziční mřížky (horní strana je označena červeně pro snazší orientaci a použití)

Jednoduchá sloupcová transpozice 

Funguje na principu přepsání kódovaného textu do tabulky o počtu sloupců, který se rovná počtu písmen v klíčovém slově nebo slovech, a následném přeskupení sloupců na základě znalosti klíče.

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 potenciá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í šifry 
I v současné době mohou mít šifry zadní vrátka. Síla šifrování závisí také na tom, zda generátor pseudonáhodných čísel je kvalitní.

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
 Více viz symetrická kryptografie
 Více viz Šifrování dat

Asymetrické šifry 
Asymetrická kryptografie – používá soukromý a veřejný klíč
 RSA, nejpoužívanější asymetrická šifra
 známé využití asymetrické šifry:
 PGP ( OpenPGP )
 digitální podpis

Hybridní šifry 
Současné asymetrické šifrovací systémy používají hybridní šifrování, které kombinuje výhody asymetrického šifrování s rychlostí symetrických šifer. Zpráva samotná se zašifruje symetrickým šifrováním s náhodně vygenerovaným klíčem (tzv. klíč sezení, ), který, zašifrovaný pomalou asymetrickou šifrou, se přiloží k zašifrované zprávě.

Hašovací funkce 
 Hašovací funkce je jednosměrná matematická funkce, která se používá například pro zajištění integrity dat.

Kvantová kryptografie 

Kvantové kryptografické kanály neslouží přímo k přenosu tajné informace, ale k výrobě a zároveň distribuci náhodného klíče.

Postkvantová kryptografie 

Postkvantová kryptografie označuje klasickou kryptografii odolnou proti kvantovým počítačům.

Reference

Související články 
 Kvantová kryptografie
 Postkvantová kryptografie
 Šifrování dat
 Útoky postranními kanály
 OTFE
 PKI

Literatura 
 Singh, S. Kniha kódů a šifer, Dokořán, 2003
 Kryptografie Karlín – přednášky a studijní materiály z MFF UK
 Rychlý, skoro laický úvod do kryptografie a zabezpečeného přenosu souborů – bakalářská práce na dané téma z MFF UK

Externí odkazy 
 
 
 
 Seriál Code Talkers
 Seriál Diskové šifrování pomocí dm-crypt/LUKS
 Seznam schválených šifrovacích zařízení v EU
 Problémy implementace šifrování

 
Teorie čísel
Aplikovaná matematika
Informační bezpečnost