8 Jul 2010 randombit   » (Journeyer)

The ChaoCipher

ChaoCipher was a rotor cipher invented in 1918 by John Byrne but kept secret by him. Just recently, the Byrne family has donated his papers and work to the National Cryptologic Museum (a fascinating place - you can even use an old Cray as a couch ala Sneakers), and with some work Moshe Rubin has figured out the full system and described it in a new paper.

I woke up around 4:30 this morning and had a little time to kill, so I whipped up a quick implementation of the ChaoCipher in Python. It's quite a bit shorter than the Perl implementation given in the appendix of Moshe's paper, though it doesn't do file I/O; it just encrypts and then decrypts the example given in the paper to verify that things seem to be working OK. I'm sure the current implementation could be made somewhat faster by avoiding list manipulation and instead moving the zenith and nadir points, though some swapping and moving seems unavoidable.

The key consists of a pair of permutations on the 26 character alphabet - that's roughly a 90 bit key! I wonder if there were key length export restrictions in place in 1918...

Syndicated 2010-07-08 13:28:11 from Jack Lloyd

Latest blog entries     Older blog entries

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!