Skip to content

Security Proofs: Types and Techniques

Black-box versions of each of these techniques (black-box reduction, black-box simulation, etc.) are the strongest proofs. In a black-box proof, the adversary is treated as a "black box" (its inner workings are unknown), that is, the approach must work for any adversary. This affects the order of quantifiers in a proof ("There exists ⟨some technique⟩ such that for all adversaries, the scheme is secure" instead of "for all adversaries, there exists ⟨some technique⟩ such that the scheme is secure".)

Hybrid argument

Often used in game-based proofs, but a similar technique is also used to break down the various changes between the simulator in the real-world protocol in simulation-based proofs. We start with a security game, then slowly replace pieces of the game (each modified game is a hybrid game/experiment) in a way that is induistinguishable to the adversary. Eventually we arrive at a simple game in which the adversary clearly has negligible advantage (or where this can be shown via a reduction).

Reduction

We reduce the security of some scheme B to an assumption A, that is, we wish to show that the assumption A implies the security of scheme B (A ⇒ B).

This is done by contradiction: we instead prove the contrapositive, that if B is insecure, A does not hold (¬B ⇒ ¬A). Specifically, we assume the existence of an adversary \(A_1\) that breaks the security properties of B, and use it to construct an adversary \(A_2\) that can run \(A_1\)'s code as a subroutine to break the security of A.

Reduction tightness

A reduction is called tight if...

Proof by Simulation

Rewinding
When a simulator "rewinds" the adversary to a previous step in its execution. A good way to think about this is to remember that the adversary is a (usually PPT) algorithm, and even if it is probabilstic the randomness can be programmed as an input. This means that the simulator can just re-run \(\mathcal{A}\) with the same inputs up until a certain point, when it can "branch" from the previous run and try a new response. An example is the proof of knowledge soundness of a Sigma protocol.
A simulator which does not use rewinding is called a straight-line.

Universal Composability (UC) Framework