← All courses

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 runs in your browser and the free desktop app.

What you get

  • Hands-on lessons with a real editor and instant, test-graded feedback.
  • Free and open source — no account required to start.
  • Runs in your browser, and offline in the free desktop app.
  • TypeScript runs in your browser.

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

Start Cryptography Fundamentals: Hashes to ZK free →   More free TypeScript courses