I've been reading lately about the Double Ratchet protocol, how it works conceptually. I understand generally the idea behind the protocol, that it provides Forward Secrecy and Post-Compromise security (the healing period depending on how often the shared secret is updated). The shared secret is updated by using the DH key exchange.

The thing that I struggle to understand what are benefits of this protocol over just the ephemeral DH key exchange, i.e. each time 2 participants generate new pair of assymetric keys, share the public parts and obtain a shared secret by applying DH to it? After that they may use some KDF to obtain a symmetric key to use for encrypting the message. To me, it looks like this provides the same properties (Perfect Forward Secrecy, Post-Compromise Security).

Why is the Ratchet Protocol is considered a industry standard for pairwise E2EE communication then? Why do we need the ratchets?

1 Answer 1


In addition to providing forward secrecy and break-in recovery, another benefit of the double ratchet protocol is that it maintains state in an asynchronous environment. In other words, the protocol maintains state even if one or both parties are offline, or one party sends a message to the other party while the other party is offline.

If maintaining state in an asynchronous environment is not a requirement for you, then a synchronous protocol based on ephemeral DH key exchange as you suggested, such as a modern version of TLS, is probably sufficient.

See In a synchronous environment, does Signal offer any security benefits that can’t be achieved with a modern version of TLS? for a related question.

  • 1
    Our team is going to use MLS in the mobile apps, actually. I've been trying to reason through why it has to be that difficult, starting first with the pairwise protocol. We do totally need the communication to be asynchronous, I completely missed it. Thank you!
    – cliffroot
    Nov 13, 2023 at 19:59
  • Glad it helped. Another benefit of the double ratchet is that it works well if the user has the chat application installed on multiple devices, i.e. it keeps the chat in sync across all of the devices. See youtube.com/watch?v=tOMiAeRwpPA (starting at around 18:00) where Moxie explains some of the benefits of the double ratchet protocol in more detail.
    – mti2935
    Nov 13, 2023 at 20:09

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .