Computational cryptography › Protocols › encrypted channels
Protocol

Signal

In plain words

The end-to-end encryption used by Signal, WhatsApp and others, now with quantum-safe protection.

The idea: Signal sets up a conversation even when your contact is offline, using keys they uploaded in advance (PQXDH combines X25519 with ML-KEM). After that it keeps "ratcheting": every message moves the keys forward with a one-way function, and replies keep mixing in fresh key-exchange material. A key stolen today can't decrypt yesterday's messages, and the conversation heals itself after a compromise.

Why it matters: Protects billions of private messages.

The details

On the map: PQXDH + triple ratchet: X25519 + ML-KEM hybrid, XEdDSA prekey signatures, AES-CBC + HMAC

End-to-end encryption for Signal, WhatsApp, Google Messages and Facebook Messenger[1].

It falls if any part falls, except the hybrid key exchange, which needs both halves to fall.

Rests on

If any of these breaks, this breaks too.

If it falls

If this breaks, these break with it.

Nothing on the map depends on it: it is an end point, something people use directly.

References

  1. Katriel Cohn-Gordon, Cas Cremers, Benjamin Dowling et al. A Formal Security Analysis of the Signal Messaging Protocol. 2017 IEEE European Symposium on Security and Privacy (EuroS&P). doi:10.1109/eurosp.2017.27
  2. Ehren Kret and Rolfe Schmidt. The PQXDH Key Agreement Protocol. Signal specifications, 2023. signal.org/docs/specifications/pqxdh
  3. Ehren Kret. Quantum Resistance and the Signal Protocol. Signal blog, 2023. signal.org/blog/pqxdh
  4. Trevor Perrin and Moxie Marlinspike. The Double Ratchet Algorithm. Signal specifications, 2016. signal.org/docs/specifications/doubleratchet
  5. Signal. Signal Protocol and Post-Quantum Ratchets. Signal blog, 2025. signal.org/blog/spqr
  6. Moxie Marlinspike and Trevor Perrin. The X3DH Key Agreement Protocol. Signal specifications, 2016. signal.org/docs/specifications/x3dh
  7. Trevor Perrin. The XEdDSA and VXEdDSA Signature Schemes. Signal specifications, 2016. signal.org/docs/specifications/xeddsa