Bonus: Cryptography

This course isn't about Cryptography, and building secure apps doesn't require learning all the math at work under the hood.

However, as you've seen, Cryptography is key to understanding how secure software works. If you are curious to learn more, here are some links to resources you might start with.

Conference Talks: Cryptographic Wrong Answers

This 2013 talk is a quick 45-minute intro to lots of core ideas in Cryptography:

Crypto101 at Pycon 2013

This 2019 talk is a bit dense, but it walks through lots of cool attacks and provides a cool history of recent cryptography and security on the web:

Oktane 19: Cryptographic Wrong Answers

Blog post: Cryptographic Right Answers

This post from Latacora spells out what cryptographic tools you should use for what problems. Even if you don't understand every word, bookmark it to reference when you're wondering what tool to use.

Latacora: Crypyographic Right Answers

Intro Textbook: Crypto101

If you want to dig into the math and have the appetite for a long pdf:

Crypto101 (pdf)

Practice Breaking Insecure Systems: Cryptopals Challenges

If you want to really understand cryptographic protocols (and how easy it is for attackers to break ones that have flaws), it's helpful to get your hands dirty and write some code.

Cryptopals Challenges

Further Reading: Cryptography

These are course-length treatments of Cryptography, if you've done the above