Encrypting Data in the Browser - Exploring Web Crypto APIs
summary
Live demo shows browser-side end-to-end encryption using Web Crypto API (crypto.subtle) with AES-GCM (128-bit key) and a per-encryption 12‑byte IV stored with the payload, and keys exported as JWK in the URL fragment so shared links decrypt client-side. Key derivation uses PBKDF2 with 100k iterations (SHA-256) to make passwords into AES keys. Benchmarks show crypto.getRandomValues is slower but cryptographically strong (e.g., 1k samples ~3.2ms vs Math.random ~0.3ms). The notes demo works as shown.
AI-written summary · about
chapters (16)
- 0:00Introduction
- 1:46About React India
- 2:48What is encryption
- 5:39Web Crypto API overview
- 6:20Why not Math.random
- 11:31Deep dive into crypto.subtle
- 13:14Working with typed arrays
- 15:20Algorithm selection criteria
- 16:45AES modes demo
- 19:52What is a cryptographic key
- 21:55AES-GCM deep dive
- 25:01Notes app creation
- 28:10Sharing notes
- 33:44Hashing and PBKDF2
- 36:10Third-party project demo
- 37:38Talk summary
related talks
34mEncrypting Data in the Browser - Exploring Web Crypto APIs
39mWeb Cryptography
23mKeeping secrets with JavaScript
25mBuilding end-to-end encryption @excalidraw
23mJS Bringing Crypto to the Masses
28mDeveloping zero-knowledge solutions with JavaScript
23mProtecting Sensitive Data in Web Apps
42mBreak Crypto like a Pro!
