From: Mok-Kong Shen on

If I don't err, homophones were not even widely employed in the days of
classical crypto. However, if nowadays one could manage to limit one's
alphabet size to 26 as in the classical times (which is surely do-able
at least in certain non-trivial secret communications in my humble
view) and if further one forgoes the advantage of compression (which is
normally not exploited for small volumes of texts), then there is the
evident and simple possibility of doing a 26:256 homophonic expansion
of the alphabet without resulting in any disadvantage with respect to
the volume of communication. For each character is normally being coded
with 8 bits anyway.

The performance of such homophonic mappings may be seen from the
following table (PT freq. is taken from HAC p.247. CT freq. refers to
that of each of the homophones corresponding to a PT character):

A B C D E F G H I
PT freq. % 8.04 1.54 3.06 3.99 12.51 2.30 1.96 5.49 7.26
Homophones 20 4 8 10 32 6 5 14 18
CT freq. % 0.402 0.385 0.383 0.399 0.391 0.383 0.392 0.392 0.403


J K L M N O P Q R
PT freq. % 0.16 0,67 4.14 2.53 7.09 7.60 2.00 0.11 6.12
Homophones 1 2 10 6 18 19 5 1 15
CT freq. % 0.160 0.335 0.414 0.422 0.394 0.400 0.400 0.110 0.408


S T U V W X Y Z
PT freq. % 6.54 9.25 2.71 0.99 1.92 0.19 1.73 0.09
Homophones 17 23 7 3 5 1 5 1
CT freq. % 0.385 0.402 0.387 0.330 0.384 0.190 0.346 0.090

This seems indeed to be fairly satisfactory. However, the weakness of
homophinic substitution as stated in HAC p.240 (last paragraph under
"Homophonic substitution") principally remains, even though it is
presently rendered more difficult to exploit due to the sufficiently
flat frequency distribution. One simple and quite effective remedy that
suggests itself seems to be to employ the same technique that underlies
the classical polyalphabetic substitution. That is, one pseudo-randomly
creates a number of different 26:256 mappings and uses a (message-
unique) PRNG to select among them in encrypting the successive
plaintext characters (i.e. one has a running key). The result is thus a
polyalphabetic homophonic substitution. One could, if desired, of
course additionally do some simple operations as superencipherment,
including transposition, xoring with PRNG output, etc.

For comments I should be very grateful.

M. K. Shen
--------------------------------------------------------------------

[OT] Please kindly don't post any stuffs that concern me personally.
For that would be a sheer waste of bandwidth. Please use my e-mail
address for personal communications.