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
A cryptographic hash must be one-way — given an output, you cannot find an input that produces it — and collision-resistant — you cannot find two inputs that produce the same output. Both reduce to one visible behavior: the output must look utterly unrelated to the input.
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 random-oracle model is the engine of the Fiat–Shamir heuristic: it turns an interactive proof — where a verifier sends random challenges — into a non-interactive signature, by replacing the verifier's coins with a hash of the message. If the hash behaves like a random oracle, the challenge is unpredictable, and the proof stays sound.
Under most deployed signatures
Fiat–Shamir is everywhere in deployed cryptography: ML-DSA and Schnorr-style signatures convert an interactive identification proof into a signature by hashing — with SHA-256-class functions playing the oracle. ML-DSA is literally "Fiat–Shamir with aborts" over the polynomial ring. The random-oracle assumption is the ground all of that stands on — though not every signature needs it. SLH-DSA, the hash-based standard, is built to rest on concrete properties of its hash function rather than on an idealized oracle, which is exactly why it exists as a conservative backup.
Related: One-Way Functions (pre-image resistance in general), Reduction & Proof (what a proof in this model claims).