Prototypes SealedP1 · Encrypted messages
?Device
Waiting for the other device
No safety number yet

Messages are encrypted on this device.

↵ to send
How Sealed is built
  1. Each device makes an X25519 key pair when it opens, and sends only the public half. A browser without X25519 uses P-256.
  2. Each message gets a new random salt. HKDF turns the shared secret and the salt into an AES-GCM key, so no two messages use the same key.
  3. Both devices show a safety number made from both public keys. When the numbers match, nobody in the middle swapped a key.
  4. Send a changed copy flips one bit in the last message and sends it on. The receiving device refuses it, because the authentication tag no longer matches.