The Code Book
Thursday, January 12th, 2012Author: Simon Singh
Singh recounts the history of cryptography, starting from the primitive ciphers used in ancient times, through the famous protocols used in World Wars I and II, and up to the current state of the art in public key cryptography, including a brief tour of quantum cryptography. His discussion starts with the famous Caesar Cipher, which simply shifts the plaintext alphabet by a fixed number of positions to obtain the ciphertext alphabet, which is easily broken by frequency analysis. He then progresses to more advanced polyalphabetic ciphers, which switch between different Caesar shifts over the course of a message, which culminated in the Vigenere cipher that was popular in World War I. Again the Vigenere cipher can be broken by a more careful frequency analysis and Singh details how one can do this with a fairly simple example. He continues to World War II, where the German Enigma machine presented itself as a new challenge for cryptanalysts. Here the work of several British mathematicians, including Alan Turing, ended up breaking the Enigma code, but the technique is quite complicated and very heuristic. Next, he discussion the famous Diffie-Hellman key exchange protocol and RSA public key cryptography, both of which are still in use today. Finally he presents some more theoretical topics, namely how quantum computers can possibly used to break RSA and how quantum cryptography offers a truly unbreakable cryptography protocol. Singh also goes on several tangents, discussing the Navajo Whisperers, archaeological decoding, and some legends involving cryptography.
He’s narrative is framed as an arms race between the code makers and the code breakers, and one of the prominent themes of the work is that necessity is the mother of invention. In other words, there is no need for innovation if the current state of the art is good enough. This happened many times on the side of the code makers, if their existing messages could not be decrypted, then there appeared to be no motivation to develop stronger protocols. Similarly, on the side of the code breakers, if their techniques worked well enough to decipher enemy messages (or if there was no threat from an enemy), there was no need to develop more advanced methods. This is why a lot of the advancement in cryptography, on both sides, takes place during times of war.
Another interesting theme is how secretive all of the advancements and cryptanalysis research was until very recently, and also how important it was that things remain secret. When the Vigenere cipher was broken, the British government successfully covered up the fact that it was broken and the Germans continued to use it throughout World War I. Only before WWII did it become apparent that the British could read messages encrypted by the Vigenere cipher, prompting the Germans to develop the Enigma machine. It is also interesting to know that both RSA and Diffie-Hellman key exchange were independently discovered by British academics, but this information was not released to the public until very recently.
Overall, “The Code Book” combines elements of science, mathematics as one would expect, with interesting historic, political and personal elements as Singh introduces all of the major players in the cryptographic arms race. Most of the cryptography itself is fairly primitive, because for much of history things were done by hand, and the resulting protocols are far from secure in the age of computers. However, this progression set the stage for the modern cryptographic protocols which are now in widespread use.
As far as a “The Code Book” is a popular-science book, I did not get too much out of the book, probably because I already know a decent amount about cryptography. In many cases it was obvious to me where the primitive protocols broke down and how one could break them. However, when viewed as a historian, I found it interesting to see how and why cryptography has developed to where it is today.