Hybrid argument (Cryptography)

From HandWiki
Revision as of 06:20, 16 November 2021 by imported>JMinHep (url)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

In cryptography, the hybrid argument is a proof technique used to show that two distributions are computationally indistinguishable.

Formal description

Formally, to show two distributions D1 and D2 are computationally indistinguishable, we can define a sequence of hybrid distributions D1 := H0, H1, ..., Ht =: D2 where t is polynomial in the security parameter n. Define the advantage of any probabilistic efficient (polynomial-bounded time) algorithm A as

AdvHi,Hi+1dist(A):=|Pr[x$Hi:A(x)=1]Pr[x$Hi+1:A(x)=1]|,

where the dollar symbol ($) denotes that we sample an element from the distribution at random.

By triangle inequality, it is clear that for any probabilistic polynomial time algorithm A,

AdvD1,D2dist(A)i=0t1AdvHi,Hi+1dist(A).

Thus there must exist some k s.t. 0 ≤ k < t(n) and

AdvHk,Hk+1dist(A)AdvD1,D2dist(A)/t(n).

Since t is polynomial-bounded, for any such algorithm A, if we can show that it has a negligible advantage function between distributions Hi and Hi+1 for every i, that is,

ϵ(n)AdvHk,Hk+1dist(A)AdvD1,D2dist(A)/t(n),

then it immediately follows that its advantage to distinguish the distributions D1 = H0 and D2 = Ht must also be negligible. This fact gives rise to the hybrid argument: it suffices to find such a sequence of hybrid distributions and show each pair of them is computationally indistinguishable.[1]

Applications

The hybrid argument is extensively used in cryptography. Some simple proofs using hybrid arguments are:

  • If one cannot efficiently predict the next bit of the output of some number generator, then this generator is a pseudorandom number generator (PRG).[2]
  • We can securely expand a PRG with 1-bit output into a PRG with n-bit output.[3]

Notes

  1. Lemma 3 in Dodis's notes.
  2. Theorem 1 in Dodis's notes.
  3. Lemma 80.5, Corollary 81.7 in Pass's notes.


References