Contents

The combining function Vernam specified in U.S. Patent 1,310,719, issued July 22, 1919, is the XOR operation, applied to the individual impulses or bits used to encode the characters in the Baudot code. Vernam did not use the term "XOR" in the patent, but he implemented that operation in relay logic. In the example Vernam gave, the plaintext is A, encoded as "++---" in Baudot, and the key character is B, encoded as "+--++". The resulting ciphertext will be "-+-++", which encodes a G. Combining the G with the key character B at the receiving end produces "++---", which is the original plaintext A. The NSA has called this patent "perhaps one of the most important in the history of cryptography.".[1]

Shortly thereafter, Joseph Mauborgne, at that time a captain in the US Army Signal Corps, proposed, in addition, that the paper tape key contain random information. The two ideas, when themselves combined, implement an automatic form of the one-time pad, though neither inventor used the name then. It was patented in the mid-1920s[citation needed].

Claude Shannon, also at Bell Labs, proved that the one-time pad is unbreakable in his World War II research that was later published in October 1949. He also proved that any unbreakable system must have essentially the same characteristics as the one-time pad: the key must be truly random, as large as the plaintext, never reused in whole or part, and kept secret.[2]

In modern terminology, a Vernam cipher is a symmetrical stream cipher in which the plaintext is combined with a random or pseudorandom stream of data (the "keystream") of the same length, to generate the ciphertext, using the Boolean"exclusive or" (XOR) function. This is symbolised by ⊕ [3] and is represented by the following "truth table", where + represents "true" and − represents "false".

If, however, the same keystream is used for two messages, known to cryptanalysts as a depth, the effect of the keystream can be eliminated, leaving the two plaintexts XORed together. The result is equivalent to a Running key cipher and the two plaintexts may be separated by linguistic cryptanalytical techniques.

Ciphertext1 ⊕ Ciphertext2 = Plaintext1 ⊕ Plaintext2

An operator's mistake of this sort famously allowed the Cryptanalysis of the Lorenz cipher by the British at Bletchley Park during World War II. They diagnosed how the keystream was generated, worked out how to break the cipher, and read vast quantities of high-level messages to and from German high command without ever seeing an actual Lorenz machine.[4]

^Klein, p. 3 “Vernam had invented the unbreakable cipher: “one-time tape” (OTT) for on-line TTY encryption. In 1919 he was granted a patent, perhaps one of the most important in the history of cryptography.”