Topic 36: Zero-Knowledge Proofs

Slides:



Advertisements
Similar presentations
Revisiting the efficiency of malicious two party computation David Woodruff MIT.
Advertisements

Zero Knowledge Proofs(2) Suzanne van Wijk & Maaike Zwart
Foundations of Cryptography Lecture 10 Lecturer: Moni Naor.
Vote privacy: models and cryptographic underpinnings Bogdan Warinschi University of Bristol 1.
Efficient Zero-Knowledge Proof Systems Jens Groth University College London.
CS555Topic 241 Cryptography CS 555 Topic 24: Secure Function Evaluation.
Computational Security. Overview Goal: Obtain computational security against an active adversary. Hope: under a reasonable cryptographic assumption, obtain.
Foundations of Cryptography Lecture 13 Lecturer: Moni Naor.
Introduction to Modern Cryptography, Lecture 12 Secure Multi-Party Computation.
Short course on quantum computing Andris Ambainis University of Latvia.
Zero-Knowledge Proofs J.W. Pope M.S. – Mathematics May 2004.
Complexity 26-1 Complexity Andrei Bulatov Interactive Proofs.
Complexity 18-1 Complexity Andrei Bulatov Probabilistic Algorithms.
CS426Fall 2010/Lecture 351 Computer Security CS 426 Lecture 35 Commitment & Zero Knowledge Proofs.
1 Slides by Roel Apfelbaum & Eti Ezra. Enhanced by Amit Kagan. Adapted from Oded Goldreich’s course lecture notes.
1 Adapted from Oded Goldreich’s course lecture notes.
Zero Knowledge Proofs By Subha Rajagopalan Jaisheela Kandagal.
Complexity and Cryptography
Oblivious Transfer based on the McEliece Assumptions
Co-operative Private Equality Test(CPET) Ronghua Li and Chuan-Kun Wu (received June 21, 2005; revised and accepted July 4, 2005) International Journal.
Lecturer: Moni Naor Foundations of Cryptography Lecture 12: Commitment and Zero-Knowledge.
Introduction to Modern Cryptography, Lecture 7/6/07 Zero Knowledge and Applications.
Zero Knowledge Proofs. Interactive proof An Interactive Proof System for a language L is a two-party game between a verifier and a prover that interact.
Introduction to Modern Cryptography, Lecture 9 More about Digital Signatures and Identification.
On Everlasting Security in the Hybrid Bounded Storage Model Danny Harnik Moni Naor.
Sedgewick & Wayne (2004); Chazelle (2005) Sedgewick & Wayne (2004); Chazelle (2005)
Slide 1 Vitaly Shmatikov CS 380S Oblivious Transfer and Secure Multi-Party Computation With Malicious Parties.
Foundations of Cryptography Lecture 8 Lecturer: Moni Naor.
Lecture 12 Commitment Schemes and Zero-Knowledge Protocols Stefan Dziembowski University of Rome La Sapienza critto09.googlepages.com.
Quadratic Residuosity and Two Distinct Prime Factor ZK Protocols By Stephen Hall.
Fall 2004/Lecture 201 Cryptography CS 555 Lecture 20-b Zero-Knowledge Proof.
Introduction to Modern Cryptography Sharif University Spring 2015 Data and Network Security Lab Sharif University of Technology Department of Computer.
Week 10Complexity of Algorithms1 Hard Computational Problems Some computational problems are hard Despite a numerous attempts we do not know any efficient.
Cryptography Lecture 2 Arpita Patra. Summary of Last Class  Introduction  Secure Communication in Symmetric Key setting >> SKE is the required primitive.
Presented by: Suparita Parakarn Kinzang Wangdi Research Report Presentation Computer Network Security.
CSCI 3160 Design and Analysis of Algorithms Tutorial 10 Chengyu Lin.
Zero-knowledge proof protocols 1 CHAPTER 12: Zero-knowledge proof protocols One of the most important, and at the same time very counterintuitive, primitives.
Umans Complexity Theory Lectures Lecture 1a: Problems and Languages.
Multi-Party Proofs and Computation Based in part on materials from Cornell class CS 4830.
Zero Knowledge Proofs Matthew Pouliotte Anthony Pringle Cryptography November 22, 2005 “A proof is whatever convinces me.” -~ Shimon Even.
CRYPTOGRAPHY AND NP-HARDNESS Andrej Bogdanov Chinese University of Hong Kong MACS Foundations of Cryptography| January 2016.
CS555Spring 2012/Topic 81 Cryptography CS 555 Topic 8: Pseudorandom Functions and CPA Security.
Complexity 24-1 Complexity Andrei Bulatov Interactive Proofs.
Zero-Knowledge Proofs Ben Hosp. Classical Proofs A proof is an argument for the truth or correctness of an assertion. A classical proof is an unambiguous.
Multi-Party Computation r n parties: P 1,…,P n  P i has input s i  Parties want to compute f(s 1,…,s n ) together  P i doesn’t want any information.
Zero Knowledge r Two parties:  All powerful prover P  Polynomially bounded verifier V r P wants to prove a statement to V with the following properties:
Probabilistic Algorithms
On the Size of Pairing-based Non-interactive Arguments
Multi-Party Proofs and Computation
Zero Knowledge Anupam Datta CMU Fall 2017
Topic 14: Random Oracle Model, Hashing Applications
Course Business I am traveling April 25-May 3rd
Topic 11: Authenticated Encryption + CCA-Security
Homework 5 Statistics Minimum Value 40 Maximum Value Range
Topic 25: Discrete LOG, DDH + Attacks on Plain RSA
Topic 7: Pseudorandom Functions and CPA-Security
Interactive Proofs Adapted from Oded Goldreich’s course lecture notes.
Zero-Knowledge Proofs
Cryptography CS 555 Digital Signatures Continued
Course Business Homework 5 Extended Practice Final Released Next Week
Fiat-Shamir for Highly Sound Protocols is Instantiable
Interactive Proofs Adapted from Oded Goldreich’s course lecture notes.
Interactive Proofs Adapted from Oded Goldreich’s course lecture notes.
Interactive Proofs and Secure Multi-Party Computation
09 Zero Knowledge Proof Hi All, One more topic to go!
Impossibility of SNARGs
Zero-Knowledge Proofs
ITIS 6200/8200 Chap 5 Dr. Weichao Wang.
Lecture 23 NP-Hard Problems
Interactive Proofs Adapted from Oded Goldreich’s course lecture notes.
Presentation transcript:

