Homophonic cipher
by fortenforge, Jul 28, 2009, 4:39 AM
A Substitution cipher replaces characters with other characters. The defining quality of a Substitution cipher was that there was a 1 to 1 ratio between the plaintext characters and the ciphertext characters. For every plaintext letter there was 1 and only 1 ciphertext letter. A Homophonic Cipher does not have this 1 to 1 ratio. In Homophonic cipher, for every plaintext letter there is multiple possible ciphertext letters.
A B C D E _F G H I J K L M N O P Q R S T U V W X Y Z
8 1 3 4 13 2 2 6 7 1 1 4 2 7 8 2 1 6 6 9 3 1 2 1 2 1
These are the approximate percentages of appearances of the alphabet in English text. Letters whose percentages are less than one have been rounded up to one. In an ideal homophonic cipher there would be 8 separate characters for the plaintext letter A. There would be 1 character for the letter B. There would be 3 characters for the letter C...
Every time you wanted to encrypt the letter E, you would randomly choose 1 of 13 different ciphertext symbols.
Now frequency analysis is much harder if not impossible. The relative letter frequencies should all be very close to each other.
The Homophonic Cipher is very good for a computer, but the average user has to be able to know 103 characters and their mappings to 26 letters. This is not easy. One could always make a table showing which letters map to which but during war time settings these tables may not be able to be used.
Another problem is that humans are not good at randomness. For the Homophonic cipher you have to randomly choose a letter from a group of letters, but subconsciously humans will form patterns that the code-breakers can use for cryptanalysis. The Homophonic cipher is great for computers, but if you want to be able to encrypt your plaintext by hand, something more complex is desired.
A B C D E _F G H I J K L M N O P Q R S T U V W X Y Z
8 1 3 4 13 2 2 6 7 1 1 4 2 7 8 2 1 6 6 9 3 1 2 1 2 1
These are the approximate percentages of appearances of the alphabet in English text. Letters whose percentages are less than one have been rounded up to one. In an ideal homophonic cipher there would be 8 separate characters for the plaintext letter A. There would be 1 character for the letter B. There would be 3 characters for the letter C...
Every time you wanted to encrypt the letter E, you would randomly choose 1 of 13 different ciphertext symbols.
Now frequency analysis is much harder if not impossible. The relative letter frequencies should all be very close to each other.
The Homophonic Cipher is very good for a computer, but the average user has to be able to know 103 characters and their mappings to 26 letters. This is not easy. One could always make a table showing which letters map to which but during war time settings these tables may not be able to be used.
Another problem is that humans are not good at randomness. For the Homophonic cipher you have to randomly choose a letter from a group of letters, but subconsciously humans will form patterns that the code-breakers can use for cryptanalysis. The Homophonic cipher is great for computers, but if you want to be able to encrypt your plaintext by hand, something more complex is desired.