This is a really entertaining and accessible introduction to Cryptography. Unlike the other books in this section, this one doesn’t really assume any kind of mathematical background. In fact, this book is written with more of a programmer’s perspective in mind. For example, you see concrete examples of which APIs to use to generate random numbers in Linux as compared to Windows, which is a level of concrete detail you don’t really see in other books on Cryptography. The book manages to cover quite a bit of material. I’d say there’s a larger focus on symmetric Cryptography, with a lot of more in-depth material on ciphers, hash functions, and things like that. There’s a lot of detail on different block cipher modes, and on the construction of different hash functions, among other things. There are also some great overview chapters on public key Cryptography, including RSA and Elliptic Curves, but these don’t go as deep as the other books in this section. I’d recommend this book to anyone trying to get a taste of Cryptography, and especially programmers trying to get their background knowledge up to speed.