Vigenere Cipher

back

Information

Coding
Choose tab Plain Text and enter/insert the plain text. Enter a key or click Create. Click Code.
Decoding
Choose tab Coded Text and enter/insert the coded text. Enter the valid key. Click Decode
Breaking
Choose tab Coded Text and enter/insert the coded text. Apply the Friedman and/or Kasiski test to figure out likely key lengths. Click Reconstruct Key to rebuild a key with the desired length. Click Decode.
Format Plain
Converts the text to lower case and removes all characters, which are not in a...z or 0...9. Afterwards blocks of ten characters, each followed by a space, are generated. The German letters ö, ü, ä and ß will be converted into oe, ue, ae and ss.
Code
Takes the text from Plain Text and codes it using the Vigenere algorithm with the desired key. The coding process only effects characters out of a...z and A...Z. Hence numbers, spaces and punctation marks remain what they are. Use Format Plain to prune the text from dispensable characters before coding.
Decode
Takes the text from Coded Text and decodes it with the current key.
Key
The key to be used for the (de)coding procedure. The key has to consist of lower case characters out of a...z. All others will be removed before (de)coding.
Length
Shows the current length of the key.
Create
Generates a key of length min(length of plain text, 49999). In other words: for all texts with less than 50000 characters a key is created that has the same length as the text. Such a key delivers an unbreakable cipher, as it is resistent to statistical methods.
Language
The (guessed) language of the plain text. Both, the Friedman Test and the key reconstruction procedure need this piece of information to set the language's specific character frequency.
Friedman
Applies the Friedman Test to the coded text and shows a table of each character's relative frequency. The more unique these frequencies are distributed the longer is the key and the smaller becomes the coincidence.
Kasiski
Applies the Kasiski Test to the coded text by searching for repeats of text fragments with a desired length (3-30). The distances between such repeats are multiples of the key length. Hence the actual key length is found by computing the greatest common divisor of these distances. As this whole procedure may take some time for huge texts a progress bar shows the current state.
Reconstruct Key
Tries to rebuild the key with the desired length. The reconstruction fails (creates an invalid key), if the key length is too long compared to the text length.

The downloadable application additionlly provides possibilities for loading and saving ciphers and keys as .txt files.

back