← Back
Home › Systems › Communication and media

e2e-messaging

end-to-end encrypted messaging

Signal protocol

SystemTechniques · 7Primitives · 23 e2e-messaging Durable job queuedistributed · medium: Persisted tasks that workers lease for a visibility timeout, ack on success and retry with backoff; at-least-once execution that survives worker and queue crashes.›Incremental sync cursorsdistributed · medium: The client keeps one opaque token; each pull returns only the changes after it plus the next token, so sync cost scales with what changed, not with the dataset.›Double ratchetsecurity · medium: Signal Double Ratchet: DH and symmetric ratchets for forward secrecyGroup messaging encryptionsecurity · medium: Sender keys and MLS TreeKEM for scalable end-to-end group encryptionTransparency logsecurity · medium: A public append-only Merkle tree whose signed heads let anyone verify an entry is present and history was only extended, with log-size proofs.›X3dh key agreementsecurity · medium: X3DH/PQXDH asynchronous initial key agreement with prekeysWitness cosigningsecurity · medium: Independent witnesses cosign log checkpoints so a log cannot show different views to different clientsAEAD (AES-GCM, ChaCha20-Poly1305)security · low: Authenticated encryption that encrypts and detects tampering in one call; the only kind of symmetric encryption you should use.›ECDH key exchange (X25519, P-256)security · low: Each side multiplies the other's public curve point by its own scalar and both get the same point; always validate the peer key and run the result through a KDF.›HKDF key derivation (extract-and-ex…security · low: HMAC-based two-step key derivation: extract a uniform pseudorandom key from any secret, then expand it into as many context-bound keys as you need.›Digital signatures (Ed25519)security · low: Small, fast, deterministic public-key signatures that prove who produced a message; the default for tokens, releases and protocols.›Cryptographic hashes (SHA-2, BLAKE3)security · low: Collision-resistant fingerprints of data; SHA-256 for interoperability, BLAKE3 for speed, HMAC/HKDF for keyed uses.›Post quantum kemsecurity · low: ML-KEM (Kyber) key encapsulation, used in hybrid key exchangeDead-letter queuedistributed · low: A side queue for messages that keep failing: after N delivery attempts or a permanent error, park them with the reason so the main queue keeps moving.›Leasesdistributed · low: A lock that expires on its own: bounded-time ownership that survives crashes and partitions, given bounded clock drift and fencing tokens on writes.›Idempotency keysfinance · low: Client-chosen unique key per logical operation, stored with a request fingerprint and the final response, so retries replay the first result instead of acting twice.›Write-ahead logstorage · low: Append each change to a checksummed sequential log and fsync it before touching data pages; the basis of crash durability in nearly every database.›Exponential backoff with jittersystems · low: Retry after delays that grow geometrically and are randomized, so failed clients spread out instead of hammering a recovering service in synchronized waves.›Message sequence numbersdistributed · low: A per-stream counter on every message lets the receiver detect loss, duplicates and reordering, ack cheaply and resume after reconnect with "send from N".›Cursor paginationnetworking · low: Keyset/opaque-cursor pagination for stable incremental reads from APIs and tablesSecure memory zeroizationsecurity · low: Keep secrets in one locked, fixed-size, non-copyable region, erase them with writes the compiler must keep, and exclude them from dumps and swap.›Merkle treedata-structures · low: Hash tree for verifying and diffing large datasets with logarithmic proofsSegmented logdistributed · low: Split an append-only log into files named by their first offset, write only the newest, and find any record by binary search plus a sparse index.›+ 7 more primitives

Similar systems

Share the most building blocks with this one.