Amazingly, Singh has the ability to make this rather complex topic understandable as well as entertaining. I am by no means mathematically inclined, but Singh explains the processes involved in each cipher he describes through baby steps and multiple analogies. If one doesn't work for you then the next will until you get it. This book actually makes you feel like you're learning something.

Nevertheless, some of the concepts are mind boggling. Imagine for a moment this number: 10^130. It's a huge number but can be factored by a computer in about 15 seconds. Now imagine the number 10^308, which is ten million billion billion billion billion billion billion billion billion billion billion billion billion billion billion billion billion billion billion billion times bigger than the number 10^130. It would take more than a thousand years for a hundred million personal computers working together to crack a cipher using a value such as this in its key, yet this is the scale of numbers that most modern banking encryptions use. As one might guess, these encryptions are pretty much unbreakable.

Things truly get weird when Singh describes the concept of quantum cryptography, which I won't try to describe but will just say that I re-read that section a couple of times. Although quantum cryptography was just in a conceptual stage at the time of

Singh also, however, does a good job of telling the stories of code makers and code breakers. Particularly interesting and moving is the story of the brilliant cryptanalyst Alan Turning who committed suicide after the war when attempts to "cure" his homosexuality drove him into a deep depression. However, Turing was one of those unsung heroes working in secrecy, without whom the Allies may very well have lost World War II. Singh's ability to weave these stories into the complex mechanics of cryptography make for an engrossing narrative and one that has excited my intellectual imagination like few others have.

So ditch the "junior spy kit." That's kid stuff. Read