This post is part of a series in which I’m dedicating a month to learning about twelve new things this year. The full schedule can be found here. This is month four. (tl;dr at the bottom of this post)
Cryptography is fascinating. Seriously, way more interesting than I thought it would be. I knew some history about Turing and Enigma, especially from Neil Stephenson’s Cryptonomicon, but getting into the nitty gritty was really worthwhile.
The good news here is that there is really only one book you need to read. The Code Book, by Simon Singh, is a masterpiece. What’s amazing about it is that he gives you the history as well as the math and logic. I knew about Caesar ciphers. I knew about Vigenère ciphers. I even once installed PGP on an old copy of Outlook. Anything past that, and I was out of my depth.
By the time I was done with his book, I understood how Enigma worked, and how they broke it. I understood how RSA worked. I even understood how public and private keys worked, and how fricking ingenious Rivest, Shamir, Adelman, Diffie, and Hellman were. Public key cryptography is goddamn amazing.
Moreover, after reading the appendix, I understood the math behind it. Huge prime numbers, a few key equations, and you’ve got it. I felt like a genius after reading the book.
When Singh gets into quantum computers and quantum money, it gets to be a little too much. But I don’t care. I went into this to learn about cryptography, and Singh gave me everything I wanted and more.
Next up, I read Crypto, by Steven Levy. This book was much more about the people who created modern cryptography, and the ways in which they interacted with government and companies. If that’s of interest to you, then you might like this book. I found it to be ok, but I was interested in the knowledge more than the people, so it wasn’t as captivating to me, especially after Singh’s book.
One thing to note, though. The same anecdote appeared in both books – Diffie and his wife’s first date – in very different tellings. It made me think about how some stories about historical figures likely are apocryphal and dependent on the teller. Something to think about.
The last book I read was Secrets and Lies, by Bruce Schneier. This book was much more about how cryptography works in the modern Internet and networked world. It does a pretty good job of explaining how all the different protocols work, and what makes them different. I did learn a lot, but it was less about cryptography, and more about security and networking. Read it if that’s your thing.
This was a light month in terms of numbers of books read, but a huge month in terms of my gaining a real grasp on a difficult subject. So worth my time.
tl;dr: Read The Code Book. Seriously, don’t waste any more time. Go buy and read it now.