The oracle that
can't be predicted
Much of cryptography leans on a fiction so useful it's treated as bedrock: a hash function that behaves like a perfectly random one. Feed it anything, get back noise you could never have guessed — and the same input always returns the same noise. From that single idea, signatures are built.
Two demands on a hash
Preimage resistance asks that finding an input for a specified digest be infeasible; collision resistance asks that finding any two distinct inputs with one digest be infeasible. Neither property follows merely from outputs looking unrelated to their inputs.
The avalanche
Here's the property you can see. Flip a single input bit and, in a good hash, roughly half the output bits flip — with no pattern linking which. Toggle any input bit below and watch the change cascade through the mixing rounds. A one-bit nudge should scramble the whole output.
From random oracle to signature
The Fiat–Shamir transform replaces the verifier's challenge with a hash of the commitment, public statement and required application context; a signature also binds its message. A proof in the random-oracle model treats that hash as an ideal random function. Correct transcript binding and the proof's assumptions matter, and substituting a real hash does not automatically transfer the proof.
Used by several signature families
Schnorr-style signatures and ML-DSA use Fiat–Shamir ideas. ML-DSA uses SHAKE-based hashing and a construction often described as Fiat–Shamir with aborts. SLH-DSA belongs to a hash-based signature family with different assumptions and tradeoffs. These are distinct constructions, not one security argument applied to every signature.
Related: One-Way Functions (pre-image resistance in general), Reduction & Proof (what a proof in this model claims).
Sources and scope: RFC 8235 (2017); NIST FIPS 204 and FIPS 205 (2024). The interactive 16-bit mixer is an illustration, not a cryptographic hash.