Search for a tool
Vigenere Cipher

Tool to decrypt/encrypt Vigenere automatically. Vigenere cipher is a poly-alphabetic substitution system, created by Blaise de Vigenère. Using generally a key and a table, it allow replacing a letter by another one, which is not always the same.

Results

Vigenere Cipher -

Tag(s) : Cryptography, Poly-Alphabetic Cipher

dCode and you

dCode is free and its tools are a valuable help in games, puzzles and problems to solve every day!
You have a problem, an idea for a project, a specific need and dCode can not (yet) help you? You need custom development? Contact-me!

Team dCode read all messages and answer them if you leave an email (not published). It is thanks to you that dCode has the best Vigenere Cipher tool. Thank you.

Vigenere Cipher

Vigenere Encoder

Tool to decrypt/encrypt Vigenere automatically. Vigenere cipher is a poly-alphabetic substitution system, created by Blaise de Vigenère. Using generally a key and a table, it allow replacing a letter by another one, which is not always the same.

How to encrypt using Vigenere cipher?

Encryption with Vigenere uses a key made of letters (and an alphabet). There are several ways to achieve the ciphering manually :

In order to cipher a text, take the first letter of the message and the first letter of the key, add their value (letters have a value depending on their rank in the alphabet, starting with 0). The result of the addition modulo 26 (26=the number of letter in the alphabet) gives the rank of the ciphered letter.

Example: To crypt DCODE, the key is KEY and the alphabet is ABCDEFGHIJKLMNOPQRSTUVWXYZ.

Example: Take the first letters of the plaintext D (value = 3) and of the key K (value = 10) and add them (3+10=13), the letter with value 13 is N.

Continue with the next letter of the plaintext, and the next letter of the key. When arrived at the end of the key, go back to the first letter of the key.

Example: DCODE
KEYKE

Example: NGMNI is the ciphertext.

Vigenere Cipher using a table

In order to encrypt using Vigenere method, the easiest way is to have a double entry grid, here is one (when the alphabet is ABCDEFGHIJKLMNOPQRSTUVWXYZ):

Example: The key is KEY, and the plaintext is DCODE.

Locate the first letter of the plaintext message in the first line of the table and the first letter of the key on the left column. The cipher letter is at the intersection.

Example: Locate the letter D on the first row, and the letter K on the first column, the ciphered letter is the intersection cell N.

Continue with the next letter of the plaintext, and the next letter of the key. When arrived at the end of the key, go back to the first letter of the key.

Example: NGMNI is the ciphertext.

How to decrypt Vigenere cipher?

Decryption requires a key (and an alphabet). As for encryption, two ways are possible.

Decryption of Vigenere by subtracting letters

Example: To decrypt NGMNI, the key is KEY and the alphabet is ABCDEFGHIJKLMNOPQRSTUVWXYZ.

To decrypt, take the first letter of the ciphertext and the first letter of the key, and subtract their value (letters have a value equals to their position in the alphabet starting from 0). If the result is negative, add 26 (26=the number of letters in the alphabet), the result gives the rank of the plain letter.

Example: Take the first letters of the ciphertext N (value = 13) and the key K (value = 10) and subtract them (13-10=3), the letter of value 3 is D.

Continue with the next letters of the message and the next letters of the key, when arrived at the end of the key, go back the the first key of the key.

Example: NGMNI
KEYKE

Example: DCODE is the plain text.

Decryption of Vigenere with a table

To decrypt Vigenere with a double entry table, use the following grid (case alphabet is ABCDEFGHIJKLMNOPQRSTUVWXYZ):

Example: To decrypt NGMNI, the key is KEY.

Locates the first letter of the key in the left column, and locates on the row the first letter of the ciphered message. Then go up in the column to read the first letter, it is the corresponding plain letter.

Example: Locate the letter K on the first column, and on the row of it, find the cell of the letter N, the name of its column is D, it is the first letter of the plain message.

Continue with the next letters of the message and the next letters of the key, when arrived at the end of the key, go back the the first key of the key.

Example: The original plain text is DCODE.

How to recognize Vigenere ciphertext?

Following a Vigenere encryption, the message has a coincidence index which decreases between 0.5 and 0.4 depending on the length of the key, it decreases towards 0.4 the longer the key is.

How to decipher Vigenere without knowing the key?

Most common techniques uses statistical methods in order to find the key length, then a simple frequency analysis allow to find the key.

Kasiski test

Kasiski test consists in finding repeating sequences of letters in the ciphertext.

Example: ABC appears three times in the message ABCXYZABCKLMNOPQRSABC

The fact that repeating letters can be found means two things : either a same sequence of letter of the plaintext is crypted with the same part of the key, either different sequences letters are crypted with different parts of the key but they ends with the same crypted letters. this second possibility is poorly probable.

By analyzing the gaps between two identical redunding sequences, an attacker can find multiples of the key length. By analyzing each gaps in term of number of letters, and by calculating divisors, an attacker can deduct with a high probability the size of the key.

Example: Positions of ABC are 0, 6 et 18, gaps are 6, 12 and 18 letters length, their most common divisors are 2, 3 and 6, so the key has an high probability to be 2, 3 or 6 letters long.

Index of coincidence test

The test using the index of coincidence consists in taking one letter out of n in the ciphertext and calculate the IC. The higher it is, the higher the probability n is the key size.

Indeed, taking one letter every n where n is the key-length, ends with a sequence of letters that are always crypted using the same shift. The index of coincidence is then equals to the one of the plain text.

How to find the key when having both cipher and plaintext?

When encrypting, the key is added to the plain text to get encrypted text. So, from the encrypted text, simply subtract the plain text to get the key.

NB: This is equivalent to decrypting the encrypted text with the plain text as key. The key will then appear repeated.

Example: Consider the cipher text : NGMNI and the corresponding plaintext DCODE. Then use DCODE as key to decrypt NGMNI and find as plaintext KEYKE which is in fact the key KEY (repeated).

What are the variants of the Vigenere cipher?

Multiple variants exists, as Beaufort Cipher, Vigenere Autoclave, Vernam Cipher

What is the Vernam Cipher ?

Vernam code is a particular case of Vigenere when the key-length is equal to the text-length. In this case, impossible to use any statistical method, it is even impossible to break if the key is made of random characters. However if the key has a meaning, a known plaintext attack can help.

What is a Saint-Cyr slide ?

Saint-Cyr slide is a tool that simplifies encryption and decryption with Vigenere. Constituted of two alphabet, sliding one on the other.

To crypt a letter, slide to the A above the letter of the key, the letter of the ciphertext correspond to the letter accross from the other alphabet.

Why the name Vigenere ?

Blaise de Vigenère (1523-1596) was a French diplomate, he probably invented this cipher.

What are the advantages of the Vigenere cipher versus Caesar Cipher ?

Caesar cipher is in fact a Vigenere cipher with a 1-letter long key. Vigenere code uses longer keys that allows the letters to be crypted in multiple ways. The frequency analysis is no more anough to break a code.

When Vigenere have been invented?

Vigenere is described in a book from 1586