A random oracle is perfect cryptographic hash function. Although not used in practice, it is often used to build a 'random oracle model' in theoretical cryptography papers as part of attempts to prove the security of a cryptographic system.
When a random oracle is given a query x it does the following,
- If the oracle has been given the query x before it responds with the same value it gave the last time.
- If the oracle hasn't been given the query x before it generates a random response which has uniform probability of being chosen from anywhere in the oracle's output ___domain.
See also
References
- Mihir Bellare and Phillip Rogaway, Random Oracles are Practical: A Paradigm for Designing Efficient Protocols, ACM Conference on Computer and Communications Security 1993, pp62–73 (PS and PDF).
- Ran Canetti, Oded Goldreich and Shai Halevi, The Random Oracle Methodology Revisited, STOC 1998, pp209–218 [1].