Glossary · X25519
X25519
An elliptic-curve key agreement protocol. Are We Friends? uses it to wrap the per-thread DM keys.
X25519 is a Diffie–Hellman key exchange protocol over the elliptic curve Curve25519, designed by Daniel Bernstein. Two parties each generate a private/public keypair; each combines their own private key with the other's public key to derive an identical shared secret. The shared secret is then used as the symmetric key for actual message encryption.
X25519 is fast, has a small key size (32 bytes), is constant-time (resistant to timing-attack side channels), and has well-vetted reference implementations. It powers Signal, WireGuard, the modern TLS handshake, and most current E2EE messaging.
Are We Friends? uses X25519 in "sealed-box" mode: the sender generates an ephemeral keypair, derives a shared secret with the recipient's public key, encrypts the message, and ships the ciphertext + ephemeral public key. The recipient combines their private key with the ephemeral public key to recover the shared secret and decrypt. The sender's identity is anonymous in this mode (which is why we layer an additional signed envelope on top for thread-context binding).
Related terms
End-to-end encryption (E2EE)
A messaging architecture where only the two parties can decrypt a message. The server never sees plaintext. Friends? DMs use this.
XChaCha20-Poly1305
An authenticated symmetric encryption algorithm used to encrypt every Are We Friends? DM payload.
Argon2id
A memory-hard password-hashing function. Are We Friends? uses it to derive your master encryption key from your passphrase.
Give it five minutes
Meet people who actually fit — and do something real.
Free tier, Big Five test, three matches nearby. No ads, ever.