Reduction Proofs

Reduction proofs are the main tool we will use to prove the security of some scheme. We have given a brief overview of them while describing the third principle of modern cryptography.

Suppose we have some assumption and an encryption scheme such that:

To prove this, we can look at it's contrapositive:

If there exists an efficient that breaks , then we will construct an efficient that breaks . Similar to how we had an adversary and a challenger in the previous interactions:

  • will be an adversary to an outside challenger. The interactions between and this challenger is defined by
  • will use within, and it will act as the challenger for . The interactions between and is defined by
sequenceDiagram
	actor chal
  actor B
  actor A


  chal ->> B: #160;

  Note over B,A: B can interact with A
  B ->> A: #160;
  A ->> B: #160;

  Note over B,chal: can interact in between too
  B ->> chal: #160;

  chal ->> B: #160;

  B ->> A: #160;
  A ->> B: #160;

  B ->> chal: #160;

There are three points to consider in a reduction proof:

  1. Efficiency: and must both be efficient, that is run in probabilistic polynomial time. As such, the interactions must be polynomially many times.
  2. Simulation: must simulate a challenger to as in the definition of . That is the main requirement of interacting with within.
  3. Probability: The statement that has non-negligible advantage should imply has non-negligible advantage.

Regarding the last point, notice that:

when taken the contrapositive is expressed as:

In other words, if we can't construct any to have a non-negligible advantage then we can say there can't be any with non-negligible advantage.

A more verbal explanation

We can state reduction proofs as follows:

  1. Goal: Prove that a scheme is secure as long as holds.
  2. Method: If there exists an efficient adversary that breaks scheme with non-negligible probability, then we construct an efficient adversary that breaks assumption with non-negligible probability.
  3. Result: Since there is no known break on the assumption (hopefully your assumptions are good enough for that), this means no such adversary exists; otherwise, assumption would already be broken. Alternatively, if we could break we should be able to break , therefore if we cannot break then we cannot break .

So given an efficient adversary , we try to construct adversary such that:

  • uses as a subroutine,
  • is efficient, that is it performs at most polynomial amount of work on top of ,
  • The success probability of breaking is at most negligibly worse than the success probability of breaking ,
  • simulates the challenger in scheme for .

Note that a proof can be black-box: the constructed need not know how works, but know that it does break with some non-negligible probability.