Vigenère cipher

Vigenère cipher

The Vigenére cipher is an encryption based on different series of characters or letters of Caesar's encryption forming these characters a table, called a Vigenére table, which is used as a key

The Vigenère cipher is a cipher substitution simple polyalphabetic

The first polyalphabetic was the call encryption encryption Alberti, created by Leon Battista Alberti around 1467

To facilitate the calculations we took advantage of a metal disk that allowed you to easily switch between the different scripts available

The system of Alberti, only changing between alphabets after several words, and the changes are indicated by writing the letter of the corresponding alphabet in the encrypted message

Later, in 1508, Johannes Trithemius, in his work Poligraphia, invented the tabula recta, which is basically the table of Vigenère

Trithemius, however, only provided a progressive, rigid and predictable system for switching between alphabets

What is now known as the Vigenère cipher was originally described in 1533 by Giovan Battista Belasso in his book The figure of the Sig. who built the encryption based on the tabula recta of Trithemius, but added a key repeatedly to switch each character between the different alphabets

Blaise de Vigenère published his description of an encryption of an autoclave similar, but more robust, before the reign of Henry III of France, in 1586

Later, in the 19th century, the invention of encryption ceased to be attributed to Vigenére

The cifrado Vigenère ganó una gran reputación por ser excepcionalmente robusto

Even the writer and mathematician Charles Lutwidge Dodgson (better known as Lewis Carroll) said that the encryption Vigenère was unbreakable in the article The Alphabet Cipher for a magazine of children

In 1917, Scientific American he described the encryption Vigenère as impossible to break

This reputation was maintained until the Kasiski method resolved the encryption in the 19th century and some skilled cryptanalysts were able to break it several times in the 16th century

The cipher Vigenère is simple enough if it is used with disk encryption. The confederate States of America, for example, used a disk encryption to implement encryption Vigenère during the american Civil War

Messages confederates were little secrets, as the members of the Union used to decrypt the messages

Gilbert Vernam tried to fix the encryption (creating the encryption Vernam-Vigenère in 1918), but no matter what you do, the encryption is still vulnerable to cryptanalysis (Not to be confused with the encryption Vernam)

Throughout this article for simplicity I will use standard English alphabet 26 letters:

\tiny\begin{pmatrix} 0& 1& 2& 3& 4& 5& 6& 7& 8& 9& 10& 11& 12& 13& 14& 15& 16& 17& 18& 19& 20& 21& 22& 23& 24& 25 \\ A& B& C& D& E& F& G& H& I& J& K& L& M& N& O& P& Q& R& S& T& U& V& W& X& Y& Z \\ \end{pmatrix}

And the next box corresponding to the Vigenère cipher

