Skip to content

Cryptography-for-Devs/Cryptography-for-Devs.github.io

Repository files navigation

Cryptography for Developers readme cover image

In regular programming courses, cryptography concepts are overlooked. In my initial days as a developer I saw various terms like -- PBKDF-2, salt, key pairs, hashing. I never really understood what do they mean deeply.

5 years back, I got a chance to help freeCodeCamp in creating a short course on public key cryptography aimed at web developers.

That course gave me a chance to dive deep into these cryptography concepts.

So, I created this free course to share my learnings with all the developers curious to understand the cryptography concepts that are relevant to daily developer life.

🟢 It's live on: https://cryptography-for-devs.github.io

We have got some amazing feedback from Cassidy Williams and Kent C. Dodds! It fills my heart with joy to see this.

cassidy william's feedback

Course contents

I have covered only developer-oriented cryptography concepts. I hope you get some real value out from these!

I recommend taking the course in order, starting from the zero-th lesson and going all the way up till nine-th lesson. But if you already understand the lesson's concept then you are free to skip that lesson.

Part 1 of 2:

  1. Before we start (Do not skip this)
  2. Symmetric key encryption
  3. Challenge: Caesar's cipher
  4. Cryptographic hash functions
  5. Password hashing
  6. Rainbow table and the salt
  7. PBKDF-2: slowing down

Part 2 of 2:

  1. The Diffie-Hellman key exchange
  2. RSA public-key encryption
  3. HTTPS (TLS)

All of this will remain free, forever! You can follow me on Twitter, there you will receive updates on my future projects. No BS.

Contributing

There are two ways to contribute that I feel are going to be impactful:

  • Improve the existing course content by submitting a PR.
  • Create an issue telling what can be improved in the course.

If you want to convey to me anything that isn't covered here, the best way is to send me an email on: vivekmittalagrawal@gmail.com