Course
Cryptography Essentials
By Wanderson Leandro de Oliveira
Cryptography shows up everywhere in real systems — password storage, API authentication, HTTPS, tokens, secrets management — yet most developers only learn it by copying code they don't fully understand. This course fixes that: you will learn what problem each cryptographic primitive actually solves, implement the essentials in Python (hashlib, hmac, secrets, and libraries like bcrypt, argon2-cffi and cryptography), and study the mistakes that show up again and again in real audits — MD5 for passwords, ECB mode, hardcoded keys, alg: none in JWTs. By the end you will hash and verify passwords correctly, understand TLS and certificate chains, and know how to manage secrets and keys in production.
Course content
Foundations
- 🔒 What cryptography solves text
- 🔒 Encoding vs. encryption vs. hashing text
- 🔒 Randomness and entropy: the basics text
Hashing
- 🔒 Hash functions essentials text
- 🔒 Password hashing: bcrypt and Argon2 text
- 🔒 HMAC and message integrity text
Symmetric cryptography
- 🔒 Symmetric encryption basics text
- 🔒 AES and modes of operation text
- 🔒 Common symmetric crypto mistakes text
Asymmetric cryptography
- 🔒 Asymmetric encryption basics text
- 🔒 Digital signatures text
- 🔒 Key exchange and Diffie-Hellman text
TLS and certificates
- 🔒 How TLS works text
- 🔒 Certificates and the CA trust chain text
- 🔒 Common TLS misconfigurations text
Applying it in practice
- 🔒 Secrets and key management text
- 🔒 JWT security pitfalls text
- 🔒 Practical project: hashing and verifying passwords text