Substitution cipher tool
A tool to encrypt/decrypt messages with a simple substitution cipher given as the key. It is also useful for manual cryptanalysis of a substitution cipher - when you have a message written in the English alphabet partially decrypted with an automatic tool and want to tweak the key.
This simple tool allows you to encode and decode messages with a simple substitution cipher. For a cipher breaker, see Substitution cipher decoder. You can read a cipher description and some considerations regarding the strength of a cipher below the calculator.
According to Wikipedia, in cryptography, a substitution cipher is a method of encrypting by which units of plaintext are replaced with ciphertext, according to a fixed system; the "units" may be single letters (the most common), pairs of letters, triplets of letters, mixtures of the above, and so forth. The receiver deciphers the text by performing the inverse substitution.
A simple substitution is the substitution of single letters separately. The substitution key is usually represented by writing out the alphabet in some order. The Caesar cipher is a form of a simple substitution cipher. For example, its ROT2 key can be presented as CDEFGHIJKLMNOPQRSTUVWXYZAB. This means that A is replaced with C, B with D, and so on.
The number of all possible keys for a simple substitution cipher is a factorial of 26 (26!). However, you can break it if you have enough ciphered text by using frequency analysis or the stochastic optimization algorithm (check out our Substitution cipher decoder). The cipher does not change language letter frequencies (it is said to be monoalphabetic), unlike, for example, the polyalphabetic Vigenère cipher, so it is considered to be rather weak.
Paste text into the field, fill the key, choose "encode" if you have pasted clear text or "decode" if you have pasted ciphered text, and press "Calculate". Traditionally, punctuation and spaces are removed to disguise word boundaries and text is written in blocks of letters, usually five. This option is supported for encoding as well.