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.