Skip to content

Substitution Cipher

Lymm edited this page Nov 13, 2025 · 3 revisions

Along with transposition ciphers, one of the main classes of ciphers. Substitution ciphers are broadly a cipher method where symbols are replaced with other symbols, in the same order as the original text. If this sounds overly broad, to the point of fitting nearly anything other than transposition ciphers, it's because it pretty much does.

A substitution is a permutation mapping between symbols, not necessarily the same set of symbols, but potentially relabeled ones. In substitution ciphers, this substitution may not always be the same

Monoalphabetic substitution ciphers are ones where a single ciphertext alphabet is used. This includes simple substitution, as well as homophonic substitution. If it seems confusing to call homophonic substitution monoalphabetic, consider that the extra copies of letters are considered variants and can be replaced at random with no particular rule. So it's really still one alphabet, just one with multiple variants of some (or all) letters. When considering a homophonic substitution cipher as a permutation applied from the plaintext alphabet to the ciphertext alphabet, it is necessary to have multiple copies of symbols in the plaintext alphabet, which map to distinct symbols in the ciphertext alphabet. In monoalphabetic substitution ciphers, a single permutation can be applied to each symbol of the plaintext independently to encrypt it, and the inverse of that permutation can be applied to each symbol of the ciphertext independently to decrypt it.

This is in contrast to polyalphabetic substitution ciphers, where the alphabet chosen at each point while encrypting the message is deterministic, usually based on a key or state. For example, in a Vigenere cipher, the alphabet is usually chosen according to a repeating key, cycling between several alphabets. In state-based ciphers, the state determines which alphabet is used, and there's some rules for how the state updates (this is a general way of thinking about polyalphabetic ciphers which can be applied to nearly all of them). Sometimes this state can depend on position in the message (e.g. Progressive cipher), sometimes on the previous ciphertext (e.g. Ciphertext-Autokey (CTAK)), sometimes on the plaintext (e.g. Plaintext‐Autokey (PTAK)), maybe on other things too, it depends on the exact mechanism used. In any case, all polyalphabetic substitution ciphers have in common that their substitutions are only applied per alphabet, and you cannot apply the same permutation to the entire message to encrypt nor decrypt them, and instead have to understand how the choice of alphabet changes to know which permutation to use at each position in the message. In other words, the same ciphertext symbol may not mean the same thing in different places, or possibly even in the same place in different messages.

There is strong evidence that the eyes are not a monoalphabetic substitution cipher. For one, these kinds of ciphers just don't have very good security, and there are plenty of commonly used tools which can easily solve these kinds of ciphers (like AZDecrypt), which have been tried and didn't work. (Frankly, if it was this kind of cipher, we would have solved the puzzle years ago.) The Isomorphs (Gap Patterns) are also something which just doesn't happen in monoalphabetic substitution ciphers, and only occur in polyalphabetic cipher methods.

Independently, substitution ciphers can be monographic, meaning one PT symbol encrypts to one CT symbol, or polygraphic, meaning one PT symbol encrypts to multiple CT symbols. Depending on what you consider a symbol, the eyes could already be considered polygraphic, since they have three eye symbols, with 5 possible values, combining into one base 5 three-digit number, and these numbers are generally considered the ciphertext of the messages. Since we usually think of these values 0-82 as the ciphertext symbols directly, we tend to consider the eyes as monographic, with the three eyes in base 5 just being a way to write out the numbers in a thematic way that is easily recognized as being the correct way to read it.

In the following list, I will use ❌ for cipher types which are ruled out, ✔️ for cipher types which could still be possible, and ? if more research is needed. Note that there aren't really any ciphers that naturally use a ciphertext alphabet of 83 symbols though, so these are considering custom variants of them with a yet-to-be-determined plaintext alphabet size mapping to a ciphertext alphabet size of 83.

Types of substitution ciphers:

Clone this wiki locally