v133 · web cryptography
End-to-End Encrypted Message
Alice and Bob each generate an X25519 key pair in-browser. They exchange public keys, derive a shared AES-GCM key, and encrypt a message — all using the real SubtleCrypto API. No secret ever leaves the browser.
checking X25519…
checking AES-GCM…
1. Keys
2. Exchange
3. Derive
4. Encrypt
5. Decrypt
Alice
Public key (X25519, raw, base64)
—
Private key
hidden (CryptoKey object)
Bob
Public key (X25519, raw, base64)
—
Private key
hidden (CryptoKey object)
Key exchange & shared secret derivation
A
Alice derives shared secret using her private key + Bob's public key
Alice's derived AES key (key material hidden by browser)
B
Bob derives shared secret using his private key + Alice's public key
Bob's derived AES key
Encrypt a message (Alice → Bob)
Ciphertext (base64)
—
IV (base64)
—
Decrypt (Bob receives)
Decrypted plaintext
—
Event log
Waiting for key generation…