Cryptography Fundamentals: Hashes to ZK
An applied tour of the cryptographic primitives that ship in modern software — hashes, HMAC, AEADs, KDFs, public-key crypto, signatures, Merkle trees, EIP-712 typed data, and zero-knowledge basics. Every exercise runs against the browser's Web Crypto API in the same Web Worker the runtime uses, with test vectors drawn from FIPS 180, RFC 4231 / 5869 / 8032, and NIST SP 800-38D. Opinionated about what to use (AES-GCM, HKDF, Ed25519, Argon2id) and what to avoid (raw AES-CTR, MD5, plain SHA for passwords, CBC without an AEAD).
- TypeScript
- 82 lessons
- ~16 hours
- Free
- by Fishbones
Learn TypeScript for free on Libre Academy with the Cryptography Fundamentals: Hashes to ZK course: 82 interactive lessons you complete by writing real code in a built-in editor, graded instantly by hidden tests. No paywall, no sign-up. It's part of the free, open-source desktop app for macOS, Windows and Linux.
What you get
- Hands-on lessons with a real editor and instant, test-graded feedback.
- Free and open source, with no account required to start.
- Works offline in the free desktop app for macOS, Windows and Linux.
- TypeScript runs instantly in the app.
What's inside
- What cryptography is for
- Bytes, hex, base64, encoding
- Hash functions
- HMAC and KDFs
- Symmetric encryption
- Public-key cryptography
- Digital signatures
- Random and key generation
- Merkle trees and commitments
- EIP-712 typed data
- Zero-knowledge basics
Download to start Cryptography Fundamentals: Hashes to ZK → More free TypeScript courses
Helpful reading
Why passive video doesn't make you a programmer · Bring Your Own Book: turning any PDF into a course