Autokey Cipher

An autokey cipher is a cipher which incorporates the message (the plaintext) into the key. There are two forms of autokey cipher: key autokey and text autokey ciphers. A key-autokey cipher uses previous members of the keystream to determine the next element in the key stream. A text-autokey uses the previous message text to determine the next element in the keystream. In modern cryptography, self-synchronizing stream ciphers are autokey ciphers.

History

The first autokey cipher was invented by Girolamo Cardano, and, although it contained weakness that made it easy to break, a number of attempts were made by other cryptographers to produce an autokey system that was not trivial to break; eventually one was invented by Blaise de Vigenre. Vigenre started with a tabula recta, a square with 26 copies of the alphabet, the first line starting with 'A', the next line starting with 'B', etc., like the one on the right. In order to encrypt a plaintext, one locates the row with the first letter to be encrypted, and the column with the first letter of the key. The letter where the line and column cross is the ciphertext letter. This continues for all the letters of the message. So far, this is identical to an earlier cipher scheme, which, confusingly, was erroneously attributed to Vigenre: the Vigenre cipher. Despite this, Vigenre's innovation was in the way the key was generated. He started with a relatively short keyword, and appended the message to it. So if the keyword were "QUEENLY", and the message were "ATTACK AT DAWN", the key would be "QUEENLYATTACKATDAWN".
ATTACK AT DAWN...
Key:
QUEENL YA TTACK AT DAWN....
Ciphertext:
QNXEPV YT WTWP...
The ciphertext message would therefore be "QNXEPVYTWTWP". This text-autokey cipher was hailed as "le chiffre indéchiffrable", and was indeed undeciphered for over 200 years, until Charles Babbage discovered a means of breaking the cipher.

Autokey in modern ciphers

Modern autokey ciphers use very different encryption methods, but they follow the same approach of using either key bytes or plaintext bytes to generate more key bytes. Most modern stream ciphers are based on pseudorandom number generators: the key is used to initialize the generator, and either key bytes or plaintext bytes are fed back into the generator to produce more bytes. Some stream ciphers are said to be "self-synchronizing", because the next key byte usually depends only on the previous N bytes of the message. If a byte in the message is lost or corrupted, therefore, the key-stream will also be corrupted--but only until N bytes have been processed. At that point the keystream goes back to normal, and the rest of the message will decrypt correctly.

 

<< PreviousWord BrowserNext >>
battle of trippstadt (1794)
fermat primality test
battle of trebia (1799)
battle of turckeim
ko4ting
battle of vauchamps
battle of talavera
theodore roethke
battle of tudela
battle of vimeiro
battle of vitoria
battle of wagram
battle of wattignies (1793)
battle of woerth (1793)
battle of yorktown (1781)
battle of zurich (1799)
fountains of wayne
the ataris
permafrost
meet the residents
lifespring
afv
laws of logic
milligram
captain nemo
anya jenkins
joseph merrick
elessar
helm hammerhand
eorl the young
narsil
eddie cicotte
list of fictional dogs
knuckleball
battle of cannae
valandil
geminids
meteor shower
western text type
victor fleming
vic fleming
list of cities in norway
prince andrew of greece
a quick one