

Afterwards, take the sections you are interested in and find a practical application/example/project to interact with them in the wild. I would suggest the reader to very much give this book a try, but feel free to skip the sections that seem a bit daunting, especially the ones on Quantum Cryptography. Furthermore, I found the exercises in Sam Bowne’s online class 1 much, much more helpful than the Python snippets in the book. To give an example, I learned much more about EAPOL and wifi handshakes by looking at Wireshark packets than by studying the cryptography behind it.

Although each chapter and new concept includes a Python snippet which can be executed and is very much relevant to the text, I found it to be a bit irrelevent for the usages of a software developer or security professional. It is worthy to note that the title of the book, namely the words “Practical Introduction” betrays the content of the book. The book runs through the basic terms in cryptography from block/stream ciphers, to advanced concepts such as RSA, TLS, and the sort of attacks that could be applied to which. Our author has not only written a great primer for the uninitiated, but a valuable resource for practiced developer. Serious Cryptography, by Jean-Philippe Aumasson, runs through the common encryption and authentication protocols that a modern web-surfer would interact with on a daily basis. Serious Cryptography: A Practical Introduction to Modern Encryption Overview
