Commitment t Verify LHS g^s Verify RHS t·y^c'
⚠ Couldn't load the 3D engineThree.js failed to load from the CDN. Check your connection and reload.

Fiat-Shamir Transform: Non-Interactive Schnorr Signatures

The Schnorr identification protocol is interactive: a verifier must be online to send a random challenge. The Fiat–Shamir heuristic removes that requirement by replacing the verifier's random challenge with a cryptographic hash of the prover's commitment and the message being signed, turning a live proof into a standalone digital signature. This simulator runs the real construction — genuine modular exponentiation with BigInt and a genuine SHA-256 hash via the browser's Web Crypto API — and renders the resulting group elements as points on a 3D modular-arithmetic ring. Sign a message to place its commitment on the ring, then verify it: the independently recomputed left- and right-hand sides of the Schnorr equation land on the same angle only when the signature is valid, and tampering with even one character of the message — which changes the hash-derived challenge — visibly snaps the two points apart.