Vernamova šifra je symetrická proudová šifra spočívající v binární operací XOR nad otevřeným textem a předem smluveným náhodným klíčem (šumem).

Klíč se za žádných okolností nesmí recykovat - na každou komunikaci se použije vždy nový - protože jinak by útočník mohl XORovat obě zašifrované zprávy, čímž by získal XOR obou nezašifrovaných zpráv, z čehož lze statistickými metodami získat otevřený text obou zpráv. Pokud se dodrží tato zásada a klíč je vygenerován skutečně náhodným způsobem (nikoliv pseudonáhodným), pak šifru nelze prolomit.


Příklad

 Otevřený text: EMAMAMASO
 Převedeme do ASCII.
 
 OT:   01000101 01001101 01000001 01001101 01000001 01001101 01000001 01010011 01001111 
 Klíč: 10111001 01110100 00111010 00010101 01101010 11010100 10101010 10001110 10101010 
 --------------------------------------------------------------------------------------
 ŠT:   11111100 00111001 01111011 01011000 00101011 10011001 11101011 11011101 11100101 
 

Příjemce zprávu rozšifruje stejným předem smluveným klíčem.

 
 ŠT:   11111100 00111001 01111011 01011000 00101011 10011001 11101011 11011101 11100101 
 Klíč: 10111001 01110100 00111010 00010101 01101010 11010100 10101010 10001110 10101010 
 --------------------------------------------------------------------------------------
 OT:   01000101 01001101 01000001 01001101 01000001 01001101 01000001 01010011 01001111 
 
 Dekódujeme z ASCII.
 Otevřený text: EMAMAMASO
 







Doporučujeme