TCS: Interactive Proofs and Zero-Knowledge
Interactive Proofs and Zero-Knowledge
Interactive Proofs
Interactive Proof Verification
Interactive proof system allows prover and verifier to exchange messages before stopping. We restrict to be PPT while the probabilitic is necessary otherwise this system is as is stronger than .
Problem is in if there is a pair of interactive algorithms , with running in probabilistic polynomial time in the length of input , such that
- (Completeness). If , then .
- (Soundness). If , then for any possibly dishonest , we have .
satisfying above is called a proof system for . We say if it has a proof system using times of message exchanges (number of messages, not rounds!).
We have that:
Concretely, we consider two problem (图同构问题) and . Easily, since we can choose the isomorphic permutation as witness. Besides, we have .
The GNI protocol is:
- samples a random and a random permutation , send to
- returns an bit to and accepts iff
As is all-know, it must have the ability to distinguish if . But it can just guess arbitarily if they are isomorphic.
Merlin-Arthur (Public-Coin) Protocols (Skip)
A Merlin-Arthur protocol is an interactive proof system where the verifier (Arthur) messages are public random coin flips.
A really simple !
Let to be the Merlin-Arthur protocol with messages. Consider and
Though it seems week, but we have:
Goldwasser-Sipser theorem: ,
Define a set:
represents the automorphism permutation multiplicity. So we have:
So the is transformed into confirming
Let be a pairwise independent hash family with and where .
Then the protocol is:
TODO
More facts
- for all constant
- if we allow completeness error
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 of the coin flip and it makes sure that the result is not biased even if one of them is cheating (malicious). This means:
So we need something to hide 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 is a (computationally hiding and statistically binding) commitment scheme if:
- Hiding: , .
- Binding: The probability that Alice can open to with is negligible.
In this means that one cannot distinguish both is polynomial time.
Intuitively, this definition means Bob(recevier) can hardly verify or and Alice(sender) can almost always verify them.
Coin Flipping from Bit Commitment
The safe protocol is as follows:
- Alice send to Bob with a random
- Bob sends to Alice
- Alice opens
- Set
Bit Commitment From PRG (Naor’s Construction)
Assume is a PRG with
In the commit phase:
- The receiver sends ;
- The sender samples , and sends ;
In the reveal phase:
The sender sends and .
Zero-Knowledge Proofs
Definition at first is as follows, in which contains the transcript of the interaction(all messages and their probabilities) and local information.
An interactive protocol is perfect (statistical or computational) ZK for if, PPT , there exists a PPT simulator such that , the following two distributions are the same:
We have . The protocol is as follows:
- samples a random permutation and sends to
- samples a random and sends it to
- responds with a proof that with the permutation
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:
- Choose uniformly at random.
- Sample a random permutation and compute .
- Randomly sample and simulate with random tape content .
- If sends , outputs as the message and the random tape as the internal randomness of .
- If sends , 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
The protocol is:
- samples random permutation .
- sends
- samples a random edge and sends it to
- opens the commitment and
- checks if and
In this, is a coloring scheme