Topic 36: Zero-Knowledge Proofs Cryptography CS 555 Topic 36: Zero-Knowledge Proofs

Recap Commitment Schemes Coin Flipping Oblivious Transfer Secure Multiparty Computation (Security Models)

Secure Multiparty Computation (Adversary Models) Semi-Honest (“honest, but curious”) All parties follow protocol instructions, but… dishonest parties may be curious to violate privacy of others when possible Fully Malicious Model Adversarial Parties may deviate from the protocol arbitrarily Quit unexpectedly Send different messages It is much harder to achieve security in the fully malicious model Convert Secure Semi-Honest Protocol into Secure Protocol in Fully Malicious Mode? Tool: Zero-Knowledge Proofs Prove: My behavior in the protocol is consistent with honest party

Computational Indistinguishability Consider two distributions Xℓ and Yℓ (e.g., over strings of length ℓ). Let D be a distinguisher that attempts to guess whether a string s came from distribution Xℓ or Yℓ. The advantage of a distinguisher D is 𝐴𝑑𝑣 𝐷,ℓ = 𝑃𝑟 𝑠←Xℓ 𝐷 𝑠 =1 − 𝑃𝑟 𝑠←Yℓ 𝐷 𝑠 =1 Definition: We say that an ensemble of distributions 𝑋𝑛 𝑛∈ℕ and 𝑌𝑛 𝑛∈ℕ are computationally indistinguishable if for all PPT distinguishers D, there is a negligible function negl(n), such that we have 𝐴𝑑𝑣 𝐷,𝑛 ≤𝑛𝑒𝑔𝑙(𝑛)

Computational Indistinguishability Notation: 𝑋𝑛 𝑛∈ℕ ≡ 𝐶 𝑌𝑛 𝑛∈ℕ means that the ensembles are computationally indistinguishable. Consider two distributions Xℓ and Yℓ (e.g., over strings of length ℓ). Let D be a distinguisher that attempts to guess whether a string s came from distribution Xℓ or Yℓ. The advantage of a distinguisher D is 𝐴𝑑𝑣 𝐷,ℓ = 𝑃𝑟 𝑠←Xℓ 𝐷 𝑠 =1 − 𝑃𝑟 𝑠←Yℓ 𝐷 𝑠 =1 Definition: We say that an ensemble of distributions 𝑋𝑛 𝑛∈ℕ and 𝑌𝑛 𝑛∈ℕ are computationally indistinguishable if for all PPT distinguishers D, there is a negligible function negl(n), such that we have 𝐴𝑑𝑣 𝐷,𝑛 ≤𝑛𝑒𝑔𝑙(𝑛)

