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: Topics in cryptography.
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).