## Vigenère Cipher

The Vigenère Cipher was developed by mathematician Blaise de Vigenère in the 16th century. The Vigenère Cipher was adapted as a twist on the standard Caesar cipher to reduce the effectiveness of performing frequency analysis on the ciphertext. The cipher accomplishes this using uses a text string (for example, a word) as a key, which is then used for doing a number of alphabet shifts on the plaintext. Similar to the Caesar Cipher, but instead of performing a single alphabet shift across the entire plaintext, the Vigenère cipher uses a key to determine several different shift amounts across the entirety of the message.

Should the key be shorter than the plaintext, it is repeated until the length matches. In this way, each letter in the plaintext is shifted by the alphabet number of the corresponding letter in the key.

`Plaintext: ATTACKATDAWNKey: LEMONLEMONLECiphertext: LXFOPVEFRNHR`

Expressed mathematically, the encryption of the message at letter *i*, is equal to the alphabetic value of *i* in the plaintext plus the alphabetic value of the corresponding *i* in the key.

Decryption is the same process reversed, subtracting the key instead of adding to arrive back at the original, plaintext value.

The Vigenère cipher was an improvement upon previous historical encryption techniques, but is still vulnerable brute force attacks and frequency analysis, though to lesser degree than the Caesar Cipher