P vs NP P problems that can be solved in polynomial time NP --- problems whose solutions can be verified in polynomial time Examples: SHORT-PATH, COMPOSITE, 3SAT, CIRCUIT-SAT, 3COLOR, DDH Input: 𝐴=𝑔 𝑥 1 , B= 𝑔 𝑥 2 and Z Goal: Decide if Z= 𝑔 𝑥 1 𝑥 2 or Z≠ 𝑔 𝑥 1 𝑥 2 . NP-Complete --- hardest problems in NP (e.g., all problems can be reduced to 3SAT) Witness A short (polynomial size) string which allows a verify to check for membership DDH Witness: x1,x2.

Decisional Diffie-Hellman Problem (DDH) Let z0= 𝑔 𝑥 1 𝑥 2 and let z1= 𝑔 𝑟 , where x1,x2 and r are random Attacker is given 𝐴=𝑔 𝑥 1 , B= 𝑔 𝑥 2 and 𝑧𝑏 (for a random bit b) Attackers goal is to guess b DDH Assumption: For all PPT A there is a negligible function negl such that A succeeds with probability at most ½ + negl(n). Suppose that Alice knows that 𝑧𝑏= 𝑔 𝑥 1 𝑥 2 and wants to convince Bob that this is true. Method 1: Send x1 (or x2) to Bob wo can verify that 𝐴=𝑔 𝑥 1 and that 𝑧𝑏= B 𝑥 1 = 𝑔 𝑥 1 𝑥 2 .

Decisional Diffie-Hellman Problem (DDH) Let z0= 𝑔 𝑥 1 𝑥 2 and let z1= 𝑔 𝑟 , where x1,x2 and r are random Attacker is given 𝐴=𝑔 𝑥 1 , B= 𝑔 𝑥 2 and 𝑧𝑏 (for a random bit b) Attackers goal is to guess b DDH Assumption: For all PPT A there is a negligible function negl such that A succeeds with probability at most ½ + negl(n). Suppose that Alice knows that 𝑧𝑏= 𝑔 𝑥 1 𝑥 2 and wants to convince Bob that this is true. Suppose that Alice also doesn’t want Bob to learn any information about 𝑥 1 or 𝑥 2 . Is this possible?

Zero-Knowledge Proof Two parties: Prover P (PPT) and Verifier V (PPT) (P is given witness for claim e.g., ) Completeness: If claim is true honest prover can always convince honest verifier to accept. Soundness: If claim is false then Verifier should reject with probability at least ½. (Even if the prover tries to cheat) Zero-Knowledge: Verifier doesn’t learn anything about prover’s input from the protocol (other than that the claim is true). Formalizing this last statement is tricky Zero-Knowledge: should hold even if the attacker is dishonest!

Zero-Knowledge Proof Trans(1n,V’,P,x,w,rp,rv) transcript produced when V’ and P interact V’ is given input x (the problem instance e.g., 𝐴=𝑔 𝑥 1 , B= 𝑔 𝑥 2 and 𝑧𝑏 ) P is given input x and w (a witness for the claim e.g., x1 or x2) V’ and P use randomness rp and rv respectively Security parameter is n e.g., for encryption schemes, commitment schemes etc… 𝑿𝒏= Trans(1n,V’,P,x,w) is a distribution over transcripts (over the randomness rp,rv) (Blackbox Zero-Knowledge): There is a PPT simulator 𝑆 such that for every V’ (possibly cheating) S, with oracle access to V’, can simulate 𝑋𝑛 without a witness w. Formally, 𝑋𝑛 𝑛∈ℕ ≡ 𝐶 𝑆 𝑉′(.) 𝑥, 1 𝑛 𝑛∈ℕ

Simulator S is not given witness w Zero-Knowledge Proof Trans(1n,V’,P,x,w,rp,rv) transcript produced when V’ and P interact V’ is given input x (the problem instance e.g., 𝐴=𝑔 𝑥 1 , B= 𝑔 𝑥 2 and 𝑧𝑏 ) P is given input x and w (a witness for the claim e.g., x1 and x2) V’ and P’ use randomness rp and rw respectively Security parameter is n e.g., for encryption schemes, commitment schemes etc… 𝑿𝒏= Trans(1n,V’,P’,x,w) is a distribution over transcripts (over the randomness rp,rw) (Blackbox Zero-Knowledge): There is a PPT simulator 𝑆 such that for every V’ (possibly cheating) S, with oracle access to V’, can simulate 𝑋𝑛 without a witness w. Formally, 𝑋𝑛 𝑛∈ℕ ≡ 𝐶 𝑆 𝑉′(.) 𝑥, 1 𝑛 𝑛∈ℕ Oracle V’(x,trans) will output the next message V’ would output given current transcript trans Simulator S is not given witness w

