The Signal Protocol is a relatively new secure messaging protocol that was recently implemented in Signal, WhatsApp, and several other messenging apps. According to Wikipedia, the Signal protocol is an evolution of the OTR protocol (https://otr.cypherpunks.ca/otr-wpes.pdf).

One of the major new features of Signal is that it allows for asynchronous messaging (i.e. both participants need not be online at the same time).

What are the other important differences between these protocols? Are there any instances in which OTR would be better suited than Signal?

  • $\begingroup$ This is a very broad question. There are a lot of important differences. $\endgroup$
    – forest
    Aug 18, 2019 at 7:57

2 Answers 2


The the Signal protocol can be divided into three stages. The original key exchange called X3DH (extended triple Diffie-Hellman) which combines long-tern medium-term and ephemeral Diffie-Hellman keys to produce a common root key. •A ratchet stage in which users alternately send ephemeral keys to generate chain keys that provide forward-secrecy to the protocol.

A ratchet stage in which key generation functions are used to generate symmetric keys from chain keys.

The X3DH protocol uses the concept of prekeys to allow the sending of asynchronous messages.

Bob first sends to the server a set of keys that he has generated that contains.

The OTR protocol was built to provide perfect forward secrecy and deniability. By deniability we mean that the parties involved can verify the authenticity of the messages but cannot prove it to a third party. The OTR v3 protocol will be analyzed. Initially the OTR assumes that the network will deliver the packet send in the correct order but that some packets will also be lost. In order for Alice to communicate with Bob, she must notify him that she wishes to use OTR. This can be done either by sending an OTR Query Message to Bob or by including a special tag consisting of whitespace characters in one of the messages he will send to Bob. When Bob receives the message he will start the Authenticated Key Exchange. A variant of the SIGMA protocol is used as AKE.


Check out the blog post by Whisper Systems regarding the triple ratchet of OTR verses the double ratchet of Signal. Also, a prior article about synchronous versus asynchronous messaging is worth the read. Both of those should answer all of your questions.

  • 6
    $\begingroup$ This is a link only answer. Answers should be self contained on the stackexchange site. Would it be possible for you to create an excerpt of the articles? $\endgroup$
    – Maarten Bodewes
    Dec 30, 2017 at 19:46

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.