Signal Protocol

[2] The protocol was developed by Open Whisper Systems in 2013[2] and was introduced in the open-source TextSecure app, which later became Signal.

The protocol combines the Double Ratchet Algorithm, prekeys, and a triple Elliptic-curve Diffie–Hellman (3-DH) handshake,[5] and uses Curve25519, AES-256, and HMAC-SHA256 as primitives.

[6] The development of the Signal Protocol was started by Trevor Perrin and Moxie Marlinspike (Open Whisper Systems) in 2013.

The developers refer to the algorithm as self-healing because it automatically disables an attacker from accessing the cleartext of later messages after having compromised a session key.

[17] The protocol provides confidentiality, integrity, authentication, participant consistency, destination validation, forward secrecy, post-compromise security (aka future secrecy), causality preservation, message unlinkability, message repudiation, participation repudiation, and asynchronicity.

[18] It does not provide anonymity preservation and requires servers for the relaying of messages and storing of public key material.

[18] In addition to the properties provided by the one-to-one protocol, the group chat protocol provides speaker consistency, out-of-order resilience, dropped message resilience, computational equality, trust equality, subgroup messaging, as well as contractible and expandable membership.

[24] Users can also enable an option to receive "sealed sender" messages from non-contacts and people who do not have access to their Signal Profile.

[30][31][32][33] In September 2015, G Data Software launched a new messaging app called Secure Chat which used the Signal Protocol.

[36] In September 2016, Google launched a new messaging app called Allo, which featured an optional Incognito Mode that used the Signal Protocol for end-to-end encryption.

[4][41] In January 2018, Open Whisper Systems and Microsoft announced the addition of Signal Protocol support to an optional Skype mode called Private Conversations.

[48][2] Matrix is an open communications protocol that includes Olm, a library that provides optional end-to-end encryption on a room-by-room basis via a Double Ratchet Algorithm implementation.