Zero-Knowledge Proof for DDH 𝑨 ′ = 𝒈 𝒚 , 𝑩 ′ = 𝑩 𝒚 𝒄𝒉𝒂𝒍𝒍𝒆𝒏𝒈𝒆 𝒄∈ 𝟎,𝟏 Response 𝒓= 𝒚 𝒊𝒇 𝒄=𝟎 𝒚+ 𝑥 1 𝑖𝑓 𝑐=1 Alice (prover); x1 (or x2) 𝐴=𝑔 𝑥 1 , B= 𝑔 𝑥 2 and 𝑍= 𝑔 𝑥 1 𝑥 2 Bob (verifier); 𝐴=𝑔 𝑥 1 , B= 𝑔 𝑥 2 and 𝑍= 𝑔 𝑥 1 𝑥 2 𝑫𝒆𝒄𝒊𝒔𝒊𝒐𝒏 𝒅= 𝟏 𝒊𝒇 𝒄=𝟎 𝒂𝒏𝒅 𝑨 ′ = 𝒈 𝒓 𝒂𝒏𝒅 𝑩 ′ = 𝑩 𝒓 𝟏 𝒊𝒇 𝒄=𝟏 𝒂𝒏𝒅 𝑨𝑨 ′ = 𝒈 𝒓 𝑎𝑛𝑑 𝐵 ′ = 𝐵 𝑟 /𝑍 0 𝑜𝑡ℎ𝑒𝑟𝑤𝑖𝑠𝑒

Zero-Knowledge Proof for DDH 𝑨 ′ = 𝒈 𝒚 , 𝑩 ′ = 𝑩 𝒚 𝒄𝒉𝒂𝒍𝒍𝒆𝒏𝒈𝒆 𝒄∈ 𝟎,𝟏 Response 𝒓= 𝒚 𝒊𝒇 𝒄=𝟎 𝒚+ 𝑥 1 𝑖𝑓 𝑐=1 Alice (prover); x1 (or x2) 𝐴=𝑔 𝑥 1 , B= 𝑔 𝑥 2 and 𝑍= 𝑔 𝑥 1 𝑥 2 Bob (verifier); 𝐴=𝑔 𝑥 1 , B= 𝑔 𝑥 2 and 𝑍= 𝑔 𝑥 1 𝑥 2 𝑫𝒆𝒄𝒊𝒔𝒊𝒐𝒏 𝒅= 𝟏 𝒊𝒇 𝒄=𝟎 𝒂𝒏𝒅 𝑨 ′ = 𝒈 𝒓 𝒂𝒏𝒅 𝑩 ′ = 𝑩 𝒓 𝟏 𝒊𝒇 𝒄=𝟏 𝒂𝒏𝒅 𝑨𝑨 ′ = 𝒈 𝒓 𝑎𝑛𝑑 𝐵 ′ = 𝐵 𝑟 /𝑍 0 𝑜𝑡ℎ𝑒𝑟𝑤𝑖𝑠𝑒 Correctness: If Alice and Bob are honest then Bob will always accept

Zero-Knowledge Proof for DDH (c=0) 𝒈 𝒓 = 𝒈 𝒚 = 𝑨 ′ 𝑩 𝒓 = 𝑩 𝒚 = 𝑩 ′ 𝑨 ′ = 𝒈 𝒚 , 𝑩 ′ = 𝑩 𝒚 𝒄𝒉𝒂𝒍𝒍𝒆𝒏𝒈𝒆 𝒄∈ 𝟎,𝟏 Response 𝒓= 𝒚 𝒊𝒇 𝒄=𝟎 𝒚+ 𝑥 1 𝑖𝑓 𝑐=1 Alice (prover); x1 (or x2) 𝐴=𝑔 𝑥 1 , B= 𝑔 𝑥 2 and 𝑍= 𝑔 𝑥 1 𝑥 2 Bob (verifier); 𝐴=𝑔 𝑥 1 , B= 𝑔 𝑥 2 and 𝑍= 𝑔 𝑥 1 𝑥 2 𝑫𝒆𝒄𝒊𝒔𝒊𝒐𝒏 𝒅= 𝟏 𝒊𝒇 𝒄=𝟎 𝒂𝒏𝒅 𝑨 ′ = 𝒈 𝒓 𝒂𝒏𝒅 𝑩 ′ = 𝑩 𝒓 𝟏 𝒊𝒇 𝒄=𝟏 𝒂𝒏𝒅 𝑨𝑨 ′ = 𝒈 𝒓 𝑎𝑛𝑑 𝐵 ′ = 𝐵 𝑟 /𝑍 0 𝑜𝑡ℎ𝑒𝑟𝑤𝑖𝑠𝑒 Correctness: If Alice and Bob are honest then Bob will always accept

