Still, one cannot fault Julius Caeser entirely for using a weak crypto-system. He had little choice. At that time, all known crypto-systems were only slightly stronger than the known attacks. The defensive side of the science, called cryptography was only one small step ahead of the offensive side of the science, called cryptanalysis. For two centuries there were no codes that where impervious to attacks based upon technology of the same era.
This all changed in the twentieth century. First, early in the twentieth century, 1926 to be exact, G. S. Vernam invented a cipher that is unbreakable. At the time Vernam published his work the cipher was only thought to be unbreakable; today we know that it is indeed unbreakable. It has been proved with mathematical rigor.
Vernam was an engineer working for AT&T. This was always a point of pride when I presented this material at AT&T. I used to devote considerable time to Vernam and his work, describing his career with the company as well as his technical contributions to the field. Vernam wasn’t the only modern cryptographer to work for a telecommunications company; many of the recent advances in cryptology have come from the communications industry.
Vernam’s innovation was to use keys only once. Not only does this mean that the key must be changed for every message sent, but it also means that each bit of the key can only be applied to a single bit of the message. Each bit of plain-text is treated as a separate message and is encrypted with a new (single-bit) key. Clearly this scheme has disadvantages: the key must be as long as the message and must be changed as frequently as the message. At the same time, the key must be known to both communicating parties. If one can exchange long keys securely, and do it frequently, then why bother with encryption at all? Just use whatever mechanism you are using to exchange keys to exchange the messages themselves! It is for this reason that the Vernam cipher is of limited practical use.
One example of a Vernam cipher is to rotate letters in precisely the same way as one does in a Caesar cipher, except the amount of rotation varies for each letter of the message. For example, suppose we wish to encrypt the plain-text message:
Please meet me at the corner in one hour
First, we put the message in a canonical form by removing all the space characters and using only upper-case. Compaction of this sort is commonly used in cryptography. Without it, it would be possible to infer information from the sizes of words used in the message, unless the space character is also encrypted (i.e. rotated), which would require using a canonical character sequence other than the traditional English alphabet. This is no big deal — one could use ASCII or Unicode — but to keep things simple I stick to ordinary letters.
Now, for a Vernam cipher we need a key of length equal to the message, say:
5 8 12 2 0 8 22 5 18 25 3 0 10 3 3 15 19 12 15 3 8 5 22 20 0 1 6 2 24 16 23 4
Our cipher-text is:
The important thing to remember when using a Vernam cipher is that the rotation for each letter in the message must be completely independent of the rotations for the other letters. Furthermore, the key must be selected randomly (or as close to randomly as is feasible). In the key sequence above (which I chose arbitrarily but not randomly), each member of the sequence is a number between 0 and 25, inclusive.
In practice, Vernam ciphers are applied bit-by-bit. The message is viewed as a bit-string and the key too is a bit-string. Each bit of the key specifies a rotation in the range of 0 and 1. In other words, the exclusive-or operation is used; a Vernam cipher is nothing more than an exclusive-or of the message with a one-time key of equal length. This is often referred to as “blinding” or using a one-time-pad.
Vernam ciphers have application in military settings, where a large number of one-time-pads can be distributed ahead of time via a secure means and then used to exchange encrypted messages at a later time in a hostile environment. Code-books, where soldiers in the field must decrypt messages by looking up words in a printed book and replacing each word of the code with the appropriate word from the book, are an example of a Vernam cipher (provided the keys are only used once and the set of replacement words and code words are selected from dictionaries of the same size). In 1949 C. E. Shannon published a paper on information theory entitled, Communication Theory of Secrecy Systems. This marked the dawn of modern cryptology, for it was this paper that established a firm scientific basis for crypto-systems.
Shannon was an electrical engineer by training and another telecom employee, working for Bell Telephone. By 1949 he had already published a soon-to-become legendary paper on communications theory in general. Indeed, today Shannon is probably better known for his 1948 paper on communications theory than the 1949 paper on cryptology. But it is the 1949 paper that established the science of cryptology.