Homophonic Encoding

Learn how homophonic encoding uses ciphertext expansion to prevent text frequency analysis.

An alternative means of defeating single letter frequency analysis is to tackle the letter frequencies head-on. The idea behind homophonic encoding is to encrypt plaintext letters by a number of different ciphertext characters in order to directly confuse the ciphertext symbol frequency statistics (we say symbol rather than letter here because, after homophonic encoding has been applied, there are many more ciphertext symbols than there are letters in the alphabet). This technique is best explained with an example.

Example of homophonic encoding

The aim of homophonic encoding is to design a cryptosystem with a ciphertext alphabet histogram that is close to being ‘flat’ (in other words, every ciphertext symbol occurs approximately equally often). We achieve this by increasing the ciphertext alphabet.

A possible homophonic code for use with English plaintexts can be devised from the table of English letter frequencies given below:

Get hands-on with 1200+ tech skills courses.