XXCIPHER ← Web example
INTERACTIVE LAB / 01

Watch two machines
create the same secret.

This lab executes cryptographic operations in your browser, then reveals the bytes that cross the network and the secrets that never do.

Important: ML-KEM establishes key material. AES-GCM still encrypts the request and response.

READY Select a mode, then start the handshake. Native Web Crypto
CLIENT / BROWSERWAITING

No keys generated.

PRIVATE MEMORY
PUBLIC NETWORKVISIBLE TO AN OBSERVER

Packets will appear here.

SERVERWAITING

No keys generated.

PRIVATE MEMORY
STEP 00

Ready to begin

The client and server have not generated any cryptographic material yet.

BYTE INSPECTOR0 bytes
Nothing selected.
WHAT TO NOTICE

The handshake grows.
The AES key does not.

MECHANISMPUBLIC KEYHANDSHAKE VALUESHARED SECRET
X2551932 bytes32-byte public value32 bytes
ML-KEM-7681,184 bytes1,088-byte ciphertext32 bytes
AES-256-GCM12-byte nonce + ciphertext + tag32-byte key
IS THIS REAL TLS?

No. Browsers do not expose their live TLS secrets. This is a TLS-shaped teaching model executing the same classes of primitives.

WHERE DOES IT RUN?

Classical operations use Web Crypto. ML-KEM loads as a version-pinned JavaScript module and executes locally in the page.

PRODUCTION READY?

No. The lab is for education, not for protecting production traffic or generating long-lived keys.

PRIMARY SOURCES Web Cryptography Level 2X25519, HKDF, and AES-GCM browser APIs ↗ NIST FIPS 203ML-KEM standard and parameter sets ↗ noble-post-quantumEducational JavaScript implementation and security caveats ↗