AUTOMATIC PLAYFAIR SOLVER

You need two files:

1- the program, playn, which you get by compiling playn.c.  With gnu cc it
   goes as follows:

     cc -O2 -o playn playn.c -lm 
   
   For MS-DOS, a ready-built executable is provided (playn.exe).  This is
   compiled with an old version of Turbo C, and runs much slower than the
   gnu cc version on Linux.
  
2- the digram frequency file, distat.log, in the same directory.
   From this directory, run

     playn <ciphertext>

   (e.g. playn code6.pf)

   NOTE: code6.pf is part of this package; it is the Playfair cryptogram of
   the Singh Cipher Challenge. I also include another Playfair cryptogram,
   exercise 153 from Helen F. Gaines's 'Cryptanalysis', filename
   helen153.pf. You will notice it contains three coding mistakes; they were
   present in the original book.

playn tries to find the key by simulated annealing. Sometimes it succeeds,
and then usually very quickly; sometimes it does not.  The chance of success
depends heavily on the length of the cryptogram. The longer the better. The
chance of success is already rather less with Gaines's text than with
Singh's text.  But no matter, run the program a second or a third time, and
plaintext will eventually appear.

I include the source code. It is a mess. Feel free to improve it.  If you
discover some neat trick, I'd appreciate to be told about it.

Regards, Jan

4 October 2002

<jstumpel@planet.nl>