Zero-Knowledge Proof for DDH (c=1) 𝒈 𝒓 = 𝒈 𝒚+ 𝑥 1 = 𝒈 𝒚 𝒈 𝑥 1 =𝑨 𝑨 ′ 𝑨 ′ = 𝒈 𝒚 , 𝑩 ′ = 𝑩 𝒚 𝒄𝒉𝒂𝒍𝒍𝒆𝒏𝒈𝒆 𝒄∈ 𝟎,𝟏 Response 𝒓= 𝒚 𝒊𝒇 𝒄=𝟎 𝒚+ 𝑥 1 𝑖𝑓 𝑐=1 Alice (prover); x1 (or x2) 𝐴=𝑔 𝑥 1 , B= 𝑔 𝑥 2 and 𝑍= 𝑔 𝑥 1 𝑥 2 Bob (verifier); 𝐴=𝑔 𝑥 1 , B= 𝑔 𝑥 2 and 𝑍= 𝑔 𝑥 1 𝑥 2 𝑫𝒆𝒄𝒊𝒔𝒊𝒐𝒏 𝒅= 𝟏 𝒊𝒇 𝒄=𝟎 𝒂𝒏𝒅 𝑨 ′ = 𝒈 𝒓 𝒂𝒏𝒅 𝑩 ′ = 𝑩 𝒓 𝟏 𝒊𝒇 𝒄=𝟏 𝒂𝒏𝒅 𝑨𝑨 ′ = 𝒈 𝒓 𝑎𝑛𝑑 𝐵 ′ = 𝐵 𝑟 /𝑍 0 𝑜𝑡ℎ𝑒𝑟𝑤𝑖𝑠𝑒 Correctness: If Alice and Bob are honest then Bob will always accept

Zero-Knowledge Proof for DDH (c=1) 𝑩 𝒓 /𝒁= 𝒈 𝒚+ 𝑥 1 𝑥 2 / 𝑔 𝑥 1 𝑥 2 = 𝒈 𝒚 𝑥 2 = 𝑩 ′ 𝑨 ′ = 𝒈 𝒚 , 𝑩 ′ = 𝑩 𝒚 𝒄𝒉𝒂𝒍𝒍𝒆𝒏𝒈𝒆 𝒄∈ 𝟎,𝟏 Response 𝒓= 𝒚 𝒊𝒇 𝒄=𝟎 𝒚+ 𝑥 1 𝑖𝑓 𝑐=1 Alice (prover); x1 (or x2) 𝐴=𝑔 𝑥 1 , B= 𝑔 𝑥 2 and 𝑍= 𝑔 𝑥 1 𝑥 2 Bob (verifier); 𝐴=𝑔 𝑥 1 , B= 𝑔 𝑥 2 and 𝑍= 𝑔 𝑥 1 𝑥 2 𝑫𝒆𝒄𝒊𝒔𝒊𝒐𝒏 𝒅= 𝟏 𝒊𝒇 𝒄=𝟎 𝒂𝒏𝒅 𝑨 ′ = 𝒈 𝒓 𝒂𝒏𝒅 𝑩 ′ = 𝑩 𝒓 𝟏 𝒊𝒇 𝒄=𝟏 𝒂𝒏𝒅 𝑨𝑨 ′ = 𝒈 𝒓 𝑎𝑛𝑑 𝐵 ′ = 𝐵 𝑟 /𝑍 0 𝑜𝑡ℎ𝑒𝑟𝑤𝑖𝑠𝑒 Correctness: If Alice and Bob are honest then Bob will always accept

