Homophonic Tutorial

Background

The Homophonic cipher uses the numbers from 01 to 100 to produce 4 independent cipher alphabets of 25 characters each (i/j are represented by single value). The four alphabets span from 01-25, 26-50, 51-75 and 76-100 respectively. Each alphabet is a simple shift of the standard alphabet. The keyword is given by the values of 01, 26, 51, and 76. For example, consider the keyword “BLUE”. The cipher alphabets would be given by:

Letter/Alphabet

     01-25   26-50  51-75  76-100

 A    25      41     47     97         
 B    01      42     58     98         
 C    02      43     59     99         
 D    03      44     60     100        
 E    04      45     61     76          
 F    05      46     62     77
 G    06      47     63     78
 H    07      48     64     79
I/J   08      49     65     80
 K    09      50     66     81
 L    10      26     67     82
 M    11      27     68     83
 N    12      28     69     84
 O    13      28     70     85
 P    14      30     71     86
 Q    15      31     72     87
 R    16      32     73     88
 S    17      33     74     89
 T    18      34     75     90
 U    19      35     51     91
 V    20      36     52     92
 W    21      37     53     93
 X    22      38     54     94
 Y    23      39     55     95
 Z    24      40     56     96

Each letter can be represented by one of four numbers. For example, “e” can be replaced with 04, 45, 61, and 76. This allows a word to be enciphered in many different ways. For example, the word ‘grey’ can be replaced with 06 32 61 95 as well as 78 73 45 23.

The advantage of this system is that the frequency of individual letters can be masked by a judicious use of the multiple ‘homophones’. The disadvantage of the system is that the recovery of the single plain text equivalent for a single number is all that is required for the recovery of an entire alphabet.

Example

The example we will be working on is JA10 E-01:

E-1: Homophonic. Fortune telling. (XUS)

53 73 39 84 02 71 30 36 17 30 65 74 80 21 17 84 02 91 80 63 53 22 84 27 91 
02 34 04 30 15 58 44 97 14 91 57 57 07 14 76 30 19 34 38 32 90 33 70 90 85

Note that we are provided a Caesar shifted crib. We are told that the word XUS = “day” exists in the plain text.

Normally, this cipher would be attacked by a frequency analysis of the four cipher alphabets involved. Essentially, the high frequency cipher text numbers would be found and their plain text equivalents identified by analysis of their relative position within each alphabet. This method is covered by LEDGE in “Novice Notes”. In this case, however, we are given a crib. This can make the analysis much simpler.

The crib is only three letters long. A simple probabilistic analysis would indicate that the chances are about 2 in 3 that two or more of the letters in the crib will be enciphered in the CON by the same alphabet. This indicates that some pattern may exist in the cipher text that we can search for. Our job is to determine the possible patterns and then hunt for them.

For example the first two letters in the crib are ‘d’ and ‘a’. If these two letters were enciphered by the same cipher alphabet, this would mean that we would have two sequential cipher text numbers that differed by a value of either 3(if the cipher alphabet was keyed with e-z or a) or 21 (if the cipher alphabet was keyed with b-d). Similar relations ships exist for the d-y and a-y combinations being enciphered by the same cipher alphabet.

If we search through cipher using the d-a relationship we find only one matching candidate sequence at position 53:

73 70 7

This would provide the relationships d = 73, a = 70, and y = 7. This allows us to tentatively recover the 1-25 and 51-75 alphabets as follows:

Letter/Alphabet

     01-25   26-50  51-75  76-100

 A    09      *      70     *          
 B    10      *      71     *          
 C    11      *      72     *          
 D    12      *      73     *          
 E    13      *      74     *          
 F    14      *      75     *
 G    15      *      51     *
 H    16      *      52     *
I/J   17      *      53     *
 K    18      *      54     *
 L    19      *      55     *
 M    20      *      56     *
 N    21      *      57     *
 O    22      *      58     *
 P    23      *      58     *
 Q    24      *      60     *
 R    25      *      61     *
 S    01      *      62     *
 T    02      *      63     *
 U    03      *      64     *
 V    04      *      65     *
 W    05      *      66     *
 X    06      *      67     *
 Y    07      *      68     *
 Z    08      *      69     *

Note that this indicates that the key word would be of the form: S*G*.

This fragment seems like reasonable English, so we substitute the two candidate alphabets into the cipher and get:

53 73 39 84 02 71 30 36 17 30 65 74 80 21 17 84 02 91 80 63 53 22 84 27 91 
I  D  *  *  T  B  *  *  I  *  V  E  *  N  I  *  T  *  *  T  I  O  *  *  *

02 34 04 30 15 58 44 97 14 91 57 57 07 14 76 30 19 34 38 32 90 33 70 90 85
T  *  V  *  G  O  *  *  F  *  N  N  Y  F  *  *  L  *  *  *  *  *  A  *  * 

38 74 73 70 07 34 47 80 82 19 
*  E  D  A  Y  *  *  *  *  L

The recovered plain text looks a lot like English. We appear to be on the right track. Note that the word “funny” is now apparent in the second line. This provides the identity u = 91. We have now recovered three of the four alphabets. This provides:

Letter/Alphabet

     01-25   26-50  51-75  76-100

 A    09      *      70     97          
 B    10      *      71     98          
 C    11      *      72     99          
 D    12      *      73     100          
 E    13      *      74     76          
 F    14      *      75     77
 G    15      *      51     78
 H    16      *      52     79
I/J   17      *      53     80
 K    18      *      54     81
 L    19      *      55     82
 M    20      *      56     83
 N    21      *      57     84
 O    22      *      58     85
 P    23      *      58     86
 Q    24      *      60     87
 R    25      *      61     88
 S    01      *      62     89
 T    02      *      63     90
 U    03      *      64     91
 V    04      *      65     92
 W    05      *      66     93
 X    06      *      67     94
 Y    07      *      68     95
 Z    08      *      69     96

Note that this provides the partial key word: S*GE.

Substitution into the cipher provides:

53 73 39 84 02 71 30 36 17 30 65 74 80 21 17 84 02 91 80 63 53 22 84 27 91 
I  D  *  N  T  B  *  *  I  *  V  E  I  N  I  N  T  U  I  T  I  O  N  *  U 

02 34 04 30 15 58 44 97 14 91 57 57 07 14 76 30 19 34 38 32 90 33 70 90 85
T  *  V  *  G  O  *  A  F  U  N  N  Y  F  E  *  L  *  *  *  T  *  A  T  O

38 74 73 70 07 34 47 80 82 19 
*  E  D  A  Y  *  *  I  L  L 

Several partial words are now apparent in the plain text. Any of these can be used to recover the remaining alphabet. The remainder of this decryption is left as an exercise for the student.