whisper - end-to-end encrypted chat


matched with another visitor via the relay's matchmaking, same as pong/tic-tac-toe. unlike every other messaging demo on this site, this one actually uses the encryption recipe documented in cookbook 6a: X25519 key exchange, NaCl Box (XSalsa20-Poly1305) encryption, done client-side with tweetnacl-js. the relay sees ciphertext and nothing else - open your browser's network tab if you don't believe it. back to docs

keys are generated fresh every page load and never persist - this is trust-on-first-use, same as SSH's known_hosts the first time you connect to a host. there is no verification that the person on the other end is who you think they are, only that messages after the first exchange are provably from the same key that sent the first one.


connecting...


wire log - exactly what crosses the relay (ciphertext, never plaintext):