TCS: Interactive Proofs and Zero-Knowledge

Interactive Proofs and Zero-Knowledge

Interactive Proofs

Interactive Proof Verification

Interactive proof system allows prover PP and verifier VV to exchange messages before stopping. We restrict VV to be PPT while the probabilitic is necessary otherwise this system is NP\text{NP} as PP is stronger than VV.

Problem AA is in IP\text{IP} if there is a pair of interactive algorithms (P,V)(P, V), with VV running in probabilistic polynomial time in the length of input xx, such that

  1. (Completeness). If x∈Ax\in A, then P(⟨P,V⟩(x)=1)=1P(\langle P, V\rangle(x) = 1) = 1.
  2. (Soundness). If x∉Ax\notin A, then for any possibly dishonest P∗P^{*}, we have P(⟨P,V⟩(x)=1)≤12P(\langle P, V\rangle(x) = 1) \leq \frac{1}{2}.
    (P,V)(P, V) satisfying above is called a proof system for AA. We say A∈IP[ℓ]A\in\text{IP}[\ell] if it has a proof system using ℓ=ℓ(∣x∣)\ell = \ell(|x|) times of message exchanges (number of messages, not rounds!).

We have that: BPP⊆IP[1]\text{BPP} \subseteq \text{IP}[1]

Concretely, we consider two problem GRAPH-ISO\text{GRAPH-ISO}(图同构问题) and GRAPH-NONISO\text{GRAPH-NONISO}. Easily, GRAPH-ISO∈NP\text{GRAPH-ISO}\in \text{NP} since we can choose the isomorphic permutation π\pi as witness. Besides, we have GRAPH-NONISO∈IP\text{GRAPH-NONISO}\in \text{IP}.

The GNI protocol is:

  1. VV samples a random b∈{0,1}b\in\{0, 1\} and a random permutation π\pi, send π(Gb)\pi(G_{b}) to PP
  2. PP returns an bit b′b' to VV and VV accepts iff b′=bb' = b

As PP is all-know, it must have the ability to distinguish bb if G0≁G1G_{0} \not\sim G_{1}. But it can just guess arbitarily if they are isomorphic.

Merlin-Arthur (Public-Coin) Protocols

A Merlin-Arthur protocol is an interactive proof system where the verifier (Arthur) messages are public random coin flips

A really simple VV!

Let AM[ℓ]\text{AM}[\ell] to be the Merlin-Arthur protocol with ℓ(∣x∣)\ell(|x|) messages. Consider MA=AM[1]\text{MA} = \text{AM}[1] and AM=AM[2]\text{AM} = \text{AM}[2]

Though it seems week, but we have:

Goldwasser-Sipser theorem: ∀ℓ\forall \ell, IP[ℓ]⊆AM[ℓ+2]\text{IP}[\ell]\subseteq\text{AM}[\ell + 2]

GNI as a Set-Size Problem

Assume G0G_0 and G1G_1 have the same vertex set [n][n]; different vertex counts can be checked directly. Define a set of labeled graphs and automorphisms

S={(H,π) ∣ π∈Aut(H),H∼G0 or H∼G1}S = \{(H, \pi) \,|\, \pi\in\text{Aut}(H), H\sim G_{0} \text{ or } H\sim G_{1} \}

Here Aut(H)\text{Aut}(H) is the set of vertex permutations preserving HH. An isomorphism class contains n!/∣Aut(H)∣n!/|\text{Aut}(H)| labeled graphs, and each contributes ∣Aut(H)∣|\text{Aut}(H)| pairs to SS. Thus each isomorphism class contributes exactly n!n! elements

