Gilbert Sandford Vernam (3 April 1890 – 7 February 1960) was a Worcester Polytechnic Institute 1914 graduate and AT&T Bell Labs engineer who, in 1917, invented an additive polyalphabetic stream cipher and later co-invented an automated one-time pad cipher. Vernam proposed a teleprinter cipher in which a previously prepared key, kept on paper tape, is combined character by character with the plaintext message to produce the ciphertext. To decipher the ciphertext, the same key would be again combined character by character, producing the plaintext. Vernam later worked for the Postal Telegraph Company, and became an employee of Western Union when that company acquired Postal in 1943. His later work was largely with automatic switching systems for telegraph networks.
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.".
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.
Claude Shannon, also at Bell Labs, proved that the one-time pad, properly implemented, 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.
The Vernam cipher
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 ⊕  and is represented by the following "truth table", where + represents "true" and − represents "false".
|A||B||A ⊕ B|
Other names for this function are: Not equal (NEQ), modulo 2 addition (without 'carry') and modulo 2 subtraction (without 'borrow').
The cipher is reciprocal in that the identical keystream is used both to encipher plaintext to ciphertext and to decipher ciphertext to yield the original plaintext:
- Plaintext ⊕ Key = Ciphertext
- Ciphertext ⊕ Key = Plaintext
If the keystream is truly random and used only once, this is effectively a one-time pad. Substituting pseudorandom data generated by a cryptographically secure pseudo-random number generator is a common and effective construction for a stream cipher. RC4 is an example of a Vernam cipher that is widely used on the Internet.
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.
- Klein, Melville, Securing Record Communications: The TSEC/KW-26 (PDF), retrieved 2012-04-12
- Shannon, C.E. (October 1949), "Communication Theory of Secrecy Systems", Bell System Technical Journal, 28 (4): 656–715, doi:10.1002/j.1538-7305.1949.tb00928.x
- Tutte, W. T. (19 June 1998), Fish and I (PDF), retrieved 7 April 2012 Transcript of a lecture given by Prof. Tutte at the University of Waterloo
- Vernam, Gilbert S. (1926), "Cipher Printing Telegraph Systems For Secret Wire and Radio Telegraphic Communications", Journal of the IEEE, 55: 109–115
- Vernam, Gilbert S. (April 1932), "An Automatic Concentration Unit for Printing Telegraph Circuits", Electrical Communication: 200
- Vernam, Gilbert S. (July 1938), "Printing Telegraph Operation of Way Wires", AIEE Transactions, 57: 365, doi:10.1109/t-aiee.1938.5057823
- Vernam, Gilbert S. (April 1958), "Printing Telegraph Systems For Secret Wire and Radio Telegraphic Communications", Western Union Technical Review, 12 (2): 37 Also in Vernam, Gilbert S. (May 1958), "Automatic Telegraph Switching System Plan 55-A", AIEE Transactions on Communication and Electronics: 239