What Is the Signal Protocol?
The Signal Protocol is an open, non-federated cryptographic protocol for end-to-end encrypted messaging. It combines the X3DH ("Extended Triple Diffie–Hellman") key-agreement handshake with the Double Ratchet algorithm to provide confidentiality, integrity, forward secrecy, and post-compromise security for asynchronous conversations.
Developed by Moxie Marlinspike and Trevor Perrin and published openly by the Signal Foundation, the Signal Protocol is widely regarded as the gold standard for secure messaging. It is used not only by the Signal app but also, in whole or in part, by WhatsApp, Google Messages (RCS), Facebook Messenger's secret conversations, and many others. Because the specification and reference code are public, it has been reviewed and formally analyzed by academic cryptographers.
The building blocks
X3DH: establishing the first shared secret
Messaging is asynchronous — you can send a message to someone who is offline. X3DH solves the problem of agreeing on a shared secret when both parties are not online at once. Each user publishes a bundle of public keys to a server: a long-term identity key, a medium-term signed prekey, and a set of one-time prekeys. To start a conversation, the sender fetches the recipient's bundle and performs several Diffie–Hellman calculations, mixing the keys together to derive an initial shared secret — without the recipient being online. The server stores and distributes public keys only; it never sees any private key.
The Double Ratchet: a fresh key for every message
Once the initial secret exists, the Double Ratchet algorithm takes over. It combines a Diffie–Hellman ratchet (new key material is exchanged as messages flow back and forth) with a symmetric-key ratchet (a key-derivation chain advances with each message). The result is that every single message is encrypted with a unique key that is deleted after use.
What the protocol guarantees
Confidentiality & integrity: only the intended parties can read messages, and tampering is detectable. Forward secrecy: compromising today's keys does not expose past messages. Post-compromise security ("future secrecy"): if keys are compromised, the ratchet heals so that future messages become secure again once fresh DH material is exchanged. Deniability: the construction avoids leaving cryptographic proof that a specific person sent a specific message.
Why the Signal Protocol matters
Before the Signal Protocol, strong encryption tended to be clunky (think manual PGP key management) and lacked forward secrecy for chat. The Signal Protocol made state-of-the-art guarantees invisible and automatic: users get per-message keys, self-healing security, and deniability without doing anything. Being open and openly specified, it can be independently audited — you do not have to take any vendor's word that the math is sound.
Common misconceptions
- "The Signal Protocol and the Signal app are the same thing." The protocol is a specification and library that any app can implement; the Signal app is one product that uses it.
- "Using the Signal Protocol makes an app perfectly private." The protocol secures message content. An app can still leak metadata, require a phone number, or store readable backups. Overall privacy depends on the whole system.
- "It only works when both people are online." X3DH is specifically designed for asynchronous, offline-friendly messaging.
Where the Signal Protocol is used
Part of what makes the Signal Protocol the de facto standard is its reach. Beyond the Signal app itself, its cryptographic design is used, in whole or in part, by WhatsApp for its default end-to-end encryption across billions of users, by Google Messages for RCS chats, by Facebook Messenger's secret conversations, and by Skype's private conversations. Independent implementations exist in several programming languages, and the protocol has been the subject of peer-reviewed academic analysis that formally modeled its guarantees. This breadth matters for two reasons. First, wide deployment and open scrutiny mean flaws are more likely to be found and fixed. Second, it shows the same design scales from a privacy-focused niche app to the largest messaging platforms on earth, which is strong evidence that its security properties are practical, not just theoretical.
How OSHI relates to the Signal Protocol
OSHI uses a Signal-protocol-style approach to end-to-end encryption: X25519 Diffie–Hellman for key agreement, a Double Ratchet for per-message keys and forward secrecy, and AES-256-GCM for authenticated encryption. OSHI is open source under the MIT license, so its cryptographic choices are auditable. Unlike phone-number-based messengers, OSHI needs no phone number and can also carry encrypted messages over mesh networks.
Related guides & features
Double Ratchet End-to-end encryption Perfect forward secrecy AES-256 Anonymous messaging All OSHI features Compare OSHIFrequently Asked Questions
What is the Signal Protocol?
It is an open cryptographic protocol for end-to-end encrypted messaging that combines the X3DH key-agreement handshake with the Double Ratchet algorithm to provide confidentiality, forward secrecy, and post-compromise security.
Is the Signal Protocol the same as the Signal app?
No. The Signal Protocol is a specification and set of cryptographic libraries. The Signal app is one application that uses it, but other apps like WhatsApp also implement the protocol.
What is X3DH?
X3DH (Extended Triple Diffie-Hellman) is the handshake that lets two people agree on a shared secret even when one of them is offline, by publishing a bundle of public prekeys to a server.
Is the Signal Protocol secure?
Yes. It is open, widely deployed, and has been formally analyzed by academic cryptographers. Its main guarantees are confidentiality, integrity, forward secrecy, and post-compromise security.
Does OSHI use the Signal Protocol?
OSHI uses a Signal-protocol-style design: X25519 key exchange, a Double Ratchet, and AES-256-GCM authenticated encryption. It is open source, so the implementation can be audited.
Private messaging, by design
OSHI is a free, open-source, Swiss encrypted messenger. No phone number, no ads, no tracking.