Kryptografie

metody pro zabezpečenou komunikaci
Na tento článek je přesměrováno heslo šifra. Další významy jsou uvedeny na stránce Šifra (rozcestník).

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čtinykryptó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.

Šifrovací stroj Enigma

Vývoj kryptografie

editovat

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.[1]

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í.[2]

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

editovat

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

editovat

Steganografie

editovat

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

editovat

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

editovat

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

editovat

Š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:
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
V E S L O A B C D F G H I J K M N P Q R T U W X Y Z

nebo

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
V E S L O P Q R T U W X Y Z A B C D F G H I J K M N

Aditivní šifry

editovat

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í:
otevřený text S T A S T N E A V E S E L E
klíč H E S L O H E S L O H E S L
šifrový text A Y T E I V J T H T A J E Q

Vernamova šifra

editovat

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

editovat

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é

editovat

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

editovat
Související informace naleznete také v článku Šifrovací 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

editovat
Související informace naleznete také v článku 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

editovat

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

editovat

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.

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 aj.).

Moderní šifry

editovat

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

editovat
  • 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

editovat

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

Hybridní šifry

editovat

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í, anglicky session key), který, zašifrovaný pomalou asymetrickou šifrou, se přiloží k zašifrované zprávě.

Hašovací funkce

editovat

Kvantová kryptografie

editovat
Podrobnější informace naleznete v článku 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

editovat
Podrobnější informace naleznete v článku Postkvantová kryptografie.

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

Reference

editovat
  1. VONDRUŠKA, Pavek. Cesta kryptografie do nového tisíciletí: Od Kámasutry k osobním zápiskům K. H. Máchy [online]. ComputerWorld, 37-40 2000 [cit. 2020-12-04]. Dostupné online. 
  2. http://tn.nova.cz/clanek/spanelska-tajna-sluzba-hlasi-velky-uspech-prolomili-500-let-stary-kod.html

Související články

editovat

Literatura

editovat

Externí odkazy

editovat
  NODES
Idea 1
idea 1