I took a short break from reading Codebreakers, a productive distraction, as the part I was reading was particularly dry, and I needed a rest. During this break, I read Occupation: The Ordeal of France 1940-1944 by Ian Ousby, deserving of its own post one of these days, and started Cryptonomicon by Neal Stephenson. The latter has proved to be quite a tale, some of the best historical fiction I’ve ever read.
I call it historical fiction, and not speculative fiction as most would, because it is so accurate in its depiction of cryptology (among other things). The inspiration for this post was a particularly ingenious metaphor for WWII-era cipher machines. In this metaphor, a fictional Alan Turing (!) describes a broken bicycle chain, along with a broken spoke on the rear wheel. Every time the spoke hits the weak link on the chain, the chain comes off. He goes on to describe the period of the breakage, based on the rotation of the wheel and the chain, and their least common multiple. This metaphor is an ideal representation of the periodic repetition of these wheel-based cipher machines, as described in Codebreakers.
I can’t truly do it justice here, but I would highly recommend reading the book, which I’ve linked to above (the link is not an affiliate link, by the way — I gain nothing from your clicks). The book also describes Turing machines, WWII battles, information theory, codebreaking efforts, computer networks (albeit circa 1999), and myriad other topics which I can’t list in full here. More than this, it does so with enthusiasm and, above all, accuracy! I’ve yet to find a topic I’m familiar with that it covers incorrectly, earning it the title, in my mind at least, of historical fiction.
In other news, I haven’t abandoned my original quest, described in my earliest posts. I still intend to finish Codebreakers, and I still intend to complete the Cryptopals challenges. Once I complete both of those, I feel I’ll be ready to design my ultimate cryptosystem, the pseudonymous publication system I’ve decided to codename “Charlie“. Unfortunately, I’ve been held up by persistent illness, but the good news is that my doctors are taking steps to treat it. Anyway, I plan on continuing my reading of Codebreakers tonight, pushing through the dry matter and getting to the bulk of the book, its treatment of WWII codebreaking. That, I imagine, will be an exciting read, and if I become bored, I can always take a constructive break with Cryptonomicon.