Vigenere cipher is a simple encryption algorithm capable to mask the frequency of the letter usage.
Trivial ciphers (like Caesar cipher, for instance) replace one symbol by another following some encryption table. However not all symbols are used equally frequently and encryption table of the longer text can be restored from the symbol usage statistics. Original Caesar cipher circulary shifts relative symbol positions by the same offset (for instance, for the key = 2 it shifts A to C, B to D, etc). This is particulary insecure as once a single mapping is correctly recovered, the key is recovered and all encryption is cracked.
To overcome this limitation, Vigenere cipher encodes adjacent characters with different encryption tables that come in a sequence (after running out of tables, the cipher moves to the start of the sequence and reuses that same tables again). Same as with Caesar cipher, it is convenient to use tables that circulary shift all characters by some offset. This allows to define all table with the single number, the offset. The algorithm is described in more detail in [1].
Vigenere algorithm is resistant to the simple analysis of the letter frequency but the repeating nature of the key makes it sensitive to the more advanced methods of decryption. After correctly guessing the length of the key (number of the encryption tables used) it can be easily broken by measuring the frequency of the letter usage individually for each table. Hence security specialists do not recommend to use this algorithm where encryption is really important[2]. Some websites offer online tools[3] to decipher messages encrypted by this algoritm.
Blaise de Vigenère is not the first author of this algorithm that has been invented many times during the history.
Acknowledgements