Reading — step 1 of 5
Read
What Signal Solves
Signal Protocol (originally OTR-inspired, now used by Signal, WhatsApp, Messenger Secret Conversations, etc.) provides:
- End-to-end encryption: server can't read messages.
- Forward secrecy: past messages stay private even if current keys leak.
- Future secrecy / break-in recovery: future messages are safe again after key compromise.
- Asynchrony: send a message even if recipient is offline; they decrypt later.
- Deniability: messages are not cryptographically tied to a long-term identity in a non-repudiable way.
That last property is unusual. Signed messages (PGP, S/MIME) prove "Alice wrote this" — bad for deniable conversations. Signal's MAC-based authentication proves only "someone who shares the conversation keys wrote this" — that's both Alice and Bob.
Architecture pieces:
- X3DH (Extended Triple DH): asynchronous key agreement. Bob can send to Alice even if she's offline.
- Double Ratchet: per-message key derivation that ratchets forward (each message's key is forgotten after use).
- Pre-keys: Alice publishes a pile of one-time keys to the server. Bob grabs one to start.
Server is untrusted. It only stores ciphertexts and pre-key bundles. It cannot decrypt messages. It cannot impersonate users (that requires identity-key compromise, which clients display via "safety numbers" / QR codes).
Compared to TLS: TLS is interactive (client + server online). Signal handles offline scenarios — text messages.
Discussion
Ask a question, share an insight, or help someone who’s stuck.
Sign in to post a comment or reply.
Loading…