Homophonic substitution (Menu Crypt/Decrypt \ Symmetric (classic))

Homophonic substitution is a generalisation of monoalphabetic substitution. Monoalphabetic substitution can be easily cracked with the aid of simple frequency analysis. To avoid this, homophonic substitution encrypts letters that occurs frequently (e.g. the letter "E" in German) in a selection of characters: for each letter in plaintext the homophonic key defines a list of possible encryptions. During encryption, one character (homophone) is chosen at random from this list.

The key is entered in the Key Homophonic Substitution dialog.

The homophonic key is formed as a function of the plaintext so that in the frequency analysis of the ciphertext all homophones occur equally often. Despite this, with the aid of digram analysis information can be obtained from comparisons with reference text that can be used to crack homophonic encryption.

Homophonic encryption with a known key is faster than encryption with this key, as during encryption a random function is always called for every letter if there is more than one homophone for that letter.