- 1. Overview
- 2. Etymology
- 3. Cultural Impact
Cryptographic model of a random function
In the realm of cryptography a random oracle is conceived as an oracleâa theoretical black box that answers every distinct query with a genuinely random value drawn uniformly from its output domain. If the same query is posed again, the oracle returns the identical response each time, i.e., it behaves deterministically with respect to repeated inputs Deterministic_algorithm .
Stated differently, a random oracle is a mathematically defined function that, for every possible query, is assigned a fixed random output chosen from its codomain with equal probability.
The notion of a random oracle was first introduced in the context of computational complexity theory, where it served to illustrate that certain complexityâclass separations may succumb to relativization barriers. The most celebrated example is the P vs NP problem , wherein 1981 it was shown that P and NP remain distinct relative to a random oracle almost surely [1].
A few years later, the concept migrated into cryptography through the seminal 1993 paper by Mihir Bellare and Phillip Rogaway , who formalised the random oracle as a modelling tool for reduction proofs [2].
Article
The term random oracle appears in the broader Wikipedia ecosystem under the heading [Article:]. It serves as a placeholder for the detailed exposition that follows, preserving the original structural markers while inviting an expanded, readerâfriendly narrative.
Random oracles first appeared
Random oracles entered the literature when scholars sought an idealised abstraction for hashâfunctionâlike objects. In cryptographic theory they function as an infinite source of randomness: each unique query elicits a fresh, uniformly distributed output, while repeated queries receive the same preâassigned output [1].
Bellare and Rogaway popularised the construct as a formal cryptographic model for proving security properties. They framed a random oracle as a function selected uniformly at random from the set of all functions mapping queries to outputsâa crucial simplification that enables rigorous reduction arguments [2].
Applications
Random oracles are typically employed as idealised replacements for cryptographic hash functions in protocols where the security proof demands strong randomness assumptions about the underlying primitive.
A proof that a scheme remains secure when every hash function is swapped for a random oracle is said to be secure in the random oracle model, a designation that distinguishes it from proofs that hold in the standard model of cryptography .
Such proofs often demonstrate that an adversary would have to exhibit impossible behaviourâor solve a mathematically hard problemâto break the construction.
Importantly, a security proof in the random oracle model does not automatically guarantee safety in the standard model; nevertheless, it provides far stronger evidence of practical safety than an unformalised argument.
Not every cryptographic construction relies on random oracles. Schemes that require only limited hashâfunction propertiesâsuch as collision resistance , preimage resistance , or second preimage resistance âcan frequently be analysed directly in the standard model. Notable examples include the CramerâShoup cryptosystem .
Domain separation
- Main article: Domain separation
A single random oracle can be conceptually split into multiple independent oracles by prefixing each query with a fixed bitâstring. For instance, queries of the form 1||x or 0||x may be interpreted as calls to two distinct random oracles; similarly, prefixes 00||x, 01||x, 10||x, and 11||x can denote four separate oracles. This technique, known as domain separation
, allows designers to treat one oracle as several logical instances.
- Oracle cloningâthe reuse of an already constructed random oracle within the same proofâis a common practice that corresponds to calling the same cryptographic hash multiple times for different purposes within an algorithm. Improper cloning combined with insufficient domain separation can invalidate security proofs and open the door to attacks [7], [8].
Limitations
According to the ChurchâTuring thesis , no algorithmically computable function can embody a true random oracle, because a genuine random oracle possesses an infinite description: it must assign an independent random output to each possible input.
Consequently, certain contrived signature and encryption schemes are provably secure when analysed with a random oracle, yet become trivially insecure when instantiated with any concrete hash function [9], [10].
Nonetheless, for most natural protocols, a security proof in the random oracle model supplies compellingâif not definitiveâevidence of practical robustness [11].
In practice, breaking the random oracle assumption requires discovering some hidden, undesirable property of the actual hash function, whereas refuting the underlying mathematical hardness assumptions (e.g., integer factorisation) demands a faster algorithm for that problem.
Random oracle hypothesis
The section on the Random oracle hypothesis currently violates Wikipediaâs Manual of Style and may be improved through collaborative editing. Discussions can be found on its talk page (February 2024).
The hypothesis posits that two âacceptableâ complexity classes Câ and Câ are equal if and only if they are equal with probabilityâŻ1 under a random oracleâa notion of acceptability first formalised by Baker, Gill, and Solovay (BG81) [13].
Early results, such as the BakerâGillâSolovay theorem , demonstrated an oracle A for which P and NP diverge relative to A. Later work by Bennett and Gill showed that for a random oracle B, P is strictly contained in NP with probabilityâŻ1.
However, the hypothesis was later disproved when it was shown that the classes IP and PSPACE are equal despite differing relative to a random oracle with probabilityâŻ1 [14], [15].
Ideal cipher
An ideal cipher is an idealised permutation oracle used to model a perfect block cipher. In this model, each ciphertext block maps to a unique plaintext block and viceâversa, establishing a one-to-one correspondence . Some proofs grant access not only to the forward permutation but also to its inverse.
Recent research has shown that an ideal cipher can be constructed from a random oracle using relatively shallow Feistel networks âspecifically, 10âround constructions [16], and even 8âround variants [17].
Ideal permutation
An ideal permutation is an abstraction sometimes employed to model the behaviour of a permutation whose outputs are indistinguishable from those of a truly random permutation. Within the ideal permutation model, an additional oracle provides access both to the permutation and its inverse, effectively constituting a specialised case of the ideal cipher where only a single permutation is considered rather than a family thereof.
Quantumâaccessible random oracles
Within postâquantum cryptography , researchers examine how quantum adversaries interact with cryptographic primitives. Since a random oracle is an abstraction of a hash function , it is natural to assume that a quantum attacker may query the oracle in quantum superposition [18].
Many classical security proofs collapse in this quantum random oracle model, necessitating substantial revisions to establish postâquantum guarantees.