liveBook · Manning

Double ratchet

As explained in Real-World Cryptography

The Double Ratchet is a messaging protocol that combines a symmetric ratchet with a Diffie-Hellman ratchet to provide message-level forward secrecy and post-compromise security.

A long-lived conversation cannot safely reuse one session key: if that key is stolen, recorded messages may be exposed. The Double Ratchet limits the damage by combining a symmetric ratchet with a Diffie-Hellman ratchet. section 10.4.3

Alice and Bob texting

Alice and Bob derive separate sending and receiving directions from the X3DH output. Each message advances its chain; when Alice refreshes her ratchet key, Bob derives new decryption keys and refreshes his own.

How Real-World Cryptography covers it

How deep it goes
Explains chain-key derivation, public-key refreshes, and their interaction, but stops short of implementation details.
Examples
Uses Alice and Bob’s long-lived texting session, directional keys, chain advancement, and ratchet-key replacement.
What it assumes
Assumes X3DH-derived key material and introduces separate directional keys through a KDF before adding ratchets.
What you can do after
Evaluate how ratcheting limits exposure when message or chain keys are compromised.
How it connects
Connects X3DH, KDFs, symmetric ratchets, Diffie-Hellman ratchets, forward secrecy, and post-compromise security.

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Real-World Cryptography. The section links point to the parts of the book it draws on.