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…