Home▸Quantum Physics▸Quantum Coin Flipping (2D): Conjugate-Basis Cheat Detection

Quantum Coin Flipping (2D): Conjugate-Basis Cheat Detection

Interactive 2D simulation of the Bennett-Brassard quantum coin-flipping protocol: Alice sends a qubit in a conjugate-basis state to try to bias the outcome, and Bob's Born-rule measurement catches the cheat half the time. Adjustable cheat probability, live polarization-state readout, and coin-bias statistics.

Quantum Physics2DAdvanced60 FPS📱 Mobile-adapted⇄ 3D version
2d-quantum-cryptography-computer-science ↗ Open standalone

Two people who don't trust each other, and no third party — can they still flip a fair coin? Quantum mechanics says yes, and this simulator recreates the exact primitive Bennett and Brassard proposed in their 1984 paper alongside BB84 key distribution. Alice encodes a qubit and sends it to Bob; Bob replies with an independent random guess bit; Alice reveals her declared bit and basis, and the coin result is their XOR. The catch is enforcement: Bob measures the physical qubit he actually received, in the basis Alice just revealed, and checks it against her declaration. An honest qubit — the true eigenstate of the declared basis — always matches. A cheating qubit, sent in the conjugate basis to keep both outcomes open, matches only half the time by the Born rule, so trying to force the coin toward a chosen target carries a real, visible risk of getting caught. Dial in Alice's cheat probability and target, watch the polarization state collapse on measurement, and track the live bias-versus-detection trade-off across hundreds of rounds.

⚙ Under the hood

Interactive 2D simulation of the Bennett-Brassard quantum coin-flipping protocol: Alice sends a qubit in a conjugate-basis state to try to bias the outcome, and Bob's Born-rule measurement catches the cheat half the time.

quantum-cryptographycoin-flippingbb84conjugate-basischeat-detectionno-cloning-theorem2d

2D · HTML5 Canvas 2D · 60 FPS target · runs fully client-side, no install

What did you find?

Add reproduction steps (optional)