Establish session via X3DH
Alice → "Hello Bob, testing pqc-ratchet"
Alice → "Second message, same ratchet epoch"
Bob → "Hi Alice! (new KEM epoch — ratchet advances)"
Bob → "Second reply, epoch continues"
Alice → "Back to Alice — another new epoch"
Bob → "Final message — epoch 3"
Alice
Initiator
Session PIN
—
—
—
—
·
—
—
—
—
SHA-256(IK_A ‖ IK_B)[0..3]
✓ matches Bob
DSA pub
—
Exchange
—
Root key
—
Chain
—
Ratchet pub
—
Bob
Responder
Session PIN
—
—
—
—
·
—
—
—
—
SHA-256(IK_A ‖ IK_B)[0..3]
✓ matches Alice
DSA pub
—
Exchange
—
Root key
—
Chain
—
Ratchet pub
—
Protocol Wire Log
0 events
click any entry to expand wire bytes
Establish a session to see the protocol wire log
How it works in code
full program for both sides · ~50 lines total · active block highlights as demo runs
▼
Alice
initiator — sends the PreKeyMessage
Bob
responder — receives and replies