Posted on Leave a comment

Vigenère cipher

A Vigenere cipher is a form of letter substitution cipher that is incredibly difficult to break.

It operates by changing the cipher shift number on each letter used.

It is very easy to understand and use, but despite this it took 300 years before anyone was able to break it successfully. 

Many more complex ciphers (like Enigma) are based on the ever changing vigenere cipher which swaps one letter for another in a specific pattern.

To encode or decode it’s helpful to have a vigenere square to hand.

How do you crack a Vigenere Cipher?

It’s probably easiest to explain how you encode text first using a vigenere cipher so you can then understand how you would reverse it.

First of all you need to decide on the code words / sentences you want to use.  These need to be known by your receiver.  So if you are transmitting in vigenere code, you also need to find a method of transmitting the code word.

In Cosykiller we provide the code words in different ways, so to save a lot of lengthy trial and error work – you may find a website like THIS ONE will help you try a few different word combinations quickly.

For the purposes of the explanation we’re using the code word “Pigsmightfly”.

To make it easier to encode, I’ve highlighted the letters I’ll be using on the vigenere square.

Then you decide on the message you want to send.  In this case “JoLovesFloss”

You write the cipher text underneath the message so you know which letters provide the combination shift.



So to encode the letter J, you will be using the “P” line.

To encode the letter O, you will be using the “I” line.

Using the grid, you then cross reference the code word with the message.

If your code word is shorter than the message you want to write, all you do is repeat the codeword so that all the letters are matched.

Your encrypted message is formed by using the cross referenced letter.

If grid squares aren’t your thing, then you can use a code wheel, setting the code letters so that the letter A matches the correct letter of your code word and then reading off the new letter from the inner wheel.

To decrypt Vigenere, you work exactly in reverse.

Write out the codeword, write out the encrypted message and then cross reference it using the internal square to read off the original message on the outer edge of the grid.