Breaking The Vigenere Encryption System

We recall that a Caesar k-shift is the circular permutation which replaces each letter of the alphabet by the letter k places later (with wrap around). In Vigenere encryption, the key consists of a period p and a sequence k1,k2,...,kp of Caesar shifts. This given, the plaintext is broken up into successive strings of p letters each and the sth letter of each string is replaced by its image under the Caesar ks-shift. This encryption system is vulnerable to letter-frequency analysis. The letter frequencies observed in the sequence of sth letters have the same distribution as the plaintext letters only ks-shifted.

To break Vigenere encryption, one guesses a period p and then, by comparing the histogram of observed frequencies of sth letters to the histogram of English letter probabilities, one is led to the correct value of ks. A wrong guess for the period p leads to relatively flat histograms for all or most of the values of s. The code breaker in this case repeats the analysis with a new trial period.

The Applet below is programmed to illustrate this codebreaking process.

[Back| Home| Programs| Documentation| Internet| People]