On the Composition of Public On the Composition of Public-
- Coin Zero
Coin Zero-
- Knowledge Protocols
Knowledge Protocols
Rafael Pass (Cornell) Wei-Lung Dustin Tseng (Cornell) Douglas Wiktröm (KTH)
1
On the Composition of Public- - On the Composition of Public Coin - - PowerPoint PPT Presentation
On the Composition of Public- - On the Composition of Public Coin Zero- -Knowledge Protocols Knowledge Protocols Coin Zero Rafael Pass (Cornell) Wei-Lung Dustin Tseng (Cornell) Douglas Wiktrm (KTH) 1 Zero Knowledge [GMR85] Zero
1
2
Prover Verifier
Simulator S
Prover Verifier V* View of V* with Prover View generated by S
3
Indistinguishable
Equivalently:
– Most known and all practical ZK are BB – This talk: Focus on BB ZK
4
Output View Output View
5
Parallel [FS90, GKr90] Concurrent [FS90, DNS04]
– Secure under both parallel and concurrent composition (e.g., [GKa96, FS90, RK99, KP01, PRS02]) – But these protocols use something new:
6
– Theory: – Practice:
7
Prover Verifier
– Known O(1) round public-coin BB ZK (with big soundness error) not secure in parallel
8
9
[Bar01]: Public-coin constant round bounded- concurrent non-BB ZK argument assuming CRH. [Bar01]: Public-coin constant round bounded- concurrent non-BB ZK argument assuming CRH.
Prover Verifier
10
11
Goal: Accepting execution for x ∉ L Goal: Accepting execution for x ∉ L
Verifier V
Resetting P*
→ L ∈ BPP (decided by S) [GK90, BGGL01]: x ∈ L → S(x) gives accepting view (ZK) x ∉ L → S(x) gives rejecting view (resettable-sound)
12
– Recent work: Parallel repetition amplifies sound- ness of public-coin arguments [PV07, HPPW08]:
– Our work: “Quality” of soundness also improves
– Can use soundness amplification techniques
13
– Possible to continue simulation due to public-coin
14
Verifier V
Reduction R
Resetting P*
– Guess correctly w.p. 1/poly each round – Doesn’t work when there are more rounds
– Do a test run to see which msg “should’ve been”
– If P* doesn’t use forwarded msg, rewind P* until it does
15
Acc. Acc.
16
Verifier V
Start: Two rounds are already forwarded Case: S fails to produce accepting view. → Rewind!
FAIL FAIL
Case: Forwarded msg not in accepting view → Rewind! Case: Forwarded msg is in accepting view → Found next message to forward Repeat Process Repeat Process
Acc. Acc. Reduction R
Resetting P*
form an accepting view.
used in an accepting view
Reduction idea analogous to [HPPW08]
17
– Case: P* chooses which branch to use in view randomly. → Then poly rewinds are enough – This is actually the worst case
– Forwarded messages are fixed. Might fix a BAD message – Reduction: Resettable parallel P*→normal standalone P – New picture!
18
standalone
– Technically shown by relying on Raz’s Lemma – Technique used in soundness amplification of 2-prover games [Raz98] and public-coin arguments [HPPW08]
19
Verifier V
Reduction R
Resetting P*
→ so not BB ZK unless L ∈ BPP
– New set of techniques for BB lower bounds
20
– More efficient (private-coin) concurrent ZK – Model studied in the soundness amplification literature [IW97, BIN97, HPPW08]
21
22