Reduction classes
A reduction class says how a reduction building a primitive from primitives may use them: whether the construction uses an implementation of only as an oracle, and whether the security proof uses an adversary against only as an oracle. The classes are those of RTV04 plus one of this wiki’s own, fixed construction. Every reduction and barrier page records one, or unstated.
Notation
stands for the hypotheses of a page, jointly, and for its conclusion. ranges over implementations of , efficient or not, and breaks means that violates the security of for . is the construction, so is the candidate implementation of , and is the security reduction. Efficient means probabilistic polynomial-time. Each black-box class is given by the order of its quantifiers over , , and , as restated by BBF13, and by which algorithms get oracle access to : an algorithm quantified existentially may depend on everything quantified before it.
Black-box and non-black-box alone name no class. The semi- and weakly black-box classes let the reduction depend on the adversary, and their ∀∃ variants let the construction depend on the implementation of as well; a construction that runs the code of an implementation of is recorded free (Recording a class).
Classes
Fully black-box
. One efficient construction and one efficient reduction , both fixed in advance: for every implementation of , implements , and for every adversary , efficient or not, that breaks , breaks . uses only as an oracle, and uses and only as oracles. The narrowest RTV04 class — RTV04.
Semi-black-box
. The construction is fixed and uses only as an oracle, and implements for every ; the reduction is chosen after and and may depend on both, in particular on the code of . For every and every efficient adversary that breaks there is an efficient such that breaks ; and both have oracle access to — RTV04.
Forall-exists semi-black-box
∀∃-semi-black-box: . As semi-black-box, except that the construction is chosen after and may depend on the implementation itself, not merely on oracle access to it — RTV04.
Weakly black-box
, the same prefix as semi-black-box. As semi-black-box, except that the adversary is an efficient algorithm with no oracle access to : for every and every efficient that breaks there is an efficient such that breaks — RTV04.
Forall-exists weakly black-box
∀∃-weakly-black-box: . As weakly black-box, except that the construction is chosen after and may depend on it — RTV04.
Relativizing
. For every oracle , if exists relative to then exists relative to , where a primitive exists relative to if some implementation of it is efficiently computable with oracle and no efficient adversary with oracle breaks it — RTV04. An oracle separation, an oracle relative to which exists and does not, rules out exactly this class, and with it every fully-black-box reduction; the separation of one-way permutations from key agreement is of this kind — IR89.
Free
exists whenever does, by any argument: no restriction on the construction or the proof. The broadest class — RTV04. A barrier against free reductions rules out the implication itself, not a proof technique.
Fixed construction
This wiki’s class; RTV04 have none like it. The construction is the one named on the page, such as the identity map on schemes or a named transform such as Fiat–Shamir, and the security proof is unrestricted. The class serves barriers that refute one construction without ruling out building from some other way: an IND-CPA-secure public-key encryption scheme need not be IND-CCA1-secure, so the identity map is no reduction from CPA to CCA1 security — BDPR98. Such a barrier is titled No fixed-construction reduction from to .
Order
Every reduction of a class is also a reduction of each class listed beside it, and so, transitively, of every broader class.
| Class | Is also |
|---|---|
| fully-black-box | semi-black-box, relativizing |
| semi-black-box | weakly-black-box, ∀∃-semi-black-box |
| relativizing | ∀∃-semi-black-box |
| ∀∃-semi-black-box | ∀∃-weakly-black-box |
| weakly-black-box | ∀∃-weakly-black-box, free |
| ∀∃-weakly-black-box | free |
| fixed-construction | free |
| free | — |
This is the hierarchy of RTV04 as drawn by BBF13, with fixed-construction added beside it, comparable only with free. A barrier against class contradicts a reduction of class with the same hypotheses and conclusion if and only if is or narrower than . An oracle separation, against relativizing reductions, therefore rules out every fully-black-box reduction; a barrier against fully-black-box reductions says nothing about a free one, and a fixed-construction barrier says nothing about a reduction of any RTV04 class, which may choose its construction.
Unstated
unstated is not a class. It records that the source does not say which notion its reduction meets and the shape of the proof does not settle it. It lies outside the order, so a reduction or barrier recorded unstated is compared with no page on the same hypotheses and conclusion, and the line under its title omits it.
Recording a class
A page records the class its source states. When the source is silent, the page records fully-black-box only when the proof has that shape, one fixed construction using the hypotheses only as oracles and one fixed reduction using any adversary only as an oracle, and unstated otherwise; for a hardness assumption, its problem plays the role of the primitive. A construction that uses the code of a hypothesis scheme, as bootstrapping evaluates the scheme’s own decryption circuit, is recorded free; so is a result whose source calls it only non-black-box, and a containment or equality of complexity classes, to which the classification does not apply. An idealized model (ROM, GGM, AGM) is not a class: a page records its model separately.