Introduction Exhibit 1
In 1918 John F. Byrne invented a cryptographic system that he later presented to the US Navy in the belief that it was "absolutely indecipherable by anyone except the persons for whom the message is intended". To protect his invention he never made the workings of his system known to the public at large. In July 2010 the algorithm behind Chaocipher was finally revealed. As a somewhat obsessive puzzle solver I had to try my hand at breaking the cipher.
What follows is a very brief description of how the Chaocipher system works, followed by my method for cracking the cipher with particular reference to Byrne's challenges. For more details on the history and workings of Chaocipher, read Moshe Rubin's Chaocipher Revealed: The Algorithm available from his very informative Chaocipher Clearing House website.
Chaocipher is based on two rings that are rotated to find the cipher-text symbol corresponding to a plain-text symbol, and then permuted to modify the mapping between plain and cipher alphabets. On the mechanical device that Byrne envisioned, these rings were adjacent to one another and engaged at a point on their outside edges. In the explanation below I will draw the rings concentrically, both to save space and to aid understanding of the algorithm implemented by Byrne's device. The inner ring is known as the plain-text ring and the outer as the cipher-text ring. To encipher a symbol simply look up the plain-text on the inner ring and record the corresponding symbol on the outer ring. After each encipherment the rings are permuted. This is the chaotic part of Chaocipher—it ensures that the mapping between alphabets changes slightly at each step, and completely after a lot of steps.
Figure 1 How to encipher one symbol and then permute the rings.
In the figure above is a colour-coded version of the Chaocipher rings with shuffled plain-text and cipher-text alphabets. The alphabets are initially in a random order. The figure shows the steps involved in enciphering the symbol P.
All subsequent symbols are enciphered in the same way, but now starting from the permuted alphabets. Deciphering a text follows exactly the same pattern—starting from the same initial alphabet, locate the cipher-text symbol on the outer ring, decode it to the plain-text symbol on the inner ring, and permute the rings in the same manner as above.
In his book Silent Years, John F. Byrne devoted one chapter to Chaocipher. After describing some of its history he presented 4 challenges, which he referred to as exhibits. Each exhibit consisted of a plain text and its encipherment. Byrne hoped to prove that his system was unbreakable, even by "the believers in the wonderful capabilities of electronic calculating machines". Byrne was correct in believing that nobody would crack his ciphers, but he was playing a somewhat unfair game. He never made the algorithm underlying his system publicly known since he wanted to commercialise it. This made it extremely difficult to even start analysing the strength of the encryption scheme. Now, almost a century after Byrne invented Chaocipher, the details of his system are finally publicly known.
My approach to cracking Chaocipher will be described in a few articles, of which the first is complete.