Secrets of the Ratchets
summary
Explains how Signal implements PQXDH key agreement (XDH extended with NIST‑approved KEMs) to bootstrap prekey sessions, how prekeys are published and the initial public‑key included in the first message, and how the Double Ratchet in Rust runs a per‑message DH ratchet to provide forward secrecy and post‑compromise healing. Describes contact discovery running inside Intel SGX, a binary tree of 24‑record buckets, and how an ORAM‑style shuffle cuts infrastructure from 600→10 servers while preserving access‑pattern privacy.
AI-written summary · about
chapters (11)
- 0:00Signal protocol introduction
- 4:34Signal's threat model
- 9:29Offline users and E2E encryption
- 15:31Cryptographic foundations of Signal
- 19:25User identity in Signal
- 23:21Contact discovery with SGX
- 30:12Double Ratchet basics
- 37:47Forward secrecy and PCS
- 42:28Anonymous credentials and group messaging
- 44:35Post-quantum security in Signal
- 50:18Q&A
related talks
13mEnd-to-End Encryption: The Double Ratchet Algorithm
40mEnd-to-end encryption: Behind the scenes
16mA Formal Analysis of Apple's iMessage PQ3 Protocol
32mSome useful bits: A few solved development problems via Crypto
27mThe Skip Ratchet
22mXRD: Scalable Messaging System with Cryptographic Privacy
40mPost-quantum Key Exchange—A New Hope
37mSecuring Data in the Quantum Era: From the Root of Trust to Protecting Ecosystems
