Crypto101

Crypto 101 is an introductory course on cryptography, freely available for programmers of all ages and skill levels.

Get pre-release (PDF)

Start to finish.

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 by doing.

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.

Works everywhere.

DRM-free and available in all common formats:

  • PDF (for Mac and PC)
  • EPUB (for most ebook readers, iPad and iPhone)
  • Mobi (for Kindle)

Exercises run on OS X, Windows, Linux and BSDs.

Donations

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. The easiest way to donate is through Coinbase:

The following donation methods are also available:

Sponsors

Rackspace is a world-leading cloud services provider. They have incredibly generously offered to take care of all of Crypto 101's hosting requirements free of charge. This project simply wouldn't be possible without their help.

Thanks, Rackspace!

Crypto 101: the presentation

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.