∣S∣={n!G0∼G12n!otherwise|S| = \begin{cases} n! & G_{0} \sim G_{1} \\ 2n! & \text{otherwise} \end{cases}

Let N=2n!N=2n!. It suffices to distinguish ∣S∣=N|S|=N from ∣S∣=N/2|S|=N/2. Encode each pair injectively as an mm-bit string, using a fixed polynomial-length encoding with padding if necessary

Membership in SS has a polynomial-size certificate. For x=(H,π)x=(H,\pi), Merlin supplies a bit bb and an isomorphism σ\sigma from GbG_b to HH. Arthur checks that π\pi and σ\sigma are permutations, π(H)=H\pi(H)=H, and σ(Gb)=H\sigma(G_b)=H

Goldwasser-Sipser Set Lower Bound Protocol

More generally, suppose membership in S⊆{0,1}mS\subseteq\{0,1\}^m has an efficient verifier, and the promised cases are ∣S∣=N|S|=N and ∣S∣≤N/2|S|\le N/2

Choose kk such that

2k−2≤N<2k−1p=N2k∈[14,12)2^{k-2}\le N<2^{k-1} \qquad p=\frac{N}{2^k}\in\left[\frac14,\frac12\right)

Let H\mathcal H be an efficiently sampleable pairwise independent family from {0,1}m\{0,1\}^m to {0,1}k\{0,1\}^k. For example, h(u)=Au+ch(u)=Au+c over F2\mathbb F_2 works when the binary matrix AA and vector cc are chosen uniformly

  1. Arthur samples h∈Hh\in\mathcal H and y∈{0,1}ky\in\{0,1\}^k independently and uniformly, and sends their descriptions to Merlin
  2. Merlin sends an x∈Sx\in S satisfying h(x)=yh(x)=y, together with a certificate of membership in SS. If no such xx exists, he cannot provide a valid response
  3. Arthur accepts exactly when the membership certificate is valid and h(x)=yh(x)=y

Arthur’s message consists entirely of public randomness. Merlin’s task is to show that the randomly selected hash bucket intersects SS

Completeness and Soundness

Fix any yy and let ExE_x be the event h(x)=yh(x)=y. Pairwise independence gives

Pr⁡h[Ex]=2−kPr⁡h[Ex∩Ex′]=2−2k(x≠x′)\Pr_h[E_x]=2^{-k} \qquad \Pr_h[E_x\cap E_{x'}]=2^{-2k}\quad(x\ne x')

If ∣S∣=N|S|=N, inclusion-exclusion through pairs gives the lower bound

Pr⁡h[∃x∈S:h(x)=y]≥N2k−(N2)122k≥p−p22≥3p4\begin{aligned} \Pr_h[\exists x\in S:h(x)=y] &\ge\frac{N}{2^k}-\binom N2\frac1{2^{2k}}\\ &\ge p-\frac{p^2}{2} \ge\frac{3p}{4} \end{aligned}

The honest prover finds a valid response whenever the bucket is nonempty, so this also bounds his acceptance probability from below after averaging over yy

If ∣S∣≤N/2|S|\le N/2, the union bound instead gives

Pr⁡h[∃x∈S:h(x)=y]≤∣S∣2k≤p2\Pr_h[\exists x\in S:h(x)=y] \le\frac{|S|}{2^k}\le\frac p2

No dishonest prover can make Arthur accept an empty bucket, because every response must pass the membership check. The one-shot completeness and soundness probabilities are therefore separated by at least p/4≥1/16p/4\ge1/16

Amplification without More Messages

Run tt independent copies in parallel: Arthur sends all challenges in one message, Merlin returns all responses in one message, and Arthur accepts if the fraction of valid responses is at least 5p/85p/8

Let ZiZ_i indicate that the ii-th challenged bucket intersects SS. These indicators are independent, since they depend only on the independently sampled challenges. The honest prover achieves every available success, while any prover’s number of accepted responses is at most ∑iZi\sum_i Z_i

The threshold is at least p/8p/8 away from either promised expectation bound. Hoeffding’s inequality gives

Pr⁡[honest prover rejected]≤e−tp2/32Pr⁡[dishonest prover accepted]≤e−tp2/32\begin{aligned} \Pr[\text{honest prover rejected}]&\le e^{-tp^2/32}\\ \Pr[\text{dishonest prover accepted}]&\le e^{-tp^2/32} \end{aligned}

Since p≥1/4p\ge1/4, each error is at most e−t/512e^{-t/512}. Taking t≥⌈512ln⁡3⌉t\ge\lceil512\ln3\rceil makes both errors at most 1/31/3, and taking t=O(log⁡(1/ε))t=O(\log(1/\varepsilon)) reduces them to ε\varepsilon

For the graph set above, encodings, hash descriptions and membership certificates all have polynomial length. This gives a two-message public-coin protocol for GRAPH-NONISO\text{GRAPH-NONISO} with bounded completeness error, establishing GRAPH-NONISO∈AM\text{GRAPH-NONISO}\in\text{AM}

More facts

  1. IP=PSPACE\text{IP} = \text{PSPACE}
  2. IP[ℓ]=AM[ℓ]=AM\text{IP}[\ell] = \text{AM}[\ell] = \text{AM} for all constant ℓ≥2\ell \geq 2
  3. Allowing bounded completeness error leaves each of the classes AM\text{AM}, MA\text{MA} and IP\text{IP} unchanged

Coin Flipping and Commitment

We want a protocol where Alice and Bob talk to each other and then decide some important thing on the outcome R(a,b)R(a, b) of the coin flip and it makes sure that the result is not biased even if one of them is cheating (malicious). This means:

P(R=0)≤12+negl(n)P(R=1)≤12+negl(n)\begin{align*} P(R = 0) &\leq \frac{1}{2} + \text{negl}(n) \\ P(R = 1) &\leq \frac{1}{2} + \text{negl}(n) \end{align*}

So we need something to hide aa which filped by Alice to Bob to avoid bias.

Bit Commitment

The commitment scheme is a protocol consisting of the commit phase and reveal phase.

A PPT protocol Com\text{Com} is a (computationally hiding and statistically binding) commitment scheme if:

  1. Hiding: ∀ x0≠x1\forall\, x_{0}\neq x_{1}, Com(x0)≈cCom(x1)\text{Com}(x_{0})\approx_{c}\text{Com}(x_{1}).
  2. Binding: The probability that Alice can open Com(x0)\text{Com}(x_{0}) to x1x_{1} with x1≠x0x_{1}\neq x_{0} is negligible.

In this ≈c\approx_{c} means that one cannot distinguish both is polynomial time.

Intuitively, this definition means Bob(recevier) can hardly verify x0x_{0} or x1x_{1} and Alice(sender) can almost always verify them.

Coin Flipping from Bit Commitment

The safe protocol is as follows:

  1. Alice send Com(a)\text{Com}(a) to Bob with a random aa
  2. Bob sends bb to Alice
  3. Alice opens Com(a)\text{Com}(a)
  4. Set R=a⊕bR = a \oplus b

Bit Commitment From PRG (Naor’s Construction)

Assume GG is a PRG with ℓ(n)=3n\ell(n) = 3n

In the commit phase:

  1. The receiver sends x∈{0,1}3nx\in\{0, 1\}^{3n};
  2. The sender samples m∈{0,1}m\in\{0, 1\}, z∈{0,1}nz\in\{0, 1\}^{n} and sends y=G(z)⊕xmy = G(z)\oplus x^{m};

In the reveal phase:

The sender sends zz and mm.

Zero-Knowledge Proofs

Definition at first is as follows, in which view\text{view} contains the transcript of the interaction(all messages and their probabilities) and local information.

An interactive protocol (P,V)(P, V) is perfect (statistical or computational) ZK for AA if, ∀\forall PPT V∗V^{*}, there exists a PPT simulator SS such that ∀ x∈A\forall\, x\in A, the following two distributions are the same:

  1. viewV∗⟨P,V∗⟩(x)\text{view}_{V^{*}}\langle P, V^{*}\rangle(x)
  2. S(x)S(x)

We have GRAPH-ISO∈PZK\text{GRAPH-ISO} \in \text{PZK}. The protocol is as follows:

  1. PP samples a random permutation π\pi and sends G=π(G0)G = \pi(G_{0}) to VV
  2. VV samples a random b∈{0,1}b\in\{0, 1\} and sends it to PP
  3. PP responds with a proof that G∼GbG\sim G_{b} with the permutation π∘σb\pi\circ\sigma^{b}

simulator and rewind

To prove this protocol is what we want, we need to prove its completeness, soundness and ZK. The first two are easy to argue, the ZK need a simulator and we generates it as follows:

  1. Choose aa uniformly at random.
  2. Sample a random permutation π\pi and compute G=π(Ga)G = \pi(G_{a}).
  3. Randomly sample rr and simulate V∗V^{*} with random tape content rr.
  4. If V∗V^{*} sends b=ab = a, outputs (G,π)(G, \pi) as the message and the random tape rr as the internal randomness of V∗V^{*}.
  5. If V∗V^{*} sends b≠ab\neq a, rewind and start from the beginning.

ZK Proofs for NP

We have:

(Goldreich-Micali-Wigderson). If statistically binding commitments exist, then there exists a zero-knowledge proof system for 3-COLORING\text{3-COLORING}

The protocol is:

  1. PP samples random permutation π:{0,1,2}→{0,1,2}\pi: \{0, 1, 2\}\to \{0, 1, 2\}.
  2. PP sends {Com(π(ϕ(v))) ∣ v∈V}\{\text{Com}(\pi(\phi(v))) \,|\, v\in V\}
  3. VV samples a random edge (u,v)←E(u, v)\gets E and sends it to PP
  4. PP opens the commitment cuc_{u} and cvc_{v}
  5. VV checks if π(ϕ(u)),π(ϕ(v))∈{0,1,2}\pi(\phi(u)), \pi(\phi(v))\in\{0, 1, 2\} and π(ϕ(u))≠π(ϕ(v))\pi(\phi(u)) \neq \pi(\phi(v))

In this, ϕ\phi is a coloring scheme


© 2024 本网站由 renxiaodaifu 使用 Stellar主题 创建
总访问 次 | 本页访问 次
共发表 98 篇 Blog(s) · 总计 268.5k 字