Cryptography for Web Developers.

Learn the cryptography concepts needed to build a secure web application.

Full course runtime: 2 to 3 hours.

our hero image
Mouse cursor svg illustration Get started, it's free forever.
No signups required.

Made by the past volunteer of:

Love a heart in gamified form received from the Community.

We have received some praises from the greatest of people out there 🥳!

cassidy williams picture

Cassidy Williams

Senior Director of Dev Advocacy

GitHub

double quotes for feedback

This is very cool! Retweeted!

Kent C. Dodds picture

Kent C. Dodds

Creator of EpicWeb.Dev

ex-PayPal

double quotes for feedback

I looked at it and I'm impressed.

Looks like a great resource on a niche topic that more developers should understand better.

-- and --

"Amazing course, only the code editor/content split is hard to read on mobile. [...] Great work tho, loved it!"
— feedback from one of the users.

-- and --

Served 1,000+ visitors!

Hand-picked concepts for a web svg web developers.

a lock illustration

How does HTTPS (TLS) actually works? we build intuitions for the Diffie-Hellman key exchange algorithm and the RSA algorithm before we dive into TLS.

a key representing public key

The underlying principes of public key cryptography. Every web developer must learn this because you will for sure generate a public-private key pair some time ;)

github logo

How SSH authentication works when you do git push...? We will see how our knowledge of RSA helps us understand SSH authentication with GitHub.

database illustration

In the first module we will cover the concepts that will help you understand why using PBKDF-2 is necessary for password storage.

OK -- but why to care learning these concepts?

a cloud representing some thought

We web developers make applications on the web. Servers are the first-class citizen of our world and our users trust us with their data.

When we don't understand the necessary cryptography concepts then these things happen:

XKCD comic illustrating a character thinking to reveal his computer's private key
NEVER EVER do the above! Image from: https://xkcd.com/1553
  • We can't keep our cloud servers safe.
  • We can't participate in security oriented discussions with fellow developers of our team.
  • We struggle to keep user data protected.
  • We can't make right security decisions for our web apps.

This course is designed specially for web developers. With this course you will learn all the building blocks necessary to take the right security decisions for your web applications on production.

Curriculum

MODULE 1

The fundamental building blocks of modern security protocols.

  • right arrow Symmetric key encryption
  • right arrow Challenge: Caesar's cipher
  • right arrow Cryptographic hash function
  • right arrow Password hashing
  • right arrow Rainbow tables and the salt
  • right arrow PBKDF-2

MODULE 2

The behind the scenes look at how our communication is encrypted on the web.

  • right arrow Diffie-Hellman-Merkle key exchange
  • right arrow RSA
  • right arrow TLS

a hand drawn rocket illustration Meet the course's maker!

Hi, I am Vivek Agrawal, known as @vkweb around open-source.

Vivek Agrawal's photo

Around 5 years back, I helped freeCodeCamp.org in creating a short course on RSA public key cryptography. That course never went live on their platform.

Recently, I got some free time. As I was thinking what to work on, I found out -- there are not any great resource for developers on cryptography.

So, I decided to create this free course that I would have loved to take back then!

I hope you come out with a proper understanding of the necessary cryptography concepts. And build secure web experiences.

Thank you for visiting this place :)

PS: I post useful content on my Twitter along with my projects. You might enjoy my company there, follow me: twitter.com/vkwebdev.

Mouse cursor svg illustration Get started, it's free forever.
No signups required.