Skip to content

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

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

63 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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 receive feedback from people I have admired all along.

cassidy william's feedback

Course contents

I have tried covering developer-oriented cryptography concepts in an easy to follow manner.

Part 1 of 2:

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

If the first half proves valuable to lots of developers, then I will work hard on the second half based on developers' feedback.

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

Part 2 of 2:

  1. The Diffie-Hellman key exchange
  2. RSA public-key encryption
  3. Challenge: End to end encryption
  4. The TLS story
  5. Certificate authorities rule!
  6. Project: Finale.

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 and introduce yourself in that issue, if you would like to help me write one of the future lessons.

If you want to convey to me anything that isn't covered here, the best way is to send me an email on: [email protected]