Cryptography Reference
In-Depth Information
A reduction between problems A and B therefore explains that “if you can solve B then
you can solve A”. This means that solving A has been “reduced” to solving problem B and
we can infer that problem B is “at least as hard as” problem A or that problem A is “no
harder than” problem B.
Since oracle queries take one unit of running time and reductions are polynomial-time
algorithms, a reduction makes only polynomially many oracle queries.
Definition 2.1.17 If there is a reduction from A to B and a reduction from B to A then we
say that problems A and B are equivalent and write A
R B .
Some authors use the phrases polynomial-time reduction and polynomial-time equiv-
alent in place of reduction and equivalence. However, these terms have a technical meaning
in complexity theory that is different from reduction (see Section 34.3 of [ 136 ]). Defini-
tion 2.1.15 is closer to the notion of Turing reduction, except that we allow randomised
algorithms, whereas a Turing reduction is a deterministic algorithm. We abuse terminology
and define the terms subexponential-time reduction and exponential-time reduction by
relaxing the condition in Definition 2.1.15 that the algorithm be polynomial-time (these
terms are used in Section 21.4.3 ).
2.1.4 Random self-reducibility
There are two different ways that an algorithm or oracle can be unreliable. First, it may be
randomised and only output the correct answer with some probability; such a situation is
relatively easy to deal with by repeatedly running the algorithm/oracle on the same input.
The second situation, which is more difficult to handle, is when there is a subset of problem
instances for which the algorithm or oracle extremely rarely or never outputs the correct
solution; for this situation random self-reducibility is essential. We give a definition only
for the special case of computational problems in groups.
Definition 2.1.18 Let P be a computational problem for which every instance of the
problem is an n 1 -tuple of elements of some cyclic group G of order r and such that the
solution is an n 2 -tuple of elements of G together with an n 3 -tuple of elements of
Z
/r
Z
(where n 2 or n 3 may be zero).
The computational problem P is random self-reducible if there is a polynomial-time
algorithm that transforms an instance of the problem (with elements in a group G )intoa
uniformly random instance of the problem (with elements in the same group G ) such that
the solution to the original problem can be obtained in polynomial-time from the solution
to the new instance.
We stress that a random self-reduction of a computational problem in a group G gives
instances of the same computational problem in the same group. In general, there is no
way to use information about instances of a computational problem in a group G to solve
Search WWH ::




Custom Search