Zero-Knowledge Proof for DDH 𝑨 ′ = 𝒈 𝒚 , 𝑩 ′ = 𝑩 𝒚 𝒄𝒉𝒂𝒍𝒍𝒆𝒏𝒈𝒆 𝒄∈ 𝟎,𝟏 Response 𝒓= 𝒚 𝒊𝒇 𝒄=𝟎 𝒚+ 𝑥 1 𝑖𝑓 𝑐=1 Alice (prover); x1 (or x2) 𝐴=𝑔 𝑥 1 , B= 𝑔 𝑥 2 and 𝑍≠ 𝑔 𝑥 1 𝑥 2 Bob (verifier); 𝐴=𝑔 𝑥 1 , B= 𝑔 𝑥 2 and 𝑍≠ 𝑔 𝑥 1 𝑥 2 𝑫𝒆𝒄𝒊𝒔𝒊𝒐𝒏 𝒅= 𝟏 𝒊𝒇 𝒄=𝟎 𝒂𝒏𝒅 𝑨 ′ = 𝒈 𝒓 𝒂𝒏𝒅 𝑩 ′ = 𝑩 𝒓 𝟏 𝒊𝒇 𝒄=𝟏 𝒂𝒏𝒅 𝑨𝑨 ′ = 𝒈 𝒓 𝑎𝑛𝑑 𝐵 ′ = 𝐵 𝑟 /𝑍 0 𝑜𝑡ℎ𝑒𝑟𝑤𝑖𝑠𝑒 Soundness: If 𝑍≠ 𝑔 𝑥 1 𝑥 2 then (honest) Bob will reject w.p. ½ (even if Alice cheats)

Zero-Knowledge Proof for DDH Case 1: for all y either 𝑨 ′ ≠ 𝒈 𝒚 or 𝑩 ′ ≠ 𝑩 𝒚 →𝑷𝒓 𝒓𝒆𝒋𝒆𝒄𝒕 ≥𝑷𝒓 𝒄=𝟎 = 𝟏 𝟐 𝑨 ′ = 𝒈 𝒚 , 𝑩 ′ = 𝑩 𝒚 𝒄𝒉𝒂𝒍𝒍𝒆𝒏𝒈𝒆 𝒄∈ 𝟎,𝟏 Response 𝒓= 𝒚 𝒊𝒇 𝒄=𝟎 𝒚+ 𝑥 1 𝑖𝑓 𝑐=1 Alice (prover); x1 (or x2) 𝐴=𝑔 𝑥 1 , B= 𝑔 𝑥 2 and 𝑍≠ 𝑔 𝑥 1 𝑥 2 Bob (verifier); 𝐴=𝑔 𝑥 1 , B= 𝑔 𝑥 2 and 𝑍≠ 𝑔 𝑥 1 𝑥 2 𝑫𝒆𝒄𝒊𝒔𝒊𝒐𝒏 𝒅= 𝟏 𝒊𝒇 𝒄=𝟎 𝒂𝒏𝒅 𝑨 ′ = 𝒈 𝒓 𝒂𝒏𝒅 𝑩 ′ = 𝑩 𝒓 𝟏 𝒊𝒇 𝒄=𝟏 𝒂𝒏𝒅 𝑨𝑨 ′ = 𝒈 𝒓 𝑎𝑛𝑑 𝐵 ′ = 𝐵 𝑟 /𝑍 0 𝑜𝑡ℎ𝑒𝑟𝑤𝑖𝑠𝑒 Soundness: If 𝑍≠ 𝑔 𝑥 1 𝑥 2 cheats then (honest) Bob will reject w.p. ½ (even if Alice cheats)

Zero-Knowledge Proof for DDH Case 1: 𝑨 ′ = 𝒈 𝒚 and, 𝑩 ′ = 𝑩 𝒚 If Bob accepts (c=1) then 1) r =x1+y since  𝑨𝑨 ′ = 𝒈 𝒚+ 𝒙 𝟏 2) 𝒁= 𝑩 𝒓 𝑩′ = 𝒈 x2 x1+y −𝑦x2 = 𝒈 x2 x1 𝑨 ′ = 𝒈 𝒚 , 𝑩 ′ = 𝑩 𝒚 𝒄𝒉𝒂𝒍𝒍𝒆𝒏𝒈𝒆 𝒄∈ 𝟎,𝟏 Response 𝒓= 𝒚 𝒊𝒇 𝒄=𝟎 𝒚+ 𝑥 1 𝑖𝑓 𝑐=1 Alice (prover); x1 (or x2) 𝐴=𝑔 𝑥 1 , B= 𝑔 𝑥 2 and 𝑍≠ 𝑔 𝑥 1 𝑥 2 Bob (verifier); 𝐴=𝑔 𝑥 1 , B= 𝑔 𝑥 2 and 𝑍≠ 𝑔 𝑥 1 𝑥 2 𝑫𝒆𝒄𝒊𝒔𝒊𝒐𝒏 𝒅= 𝟏 𝒊𝒇 𝒄=𝟎 𝒂𝒏𝒅 𝑨 ′ = 𝒈 𝒓 𝒂𝒏𝒅 𝑩 ′ = 𝑩 𝒓 𝟏 𝒊𝒇 𝒄=𝟏 𝒂𝒏𝒅 𝑨𝑨 ′ = 𝒈 𝒓 𝑎𝑛𝑑 𝐵 ′ = 𝐵 𝑟 /𝑍 0 𝑜𝑡ℎ𝑒𝑟𝑤𝑖𝑠𝑒 Soundness: If 𝑍≠ 𝑔 𝑥 1 𝑥 2 cheats then (honest) Bob will reject w.p. ½ (even if Alice cheats)

