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…