This program encrypts and decrypts messages using a Substitution Cipher. It's purpose is to assist in learning and experimentation with ciphers and cryptography. Serious applications should use a stronger system of cryptography.
A substitution cipher works by replacing each character in the message with another character, according to a pre-defined rule or key. The idea is to encypt your message using this key, so that the message is meaningless to any unauthorized person intercepting the message. The authorized reciever would have knowledge of the key, and would be able to use this to decrypt the message back to plain text.
The upper text box contains the message to be encypted. You can select a number of ciphers to use to perform the encryption. When you select the "Go" button, the message will be encryped using the chosen cipher, and the result will appear in the lower text box.
You can also reverse an encypted message back to plain text by selecting "Decrypt" from the drop-down. In this case, the encrypted text is in the upper text box, and pressing "Go" will preform the unencryption. Note: You must set the same cipher and key that was used for the encryption in order for the decryption process to produce the original message.
Ceasar cipher: This cipher shifts each letter of the alphabet by a chosen amount of places. The rot-13 cipher is an example of this type, where the parameter is 13.
Atbash cipher: This cipher reverses the letters of the alphabet so that A becomes Z and vice-versa. In this implementation, there is also a parameter which allows the letters to be shifted, just like the Ceasar cipher. To get a strictly correct Atbash cipher, the parameter should be zero.
Substitution Cipher: Although the other two ciphers above are examples of subsitution ciphers, this option allows a fuller range substitution ciphers. The range of possible keys are represented by the letters A-Z in any chosen permutation.
For each cipher, a key can be randomly generated using the "rnd" button.
The "Crack" option attempts to crack an encrypted message when the cipher and/or key is unknown. This uses a frequency analysis technique to find likely possible cipher keys. Note: because this is a difficult and time-consuming task, only a small percentage of possible keys are currently tried. This means that in most cases, the exact original text will not be found. However, it may crack some words or give hints which may to assist in further manual analysis.
Back to top