Want to know how to exploit a common cryptographic flaw or forge administrator cookies, recover passwords? Crypto 101 is an introductory course on cryptography, freely available for programmers of all ages and skill levels. It comes with everything you need to understand complete systems such as SSL/TLS, block ciphers, stream ciphers, hash functions, message authentication codes, public key encryption, key agreement protocols, and signature algorithms.
The book, which is completely DRM-free and available in PDF format, is intended as an introduction to cryptography for programmers of any skill level. It starts with very simple primitives, and gradually introduces new ones, demonstrating why they are necessary. And eventually, all of this is put together into complete, practical cryptosystems, such as TLS, GPG and OTR.
The goal of this book is not to make anyone a cryptographer or a security researcher to understand how complete cryptosystems work from a bird’s eye view.
If you are an everyday programmer who is also interested in how cryptosystems work, what are you waiting for?
A little background
Crypto 101 started as a presentation at PyCon 2013. It tries to go through all of the major dramatis personae of cryptography to make TLS work in 45 minutes. This book is the natural extension of that, with an extensive focus on breaking cryptography.