by Sharkysoft
This application is for amusement only. Please do not prevent your government from reading your private messages.
This application can be used to encrypt or decrypt messages using a Vigenere cipher. To encrypt or decrypt a message, you will need a secret key. You can use any sequence of characters for the key, but only alphabetic characters will have any effect. If messages are being exchanged between you and a partner, your partner will also need to know the secret key. Unlike more advanced encryption systems, the Vigenere cipher does not provide a mechanism for securely transmitting keys.
An overview of Vigenere coding is presented at the bottom of this page.
This application runs entirely in your browser. No data is transmitted to Sharkysoft or anywhere else.
Sharky's Vigenere Cipher 2.0 encodes and decodes differently from the 1.0 release. The 1.0 release is still available if you need to use it.
Vigenere coding is one of the most ancient forms of cryptography. In the most simple Vigenere cipher, messages are encrypted by advancing each letter one step. For example, A becomes B, B becomes C, etc., and Z becomes A. To decrypt a Vigenere-encoded message, the process is simply reversed.
In a more advanced Vigenere cipher, the number of steps to advance the message's letters changes with each position in the text. Using a key, the advance amount for each position is determined by examining the letter at the corresponding position in the key. For example, we might let A=1, B=2, C=3, etc., so that if our key is "CAB", the first letter in the message advances 3, then 1 for the second letter, and 2 for the third letter. If we run out of letters in the key before encoding the message, then we can simply repeat the key again.
The following table illustrates encoding the message "SHARKY" with the key "CAB".
position | 1 | 2 | 3 | 4 | 5 | 6 |
---|---|---|---|---|---|---|
plaintext | S | H | A | R | K | Y |
key | C | A | B | C | A | B |
ciphertext | V | I | C | U | L | A |
Two features of this example are worth special attention.
First, note how the key letters are repeated.
When the key is shorter than the text, the key must be repeated as many times as necessary to provide sufficient padding for the message being encoded.
Second, examine column 6.
Here, we indicate that Y + B = A.
This illustrates the Vigenere cipher's "wrap-
Despite its simplicity, the Vigenere cipher is capable of producing 100% crack-proof ciphers, when used correctly. To generate an uncrackable message, you must:
Unfortunately, these steps take all the fun out of using a Vigenere cipher.
This is because most people prefer to use keys that are derived from words or phrases (violating rule 3).
They also choose keys that are significantly shorter than the messages they encrypt (violating rule 4),
so that repetition of the secret key is required (violating rule 6).
Later, they reuse those already-
Some people use quotations from their favorite books for their keys (violating rule 3), or they invent new keys and write them down (potentially violating rule 5). And, of course, because it's no fun to handle text that doesn't feel like text, people often don't remove the spaces and punctuation from the encrypted message (violating rule 1).
These compromises are made for convenience, but the cost of this convenience is often a very breakable cipher. The moral of the story is that while an unbreakable cipher is within reach, it's going to require some diligence.
Nevertheless, "fun" Vigenere ciphers, with moderate keys, are appropriate for situations that do not require failproof security.
For example, you might use a moderate-
We hope you enjoy this application. We certainly had fun building it!
Sharky