Zero-Knowledge Proof for DDH 𝑨′= 𝒈 𝒚 ,𝑩 ′ = 𝑩 𝒚 if b=0 𝑨′= 𝒈 𝒚 /𝑨,𝑩 ′ = 𝐵 𝑦 𝑍 𝒐𝒕𝒉𝒆𝒓𝒘𝒊𝒔𝒆 𝒄𝒉𝒂𝒍𝒍𝒆𝒏𝒈𝒆 𝒄∈ 𝟎,𝟏 Response 𝒓= 𝒚 𝒊𝒇 𝒄=𝒃 ⊥ 𝑜𝑡ℎ𝑒𝑟𝑤𝑖𝑠𝑒 Simulator; Cheat bit b, Random y 𝐴=𝑔 𝑥 1 , B= 𝑔 𝑥 2 and 𝑍= 𝑔 𝑥 1 𝑥 2 Bob (verifier); 𝐴=𝑔 𝑥 1 , B= 𝑔 𝑥 2 and 𝑍= 𝑔 𝑥 1 𝑥 2 𝑫𝒆𝒄𝒊𝒔𝒊𝒐𝒏 𝒅= 𝟏 𝒊𝒇 𝒄=𝟎 𝒂𝒏𝒅 𝑨 ′ = 𝒈 𝒓 𝒂𝒏𝒅 𝑩 ′ = 𝑩 𝒓 𝟏 𝒊𝒇 𝒄=𝟏 𝒂𝒏𝒅 𝑨𝑨 ′ = 𝒈 𝒓 𝑎𝑛𝑑 𝐵 ′ = 𝐵 𝑟 /𝑍 0 𝑜𝑡ℎ𝑒𝑟𝑤𝑖𝑠𝑒 Zero-Knowledge: Simulator can produce identical transcripts (Repeat until 𝑟≠⊥)

Zero-Knowledge Proof for DDH 𝑨′= 𝒈 𝒚 ,𝑩 ′ = 𝑩 𝒚 if b=0 𝑨′= 𝒈 𝒚 /𝑨,𝑩 ′ = 𝐵 𝑟 𝑍 𝒐𝒕𝒉𝒆𝒓𝒘𝒊𝒔𝒆 𝒄𝒉𝒂𝒍𝒍𝒆𝒏𝒈𝒆 𝒄∈ 𝟎,𝟏 Response 𝒓= 𝒚 𝒊𝒇 𝒄=𝒃 ⊥ 𝑜𝑡ℎ𝑒𝑟𝑤𝑖𝑠𝑒 Simulator S; Cheat bit b, Random y 𝐴=𝑔 𝑥 1 , B= 𝑔 𝑥 2 and 𝑍= 𝑔 𝑥 1 𝑥 2 Bob (verifier); 𝐴=𝑔 𝑥 1 , B= 𝑔 𝑥 2 and 𝑍= 𝑔 𝑥 1 𝑥 2 𝑫𝒆𝒄𝒊𝒔𝒊𝒐𝒏 𝒅= 𝟏 𝒊𝒇 𝒄=𝟎 𝒂𝒏𝒅 𝑨 ′ = 𝒈 𝒓 𝒂𝒏𝒅 𝑩 ′ = 𝑩 𝒓 𝟏 𝒊𝒇 𝒄=𝟏 𝒂𝒏𝒅 𝑨𝑨 ′ = 𝒈 𝒓 𝑎𝑛𝑑 𝐵 ′ = 𝐵 𝑟 /𝑍 0 𝑜𝑡ℎ𝑒𝑟𝑤𝑖𝑠𝑒 Zero-Knowledge: If this is a valid tuple then 𝑋𝑛 𝑛∈ℕ ≡ 𝑆 𝑉′(.) 𝑥, 1 𝑛 𝑛∈ℕ