\tiny\begin{pmatrix}&A&B&C&D&E&F&G&H&I&J&K&L&M&N&O&P&Q&R&S&T&U&V&W&X&Y&Z\\A&A&B&C&D&E&F&G&H&I&J&K&L&M&N&O&P&Q&R&S&T&U&V&W&X&Y&Z\\B&B&C&D&E&F&G&H&I&J&K&L&M&N&O&P&Q&R&S&T&U&V&W&X&Y&Z&A\\C&C&D&E&F&G&H&I&J&K&L&M&N&O&P&Q&R&S&T&U&V&W&X&Y&Z&A&B\\D&D&E&F&G&H&I&J&K&L&M&N&O&P&Q&R&S&T&U&V&W&X&Y&Z&A&B&C\\E&E&F&G&H&I&J&K&L&M&N&O&P&Q&R&S&T&U&V&W&X&Y&Z&A&B&C&D\\F&F&G&H&I&J&K&L&M&N&O&P&Q&R&S&T&U&V&W&X&Y&Z&A&B&C&D&E\\G&G&H&I&J&K&L&M&N&O&P&Q&R&S&T&U&V&W&X&Y&Z&A&B&C&D&E&F\\H&H&I&J&K&L&M&N&O&P&Q&R&S&T&U&V&W&X&Y&Z&A&B&C&D&E&F&G\\I&I&J&K&L&M&N&O&P&Q&R&S&T&U&V&W&X&Y&Z&A&B&C&D&E&F&G&H\\J&J&K&L&M&N&O&P&Q&R&S&T&U&V&W&X&Y&Z&A&B&C&D&E&F&G&H&I\\K&K&L&M&N&O&P&Q&R&S&T&U&V&W&X&Y&Z&A&B&C&D&E&F&G&H&I&J\\L&L&M&N&O&P&Q&R&S&T&U&V&W&X&Y&Z&A&B&C&D&E&F&G&H&I&J&K\\M&M&N&O&P&Q&R&S&T&U&V&W&X&Y&Z&A&B&C&D&E&F&G&H&I&J&K&L\\N&N&O&P&Q&R&S&T&U&V&W&X&Y&Z&A&B&C&D&E&F&G&H&I&J&K&L&M\\O&O&P&Q&R&S&T&U&V&W&X&Y&Z&A&B&C&D&E&F&G&H&I&J&K&L&M&N\\P&P&Q&R&S&T&U&V&W&X&Y&Z&A&B&C&D&E&F&G&H&I&J&K&L&M&N&O\\Q&Q&R&S&T&U&V&W&X&Y&Z&A&B&C&D&E&F&G&H&I&J&K&L&M&N&O&P\\R&R&S&T&U&V&W&X&Y&Z&A&B&C&D&E&F&G&H&I&J&K&L&M&N&O&P&Q\\S&S&T&U&V&W&X&Y&Z&A&B&C&D&E&F&G&H&I&J&K&L&M&N&O&P&Q&R\\T&T&U&V&W&X&Y&Z&A&B&C&D&E&F&G&H&I&J&K&L&M&N&O&P&Q&R&S\\U&U&V&W&X&Y&Z&A&B&C&D&E&F&G&H&I&J&K&L&M&N&O&P&Q&R&S&T\\V&V&W&X&Y&Z&A&B&C&D&E&F&G&H&I&J&K&L&M&N&O&P&Q&R&S&T&U\\W&W&X&Y&Z&A&B&C&D&E&F&G&H&I&J&K&L&M&N&O&P&Q&R&S&T&U&V\\X&X&Y&Z&A&B&C&D&E&F&G&H&I&J&K&L&M&N&O&P&Q&R&S&T&U&V&W\\Y&Y&Z&A&B&C&D&E&F&G&H&I&J&K&L&M&N&O&P&Q&R&S&T&U&V&W&X\\Z&Z&A&B&C&D&E&F&G&H&I&J&K&L&M&N&O&P&Q&R&S&T&U&V&W&X&Y\end{pmatrix}

The encryption can be expressed with the following formula:

M(X_i)=(X_i+K_i-1)\pmod{L}

Where X_i is the letter in position i of the text to encrypt, K_i it is the character of the corresponding key to X_i because they are in the same position, and L is the size of the alphabet. In this case L = 26

To decrypt we will perform the reverse operation:

D(C_i)=(C_i-K_i+1)\pmod{L}

Where C_i is the character at position i of cipher text, K_i comes to be the character of the corresponding key to C_i, and L the size of the alphabet

Keep in mind that the same letter in the clear text can correspond to different letters in the ciphered text

Example of Vigenère cipher

We have the following message that we want to encrypt:

C=MESSAGE SENT YESTERDAY

L = 26 because we're going to use the English alphabet

We take as key:

K = I’M BORED

It is advisable that the key is larger than the message. We put together a message and a key, repeating as many times as necessary the key

\tiny\begin{pmatrix} M& E& S& S& A& G& E& S& E& N& T& Y& E& S& T& E& R& D& A& Y \\ I& M& B& O& R& E& D& I& M& B& O& R& E& D& I& M& B& O& R& E \\ \end{pmatrix}

We go to the table of encryption, and we take the row of the first letter of the key word in the table of Vigénere and the column of the first letter of the message

The intersection of both will be the letter that will be used for encryption

We will repeat the process until you get the encrypted message

So we is that the encrypted message is:

M=UQTGRKHAQOHPIVBQSRRC

We can decipher the M previous

We go to the table of encryption, and we take the column of the first letter of the key word in the table of Vigénere and looking for the first letter of the message

The row of the intersection of both will be the letter that will be used in the message decryption

We will repeat the process until you get the message clear

\tiny\begin{pmatrix} I& M& B& O& R& E& D& I& M& B& O& R& E& D& I& M& B& O& R& E \\ U& Q& T& G& R& K& H& A& Q& O& H& P& I& V& B& Q& S& R& R& C \\ \end{pmatrix}

Getting the original C:

C=MESSAGESENTYESTERDAY