Vernamova šifra

Verze z 11. 5. 2018, 15:21, kterou vytvořil Katerina.Mizlerova (diskuse | příspěvky) (Založena nová stránka s textem „'''Vernamova šifra''' je jednoduchý šifrovací postup, který v roce 1917 vyvinul a v roce 1918 si ho nechal patentovat Gilbert Vernam. Je to v pod…“)
(rozdíl) ← Starší verze | zobrazit aktuální verzi (rozdíl) | Novější verze → (rozdíl)

Vernamova šifra je jednoduchý šifrovací postup, který v roce 1917 vyvinul a v roce 1918 si ho nechal patentovat Gilbert Vernam. Je to v podstatě Vigenerova šifra, jejíž klíč je stejně dlouhý, jako otevřený text. Spočívá v posunu každého znaku zprávy o náhodně zvolený počet míst v abecedě, tím pádem je v principu nerozluštitelná.[1]

Metody šifrování

Převod na čísla

Při převodu písmen textu na číslice se nejdříve musí definovat abeceda, tzn. každému použitému znaku se musí přiřadit číselná hodnota. Na vstupu se použijí čísla převedeného textu a náhodně vygenerovaná čísla. Výsledným výstupem je zašifrovaný text. Před posledním krokem se převedený text rozčlení na bloky po 5ti číslicích a poslední blok se doplní libovolnými čísly. Poté se přidá klíč a na každou dvojici čísel se aplikuje operace zčítání tak, aby výsledné číslo bylo vždy jednociferné. Při dešifrování se použije operace odečítání pro získání klíče, nebo pro získání původního textu. Po dešifrování se je třeba převést znaky podle dané abecedy.[2]

Využití náhodných znaků

V tomto způsobu šifrování textu se používá tzv. Vigenèrova tabulka. Pro získání zašifrovaného znaku se vezme aktuální znak v textu na vodorovné ose a znak hesla na ose svislé. Průsecík udává znak zašifrovaný. Dešifrování probíhá tak, že pro každý znak klíče se na vodorovné ose najde takový znak, který odpovídá zašifrovanému textu. Udelá se průsečík se svislou osou a na prvním řádku se objeví znak dešifrovaný.[2]

ASCII bitový převod

ASCII tabulka se používá jako abeceda, s její pomocí se každý znak textu i klíče převede do bitové podoby. Následne se použije matematická funkce XOR, která má na vstupech bitové podoby textu a klíče. Výstupem je ASCII text zašifrovaný Vernamovou šifrou. Pro dešifrování XOR výstupu se využije klíč, který byl použit pro šifrování. Každý klíč musí být náhodný a může být použit pouze jednou, resp. dvakrát, jednou při zašifrování a podruhé při dešifrování textu.[2]

Podmínky spolehlivosti

  • každý klíč je tak dlouhý jako přenášená zpráva - kratší klíč umožňuje útok hrubou silou
  • klíč je dokonale náhodný - není možné použít generátory náhodných čísel, protože jejich činnost je možné předvídat
  • klíč nelze použít opakovaně - to je důsledkem předhozí podmínky, protože opakovaný klíč není náhodný[3]

Důkaz neprolomitelnosti

Claude Elwood Shannon v článku Communication Theory of Secrecy Systems z roku 1949, publikoval důkaz neprolomitelnosti vernamovy šifry. Tento důkaz je založen na tom, že je-li klíč náhodnou veličinou s rovnoměrným rozložením, je i kryptogram náhodnou veličeinou s rovnoměrným rozložením a neposkytuje tedy žádnou informaci o původním textu.[4]

Odkazy

Reference

  1. BÍLKOVÁ, Gabriela, 2010. Moderní kryptologie. Zlín. Bakalářská práce. Univerzita Tomáše Bati ve Zlíně.
  2. 2,0 2,1 2,2 KOPECKÝ, Petr, 2011. Praktická implementace Vernamovy šifry. České Budějovice. Bakalářská práce. Jihočeská univerzita v Českých Budějovicích.
  3. ELVIRA, Djemileva, 2011. Kryptografie v ICT. Praha. Bakalářská práce. Bankovní institut výsoká škola Praha.
  4. PROKOP, Jiří. Algoritmy v jazyku C a C++-2., rozšířené a aktualizované vydání. Grada Publishing as, 2012.

Použitá literatura