Crypto 101 is an introductory course on cryptography, freely available for programmers of all ages and skill levels. 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. Learn how to exploit common cryptographic flaws, armed with nothing but a little time and your favorite programming language. Forge administrator cookies, recover passwords, and even backdoor your own random number generator. 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(link on top) is the natural extension of that, with an extensive focus on breaking cryptography. Crypto 101 is available for everyone, for free, forever. Development is hosted on Github, funded by free time and your donations. You are free to donate any amount you want, and all donations are of course entirely voluntary.