A polyalphabetic cipher considered "unbreakable" for three centuries — one that changed the course of cryptography
Imagine you are Alice, a Renaissance-era diplomat. You need to send a secret message to Bob, but the mail isn't safe — letters get intercepted, opened, copied.
A simple substitution cipher (where A→X, B→C, and so on) is easy to break with frequency analysis: in any given language, certain letters appear far more often than others — so the most common symbol in the ciphertext is likely the most common letter of the alphabet.
The Vigenère cipher solves this problem. Instead of one alphabet, it uses many alphabets, switching between them according to a keyword. The same plaintext letter gets encrypted differently depending on its position — so frequency analysis stops working.
The method was considered so reliable that it was called "le chiffre indéchiffrable" — "the indecipherable cipher." It wasn't until 1863 that Friedrich Kasiski published a method for breaking it.
At the heart of the cipher is the Vigenère table: a 33×33 square (for the Russian alphabet), where each row is the alphabet shifted by one more position.
The first row is the plain alphabet. Each following row is shifted one position to the left. Row number K starts with the K-th letter of the alphabet.
Example for English (first 3 rows):
Alice and Bob agree on a keyword, for example KEY. This word repeats cyclically underneath the message:
For each letter of the message:
Formula: C = (P + K) mod N
where P is the plaintext position, K is the key position, N is the alphabet size, and C is the ciphertext.
Bob uses the same table, but in reverse:
Formula: P = (C − K + N) mod N
П with key КЪЪ with key КПWhat will you actually do in the simulation?
In the game you don't just read about Vigenère — you live through the whole cycle: from typing the message to a successful transfer. You'll see an abstract formula turn into a vivid animation, and understand why this cipher was a breakthrough for its time.
The cipher was first described by Giovan Battista Bellaso in 1553, but was mistakenly attributed to Blaise de Vigenère, who described it in 1586. The name stuck, and today we still call it the "Vigenère cipher."
In 1863, the Prussian officer Friedrich Kasiski published a method that exploits repetitions in the ciphertext. If the same plaintext phrase is encrypted with the same fragment of the key, the same sequence will appear in the ciphertext. The distance between such repetitions is often a multiple of the key length.
Once the key length is known, a cryptanalyst splits the ciphertext into groups (all letters encrypted with the first key symbol, the second, and so on) and applies frequency analysis to each group separately.
If you want to dive deeper into cryptography, here are the key topics:
How language statistics help break ciphers: letter, bigram, and trigram frequencies
An algorithm for finding key length from repetitions in the ciphertext
Friedman's statistical test for determining key length
The only theoretically unbreakable cipher: key length = message length, used only once
How the ideas behind polyalphabetic ciphers evolved into AES, ChaCha20, and other algorithms
Practical scripts for frequency analysis and attacks on the Vigenère cipher
Although the Vigenère cipher isn't used to protect real data anymore, it remains:
Now that you understand the basics, it's the perfect time to try it in practice and see the cipher in action!
In the interactive simulation you can encrypt your own message and watch every step of the process.