Oracle

From CRYPTUTOR

Revision as of 12:13, 12 February 2008; view current revision
←Older revision | Newer revision→
Jump to: navigation, search

An oracle is a procedure which is only accessed by giving inputs and then receiving the corresponding output. In particular, no access is given to the procedure's source code or any additional (intermediate) state information. Another name for this kind of access to a procedure is black-box access.

Definition and notation

If A is an algorithm, we write Af to denote that A has oracle access to the procedure f. A may provide inputs to f and then receive the corresponding output. The running time of f is not counted against that of A -- we assume that the output of f is obtained in constant time. A may ask as many queries to f as desired, within the limits of A's running time, and its queries may be adaptive, i.e., depend on the answers to previous queries.

Black-box reductions

In cryptography, protocols and schemes are often constructed using standard, simpler primitives as their components. If a protocol for a task A can be implemented using only oracle access to a primitive B, then we say that the protocol is a black-box reduction from A to B. Black-box reductions are often desirable, since they provide extensibility in constructions and even implementation. The protocol for A can be realized by "plugging in" any implementation of B, without relying on additional properties of B or needing access to intermediate states in the computation of B.

Example black-box reductions

Personal tools