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