Gilbert Vernam
|
Gilbert Sandford Vernam (1890–7 February 1960) was a AT&T Bell Labs engineer who, in 1917, invented the stream cipher and later co-invented the one-time pad cipher. Vernam proposed a teletype cipher in which a previously-prepared key, kept on paper tape, is combined character by character with the plaintext message to produce the cyphertext. To decipher the ciphertext, the same key would be again combined character by character, producing the plaintext.
Contents |
Vernam's patent
The combining function Vernam specified in Template:US patent, issued July 22, 1919, is the XOR operation, applied to the individual impulses or bits used to encode the characters in the Baudot teletype 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 "one of the most important in the history of cryptography."
One time pad
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 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 is unbreakable (work done 1940-45; first published in Bell Labs Technical Journal 1948/49). It is the first and only encryption method for which there is such a proof. Shannon also proved that any unbreakable cypher would be homologous to the one-time pad.
The Vernam cipher
In modern terminology, a Vernam cipher is a stream cipher in which the plaintext is XORed with a random or pseudorandom stream of data the same length to generate the ciphertext. If the stream of data is truly random and used only once, this is the 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 still widely used in 2004.
References
- Gilbert S. Vernam, "Cipher Printing Telegraph Systems For Secret Wire and Radio Telegraphic Communications", Journal of the IEEE, Vol 55, pp109-115 (1926).