One-Time Pad
An Army Signal Corp
officer, Joseph Mauborgne, proposed an improvement to the Vernam cipher that
yields the ultimate in security. Mauborgne suggested using a random key that is
as long as the message, so that the key need not be repeated. In addition, the
key is to be used to encrypt and decrypt a single message, and then is
discarded. Each new message requires a new key of the same length as the new
message. Such a scheme, known as a one-time pad, is unbreakable. It
produces random output that bears no statistical relationship to the plaintext.
Because the ciphertext contains no information whatsoever about the plaintext,
there is simply no way to break the code.
An example should
illustrate our point. Suppose that we are using a Vigenère scheme with 27
characters in which the twenty-seventh character is the space character, but
with a one-time key that is as long as the message. Thus, the tableau of Table 2.3 must be expanded to 27 x 27.
Consider the ciphertext
ANKYODKYUREPFJBYOJDSPLREYIUNOFDOIUERFPLUYTS
We now show two different decryptions using two
different keys:
ciphertext:
ANKYODKYUREPFJBYOJDSPLREYIUNOFDOIUERFPLUYTS
key: pxlmvmsydofuyrvzwc tnlebnecvgdupahfzzlmnyih
plaintext: mr
mustard with the candlestick in the hall
ciphertext:
ANKYODKYUREPFJBYOJDSPLREYIUNOFDOIUERFPLUYTS
key: mfugpmiydgaxgoufhklllmhsqdqogtewbqfgyovuhwt
plaintext: miss
scarlet with the knife in the library
Suppose that a
cryptanalyst had managed to find these two keys. Two plausible plaintexts are
produced. How is the cryptanalyst to decide which is the correct decryption
(i.e., which is the correct key)? If the actual key were produced in a truly
random fashion, then the cryptanalyst cannot say that one of these two keys is
more likely than the other. Thus, there is no way to decide which key is
correct and therefore which plaintext is correct.
In fact, given any
plaintext of equal length to the ciphertext, there is a key that produces that
plaintext. Therefore, if you did an exhaustive search of all possible keys, you
would end up with many legible plaintexts, with no way of knowing which was the
intended plaintext. Therefore, the code is unbreakable.
The security of the
one-time pad is entirely due to the randomness of the key. If the stream of
characters that constitute the key is truly random, then the stream of
characters that constitute the ciphertext will be truly random. Thus, there are
no patterns or regularities that a cryptanalyst can use to attack the
ciphertext.
In theory, we need look
no further for a cipher. The one-time pad offers complete security but, in
practice, has two fundamental difficulties:
1. There is the practical problem of making large quantities of
random keys. Any heavily used system might require millions of random
characters on a regular basis. Supplying truly random characters in this volume
is a significant task.
2. Even more daunting is the problem of key distribution and
protection. For every message to be sent, a key of equal length is needed by
both sender and receiver. Thus, a mammoth key distribution problem exists.
Because of these
difficulties, the one-time pad is of limited utility, and is useful primarily
for low-bandwidth channels requiring very high security.
No comments:
Post a Comment