From the origins of secret messages to quantum cryptography, Singh tells the story of how codes were developed, cracked, refined, throughout the ages.
I had expected the book to be interesting but perhaps a little dull, so was pleasantly surprised to find it to be pretty well written and quite compulsive. As well as talking about how the different types of codes work, Singh makes the whole book into a story of the battle between cryptographers and cryptanalysts which feels quite exciting.
He also does a good job of explaining how the codes work. The Caesar cipher (just shifting each letter by x places) seems ridiculously obvious now, but was obviously effective. And it's interesting how, as things develop, you find yourself thinking "that's a good idea, there's no way you could break that" just before he explains how it can be broken.
He talks about Enigma, and the efforts of Turing etc. to break the German codes, and also the development of PKI, and ends with quantum cryptography. All very readable and for the most part I could follow the techniques which I think shows how well he describes things.
One question I had which he didn't address was when talking about harnessing the power of supercomputers to crack codes. I can understand that some ciphers can be cracked with brute force, but I'm not sure, if you throw x million computers at a problem and have them each try so many different permutations, how they know when they've got the right answer. It feels like you'd need a human to look at each potential solution to verify whether it was sensible or not.
But a good read. I've got another by him, Big Bang which I look forward to reading.
Completed : 24-Jul-2010