Vigenère cipher
Encyclopedia : V : VI : VIG : Vigenère cipher
The Vigenère cipher is a method of encryption that uses a series of different Caesar ciphers based on the letters of a keyword. It is a simple form of polyalphabetic substitution.
The Vigenère cipher has been reinvented many times. The method was originally described by Giovan Batista Belaso in his 1553 book La cifra del. Sig. Giovan Batista Belaso, however, the scheme was later misattributed to Blaise de Vigenère in the 19th century, and is now widely known as the "Vigenère cipher".
This cipher is well known because while it is easy to understand and implement, it often appears to beginners to be unbreakable; this earned it the moniker le chiffre indéchiffrable (French for 'the unbreakable cipher'). Consequently, many people have tried to implement obfuscation or encryption schemes that are essentially Vigenère ciphers, only to have them broken.
History
Leone Battista Alberti (the inventor of polyalphabetic ciphers), Johannes Trithemius (in his works Poligraphia and Stegonographia) and Giovanni Battista Della Porta (in Magia Naturalis) all created important predecessors to the Vigenère cipher. Trithemius was the first person to introduce the tabula recta, but he provided no system for switching between cipher alphabets.The Vigenère cipher was originally described by Giovan Batista Belaso in his 1553 book La cifra del. Sig. Giovan Batista Belaso. Blaise de Vigenère published his description of a similar cipher before the court of Henry III of France, in 1586. Later, in the 19th century, the invention of the cipher was misattributed to Vigenère.
Noted author and mathematician Charles Lutwidge Dodgson(Lewis Carroll) called the Vigenère cipher unbreakable in his 1868 piece "The Alphabet Cipher" in a children's magazine. In 1917, Scientific American described the Vigenère cipher as "impossible of translation". Despite this reputation, however, the cipher was broken in the 19th century.
The Vigenère cipher is simple enough to be a field cipher if it is used in conjunction with cipher disks [Codes, Ciphers, & Codebreaking] (The Rise Of Field Ciphers). The Confederacy, for example, used a brass cipher disk to implement the Vigenère cipher during the American Civil War. The Confederacy's messages were far from secret and the Union regularly cracked their messages. Throughout the war, the Confederate leadership primarily relied upon three keywords, "Manchester Bluff", "Complete Victory" and, as the war came to a close, "Come Retribution".
Gilbert Vernam tried to repair the broken cipher (creating the Vernam-Vigenère cipher in 1918), but no matter what he did the cipher was still vulnerable to cryptanalysis. Vernam's work, however, eventually led to the one-time pad, the only theoretically secure cipher.
Description
In a Caesar cipher, each letter of the alphabet is shifted along some number of places; for example, in a Caesar cipher of shift 3, A would become D, B would become E and so on. The Vigenère cipher consists of using several Caesar ciphers in sequence with different shift values.
To encipher, a table of alphabets can be used, termed a tabula recta, Vigenère square, or Vigenère table. It consists of the alphabet written out 26 times in different rows, each alphabet shifted cyclically to the left compared to the previous alphabet, corresponding to the 26 possible Caesar ciphers. At different points in the encryption process, the cipher uses a different alphabet from one of the rows. The alphabet used at each point depends on a repeating keyword.
For example, suppose that the plaintext to be encrypted is:
- ATTACKATDAWN
- LEMONLEMONLE
| Plaintext: | ATTACKATDAWN |
| Key: | LEMONLEMONLE |
| Ciphertext: | LXFOPVEFRNHR |
Vigenère can also be viewed algebraically. If the letters A–Z are taken to be the numbers 0–25, and addition is performed modulo 26, then Vigenère encryption can be written,
- [C_i \equiv (P_i + K_i) \mod 26]
- [P_i \equiv (C_i - K_i) \mod 26]
Cryptanalysis
The strength behind the Vigenère cipher is, like all polyalphabetic ciphers, to make frequency analysis more difficult. Frequency analysis is the practice of decrypting a message by counting the frequency of ciphertext letters, and equating it to the letter frequency of normal text. For instance if P occurred most in a ciphertext whose plaintext is in English one could suspect that P corresponded to E, because E is the most frequently used letter in English. Using the Vigenère cipher, E can be enciphered as any of several letters in the alphabet at different points in the message thus defeating simple frequency analysis.
The critical weakness in the Vigenère cipher is the relatively short and repeated nature of its key. If a cryptanalyst discovers the key's length then the cipher text can be treated as a series of different Caesar ciphers, which individually are trivially broken. The Kasiski and Friedman tests help determine a ciphertext's key length.
Kasiski examination
- For more details on this topic, see Kasiski examination.
The Kasiski examination, also called the Kasiski test, takes advantage of the fact that certain common words like "the" will, by chance, be encrypted using the same key letters, leading to repeated groups in the ciphertext. For example, a message encrypted with the keyword ABCDEF might not encipher "crypto" the same way each time it appears in the plain text:
Key: ABCDEF AB CDEFA BCD EFABCDEFABCD Plaintext: CRYPTO IS SHORT FOR CRYPTOGRAPHY Ciphertext: CSASXT IT UKSWT GQU GWYQVRKWAQJBThe encrypted text here will not have repeated sequences that correspond to repeated sequences in the plaintext. However, if the key length is different, as in this example:
Key: ABCDAB CD ABCDA BCD ABCDABCDABCD Plaintext: CRYPTO IS SHORT FOR CRYPTOGRAPHY Ciphertext: CSASTP KV SIQUT GQU CSASTPIUAQJBThen the Kasiski test is effective. Longer messages make the test more accurate because they usually contain more repeated ciphertext segments. The following ciphertext has several repeated segments and allows a cryptanalyst to discover its key length:
Ciphertext: DYDUXRMHTVDVNQDQNWDYDUXRMHARTJGWNQDThe distance between the repeated DYDUXRMHs is 18. This, assuming that the repeated segments represent the same plaintext segments, implies that the key is 18, 9, 6, 3, or 2 characters long. The distance between the NQDs is 20 characters. This means that the key length could be 20, 10, 5, 4, or 2 characters long (all factors of the distance are possible key lengths – a key of length one is just a simple shift cipher, where cryptanalysis is much easier). By taking the intersection of these sets one could safely conclude that the key length is (almost certainly) 2.
Friedman test
The Friedman test (also known as the Kappa test) was invented in 1925 by William F. Friedman. Friedman used the index of coincidence, the probability that any two cipher letters represent the same letter in the plaintext, to break the cipher. By knowing that the probability of any two randomly chosen letters in English are the same is about 6.5%, Friedman found that the key length is approximately equal to:[\over-.038n+.065}]
where I (the index of coincidence) equals
[\sum_^\frac]
n is the length of the text and [ n_1 ] through [n_] are the frequencies of the letters.
The test is, however, only an approximation. It would be necessary to try key lengths close to the test result. The accuracy increases with the size of the text analyzed.
Frequency analysis
Once the length of the key is known, the ciphertext is split into sections with each section corresponding to a single letter in the key. Each portion of the divided ciphertext is equivalent to single Caesar shift ciphertext. The letter shifts in the sections are determined by the letters in the key for the corresponding portions of the ciphertext. Using methods similar to those used to break the Caesar cipher, the letters in the key can be discovered. Once every letter in the key is known, the cryptanalyst can simply decrypt the ciphertext and reveal the plaintext.Variants
The running key variant of the Vigenère cipher was also considered unbreakable at one time. This version uses a block of text as long as plaintext as the key. Since the key is as long as the message the Friedman and Kassiski tests no longer work (the key is not repeated). In 1920, Friedman was the first to discover this variant's weaknesses. The problem with the running key Vigenere cipher is that the cryptanalyst has statistical information about the key (assuming that the block of text is in English) and that information will be reflected in the ciphertext.Vigenère actually invented a stronger cipher: an autokey cipher. The name "Vigenère cipher" became associated with a simpler polyalphabetic cipher instead. In fact, the two ciphers were often confused, and both were sometimes called "le chiffre indéchiffrable". Babbage actually broke the much stronger autokey cipher, while Kasiski is generally credited with the first published solution to the fixed-key polyalphabetic ciphers.
A simple variant is to encrypt using the Vigenère decryption method, and decrypt using Vigenère encryption. This method is sometimes referred to as "Variant Beaufort". This is different from the Beaufort cipher, created by Sir Francis Beaufort, which nonetheless is similar to Vigenère but uses a slightly modified enciphering mechanism and tableau. The Beaufort cipher is a reciprocal cipher.
Despite the Vigenère cipher's apparent strength it never became widely used throughout Europe. The Gronsfeld cipher is a variant created by Count Gronsfeld which is identical to the Vigenère cipher, except that it uses just 10 different cipher alphabets (corresponding to the digits 0 to 9). The Gronsfeld cipher is strengthened because its key is not a word, but it is weakened because it has just 10 cipher alphabets. Gronsfeld's cipher did become widely used throughout Germany and Europe, despite its weaknesses.
References
Sources
External links
- [History of the cipher from Cryptologia]
- [The Vigenère Cipher] as discussed on [The Beginner's Guide to Cryptography]
- [Basic Cryptanalysis] at H2G2
- [Java Vigenere] applet with source code (GNU GPL)
- [Lecture Notes on Classical Cryptology including an explanation and derivation of the Friedman Test]
- [Sharky's Online Vignere Cipher]
- [PyGenere: an online tool for automatically deciphering Vigenère-encoded texts]
- [Breaking the indecipherable cipher: Perl code to decipher Vigenère text, with the source in the shape of Babbage's head]
- [Purple Hell online Vigenere encode/decode]
| Classical cryptography [edit] |
| Ciphers: ADFGVX | Affine | Atbash | Autokey | Bifid | Book | Caesar | Four-square | Hill | Nihilist | Permutation | Pigpen | Playfair | Polyalphabetic | Reihenschieber | Reservehandverfahren | Running key | Substitution | Transposition | Trifid | Two-square | Vigenère |
| Cryptanalysis: Frequency analysis | Index of coincidence |
| Misc: Cryptogram | Polybius square | Scytale | Straddling checkerboard | Tabula recta |
From Wikipedia, the Free Encyclopedia. Original article here. Support Wikipedia by contributing or donating.
All text is available under the terms of the GNU Free Documentation License See Wikipedia Copyrights for details.
