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:
- Efficiency: and must both be efficient, that is run in probabilistic polynomial time. As such, the interactions must be polynomially many times.
- Simulation: must simulate a challenger to as in the definition of . That is the main requirement of interacting with within.
- 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:
- Goal: Prove that a scheme is secure as long as holds.
- 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.
- 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.