Zero-Knowledge Proof for DDH 𝑨′= 𝒈 𝒚 ,𝑩 ′ = 𝑩 𝒚 if b=0 𝑨′= 𝒈 𝒚 /𝑨,𝑩 ′ = 𝐵 𝑟 𝑍 𝒐𝒕𝒉𝒆𝒓𝒘𝒊𝒔𝒆 𝒄𝒉𝒂𝒍𝒍𝒆𝒏𝒈𝒆 𝒄∈ 𝟎,𝟏 Response 𝒓= 𝒚 𝒊𝒇 𝒄=𝒃 ⊥ 𝑜𝑡ℎ𝑒𝑟𝑤𝑖𝑠𝑒 Simulator; Cheat bit b, Random y 𝐴=𝑔 𝑥 1 , B= 𝑔 𝑥 2 and 𝑍= 𝑔 𝑥 1 𝑥 2 Bob (verifier); 𝐴=𝑔 𝑥 1 , B= 𝑔 𝑥 2 and 𝑍= 𝑔 𝑥 1 𝑥 2 𝑫𝒆𝒄𝒊𝒔𝒊𝒐𝒏 𝒅= 𝟏 𝒊𝒇 𝒄=𝟎 𝒂𝒏𝒅 𝑨 ′ = 𝒈 𝒓 𝒂𝒏𝒅 𝑩 ′ = 𝑩 𝒓 𝟏 𝒊𝒇 𝒄=𝟏 𝒂𝒏𝒅 𝑨𝑨 ′ = 𝒈 𝒓 𝑎𝑛𝑑 𝐵 ′ = 𝐵 𝑟 /𝑍 0 𝑜𝑡ℎ𝑒𝑟𝑤𝑖𝑠𝑒 Zero-Knowledge: If this is NOT a valid tuple then 𝑋𝑛 𝑛∈ℕ ≡𝐶 𝑆 𝑉′(.) 𝑥, 1 𝑛 𝑛∈ℕ (Otherwise, we can use distinguisher to break DDH)

Zero-Knowledge Proof for all NP CLIQUE Input: Graph G=(V,E) and integer k>0 Question: Does G have a clique of size k? CLIQUE is NP-Complete Any problem in NP reduces to CLIQUE A zero-knowledge proof for CLIQUE yields proof for all of NP via reduction Prover: Knows k vertices v1,…,vk in G=(V,E) that form a clique

Zero-Knowledge Proof for all NP C D 𝜎 𝐺 E H G F A B J I L K Commitment to 𝐴 𝜎 𝐺 𝐶𝑜𝑚 0, 𝑟 𝐴,𝐴 ⋯ 𝐶𝑜𝑚 1, 𝑟 𝐴,𝐿 ⋮ ⋱ ⋮ 𝐶𝑜𝑚 1, 𝑟 𝐿,𝐴 ⋯ 𝐶𝑜𝑚 0, 𝑟 𝐿,𝐿 Adjacency matrix 𝐴 𝜎 𝐺 0 ⋯ 1 ⋮ ⋱ ⋮ 1 ⋯ 0 A L A L A A L L

Zero-Knowledge Proof for all NP C Zero-Knowledge Proof for all NP D E H G F A B Prover: Knows k vertices v1,…,vk in G=(V,E) that for a clique Prover commits to a permutation 𝜎 over V Prover commits to the adjacency matrix 𝐴 𝜎 𝐺 of 𝜎(G) Verifier sends challenge c (either 1 or 0) If c=0 then prover reveals 𝜎 and adjacency matrix 𝐴 𝜎 𝐺 Verifier confirms that adjacency matrix is correct for 𝜎(G) If c=1 then prover reveals the submatrix formed by first rows/columns of 𝐴 𝜎 𝐺 corresponding to 𝜎 𝑣 1 ,…,𝜎 𝑣 𝑘 Verifier confirms that the submatrix forms a clique. J I L K

Zero-Knowledge Proof for all NP Completeness: Honest prover can always make honest verifier accept Soundness: If prover commits to adjacency matrix 𝐴 𝜎 𝐺 of 𝜎(G) and can reveal a clique in submatrix of 𝐴 𝜎 𝐺 then G itself contains a k- clique. Proof invokes binding property of commitment scheme. Zero-Knowledge: Simulator cheats and either commits to wrong adjacency matrix or cannot reveal clique. Repeat until we produce a successful transcript. Indistinguishability of transcripts follows from hiding property of commitment scheme.

Next Class: Multiparty Computation Read Wikipedia entry on Garbled Circuits https://en.wikipedia.org/wiki/Garbled_circuit