6.897: Selected Topics in Cryptography Lecturers: Ran Canetti, Ron Rivest Scribe?

Slides:



Advertisements
Similar presentations
On the (Im)Possibility of Arthur-Merlin Witness Hiding Protocols Iftach Haitner, Alon Rosen and Ronen Shaltiel 1.
Advertisements

Strict Polynomial-Time in Simulation and Extraction Boaz Barak & Yehuda Lindell.
Foundations of Cryptography Lecture 10 Lecturer: Moni Naor.
Foundations of Cryptography Lecture 11 Lecturer: Moni Naor.
Polling With Physical Envelopes A Rigorous Analysis of a Human–Centric Protocol Tal Moran Joint work with Moni Naor.
1 Identity-Based Zero-Knowledge Jonathan Katz Rafail Ostrovsky Michael Rabin U. Maryland U.C.L.A. Harvard U.
Computational Security. Overview Goal: Obtain computational security against an active adversary. Hope: under a reasonable cryptographic assumption, obtain.
Isolated PoK and Isolated ZK Ivan Damgård, Jesper Buus Nielsen and Daniel Wichs.
Foundations of Cryptography Lecture 13 Lecturer: Moni Naor.
Introduction to Modern Cryptography, Lecture 12 Secure Multi-Party Computation.
Eran Omri, Bar-Ilan University Joint work with Amos Beimel and Ilan Orlov, BGU Ilan Orlov…!??!!
1 Vipul Goyal Abhishek Jain Rafail Ostrovsky Silas Richelson Ivan Visconti Microsoft Research India MIT and BU UCLA University of Salerno, Italy Constant.
On the Composition of Public- Coin Zero-Knowledge Protocols Rafael Pass (Cornell) Wei-Lung Dustin Tseng (Cornell) Douglas Wiktröm (KTH) 1.
Nir Bitansky and Omer Paneth. Interactive Proofs.
Modeling Insider Attacks on Group Key Exchange Protocols Jonathan Katz Ji Sun Shin University of Maryland.
Zero-Knowledge Proofs J.W. Pope M.S. – Mathematics May 2004.
Yan Huang, Jonathan Katz, David Evans University of Maryland, University of Virginia Efficient Secure Two-Party Computation Using Symmetric Cut-and-Choose.
Foundations of Cryptography Lecture 12 Lecturer: Moni Naor.
Complexity 18-1 Complexity Andrei Bulatov Probabilistic Algorithms.
1 Introduction to Computability Theory Lecture15: Reductions Prof. Amos Israeli.
1 Introduction to Computability Theory Lecture12: Reductions Prof. Amos Israeli.
A Parallel Repetition Theorem for Any Interactive Argument Iftach Haitner Microsoft Research TexPoint fonts used in EMF. Read the TexPoint manual before.
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.
Perfect and Statistical Secrecy, probabilistic algorithms, Definitions of Easy and Hard, 1-Way FN -- formal definition.
Co-operative Private Equality Test(CPET) Ronghua Li and Chuan-Kun Wu (received June 21, 2005; revised and accepted July 4, 2005) International Journal.
Zero-Knowledge Proof System Slides by Ouzy Hadad, Yair Gazelle & Gil Ben-Artzi Adapted from Ely Porat course lecture notes.
Lecturer: Moni Naor Foundations of Cryptography Lecture 12: Commitment and Zero-Knowledge.
Jointly Restraining Big Brother: Using cryptography to reconcile privacy with data aggregation Ran Canetti IBM Research.
1 Zaps and Apps Cynthia Dwork Microsoft Research Moni Naor Weizmann Institute of Science.
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.
How to Go Beyond the Black-Box Simulation Barrier Boaz Barak.
Introduction to Modern Cryptography, Lecture 9 More about Digital Signatures and Identification.
CS555Spring 2012/Topic 41 Cryptography CS 555 Topic 4: Computational Approach to Cryptography.
K-Anonymous Message Transmission Luis von Ahn Andrew Bortz Nick Hopper The Aladdin Center Carnegie Mellon University.
Prof. Bodik CS 164 Lecture 16, Fall Global Optimization Lecture 16.
Computer Security CS 426 Lecture 3
Slide 1 Vitaly Shmatikov CS 380S Oblivious Transfer and Secure Multi-Party Computation With Malicious Parties.
Foundations of Cryptography Lecture 2 Lecturer: Moni Naor.
Lecture 12 Commitment Schemes and Zero-Knowledge Protocols Stefan Dziembowski University of Rome La Sapienza critto09.googlepages.com.
CMSC 414 Computer and Network Security Lecture 3 Jonathan Katz.
Quadratic Residuosity and Two Distinct Prime Factor ZK Protocols By Stephen Hall.
Information-Theoretic Security and Security under Composition Eyal Kushilevitz (Technion) Yehuda Lindell (Bar-Ilan University) Tal Rabin (IBM T.J. Watson)
How to play ANY mental game
Ragesh Jaiswal Indian Institute of Technology Delhi Threshold Direct Product Theorems: a survey.
CS555Spring 2012/Topic 51 Cryptography CS 555 Topic 5: Pseudorandomness and Stream Ciphers.
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.
CS151 Complexity Theory Lecture 13 May 11, Outline proof systems interactive proofs and their power Arthur-Merlin games.
Presented by: Suparita Parakarn Kinzang Wangdi Research Report Presentation Computer Network Security.
Password Mistyping in Two-Factor Authenticated Key Exchange Vladimir KolesnikovCharles Rackoff Bell LabsU. Toronto ICALP 2008.
Interactive proof systems Section 10.4 Giorgi Japaridze Theory of Computability.
6.897: Advanced Topics in Cryptography Lecturers: Ran Canetti, Ron Rivest.
Zero-knowledge proof protocols 1 CHAPTER 12: Zero-knowledge proof protocols One of the most important, and at the same time very counterintuitive, primitives.
Multi-Party Proofs and Computation Based in part on materials from Cornell class CS 4830.
Universally Composable computation with any number of faults Ran Canetti IBM Research Joint works with Marc Fischlin, Yehuda Lindell, Rafi Ostrovsky, Tal.
6.897: Selected Topics in Cryptography Lectures 11 and 12 Lecturers: Ran Canetti, Ron Rivest Scribes?
6.897: Selected Topics in Cryptography Lectures 9 and 10 Lecturers: Ran Canetti, Ron Rivest Scribes?
Andrew Lindell Aladdin Knowledge Systems and Bar-Ilan University 04/08/08 CRYP-106 Efficient Fully-Simulatable Oblivious Transfer.
Dominique Unruh Quantum Proofs of Knowledge Dominique Unruh University of Tartu Tartu, April 12, 2012.
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.
Topic 36: Zero-Knowledge Proofs
Topic 14: Random Oracle Model, Hashing Applications
Course Business I am traveling April 25-May 3rd
Cryptographic protocols 2016, Lecture 12 Sigma protocols
cryptographic protocols 2014, lecture 12 Getting full zero knowledge
Fiat-Shamir for Highly Sound Protocols is Instantiable
Interactive Proofs Adapted from Oded Goldreich’s course lecture notes.
Presentation transcript:

6.897: Selected Topics in Cryptography Lecturers: Ran Canetti, Ron Rivest Scribe?

Lectures 3 and 4: ZK as function evaluation and sequential composition of ZK Review the definition of ZK and PoK Give SFE-style definition of ZK and show equivalence to the standard one. The Blum protocol for Hamiltonicity: –Commitment schemes –The protocol –Analysis of a single instance: Weak soundness –Analysis of the iterated protocol using the composition theorem.

Review of the definition : P1P1 P3P3 P4P4 P2P2 F P1P1 P3P3 P4P4 P2P2 S A Z Protocol P securely realizes F if: For any adversary A There exists an adversary S Such that no environment Z can tell whether it interacts with: - A run of with A - An ideal run with F and S Z Ideal process: Protocol execution:

Review: Zero-Knowledge [Goldwasser-Micali-Rackoff 85] Let R(x,w) be a polytime relation. A ZK protocol for R is a protocol for two parties P,V, where P has (x,w), V has no input, and the following holds: Completeness: Prob[(P(x,w),V)=(x,R(x,w))]~1 ( if P,V are honest then V outputs x and the value of R(x,w)) Soundness (I): For all P* and all z, Prob[(P(z),V)=(x,1) ^ ( R(x,w)=0 for all w ) ]~0 Differences from the standard definition: 1.In the standard def, V has x as input, whereas here V has no input and instead it outputs P’s input x. (But it is easy to translate a protocol from one def to the other.) 2.The standard definition of ZK doesn’t make any completeness requirement when R(x,w)=0. Here we require that V outputs (x,0). (But this is easy to achieve, by having P send (x,”reject”) to V.)

Review: Zero-Knowledge [Goldwasser-Micali-Rackoff 85] Zero-Knowledge: For any verifier V * there exists a machine S such that for all x,w,z, S(x,R(x,w),z) V * P(x,w) (z). “Whatever V * can gather from interacting with P, it could have computed by itself given R(x,w).” ( Distribution ensembles D,D’ are computationally indistinguishable (written D D’) if for any polytime distinguisher A, for all c,d, large enough k, and a with |a|< k d, Prob x  Dk,a [A( 1 k,a,x)=1]- Prob x  D’k,a [A( 1 k,a,x)=1]< 1/k c )

Review: Proof of Knowledge [Goldwasser-Micali-Rackoff, Goldreich-Oren, Tompa-Woll, Bellare-Goldreich, Halevi-Micali, Lindell, …] Let R(x,w) be a polytime relation. A PoK protocol for R is a protocol for two parties P,V, where P has (x,w), and the following holds: Soundness (II), or “extractability”: For any prover P* there exists a “knowledge extractor” E, such that for any z, we have E(z) = (t,x*,w*) and t,(x*,R(x*,w*)) AT(P*(z),V)), where AT is the “augmented transcript” of an execution of (P*(z),V)), namely the sequence of exchanged messages, plus the output of V. “ V is assured that, in each accepting interaction, it is possible to explicitly extract the witness from the prover’s input. Furthermore, the extracted witness is the “appropriate witness” for this interaction.” (This specific formulation is in the spirit of the “enhanced PoK” of [Lindell 03].)

ZK PoK as an SFE task Let R(x,w) be a binary relation. Consider the 2-party function: F zk R ((x,w), -, - ) = ( -, (x,R(x,w)), (x,R(x,w))) Theorem: A two-party protocol securely realizes F zk R (with respect to non-adaptive adversaries) if and only if it is a ZK PoK for R. Proof: Homework.

Example: Blum’s protocol for Graph Hamiltonicity [Blum 8?]

Commitment schemes Intuitive idea [Blum 82]: Commitment is a two-party, two-step process: –Commitment, where the committer C gives a value x to the receiver V “in an envelope” –Decommitment, where C “opens” the envelope for V. We want to guarantee: –Secrecy: at the end of the commitment step V “has no knowledge” of what x is. –Binding: Once the commitment step is done, there is a single value x fixed, such that C can successfully decommit only the value x.

Commitment schemes: A formalization A basic formalization (commitments for one bit): A tuple (C,D,V c,V d ) of ITMs is a bit commitment scheme if: Completeness: For all b in {0,1}, Prob[(C(b),V c )  (s c,s v ), (D(s c ),V d (s v ))  (-,b)] ~ 1 Secrecy: For all V*, (C(0),V*) (C(1),V*). Binding: For all C*,D*, Prob[(C*,V c )  (s c,s v ), (D*(s c,0),V d (s v ))  (-,0), (D*(s c,1),V d (s v ))  (-,1)] ~ 0

The basic Blum protocol Common relation: HC(G,H)=1 if H is a Hamiltonian cycle in graph G. Common input: k-node graph G Secret witness for P: Hamiltonian cycle H in G. P(G,H): If HC(G,H)=0 then send (G,”reject”) to V. Else, choose a random permutation p on [1..k] and send (G, C(p(G)), C(p)) to V. V: If received (G,”reject”) then output (G,0). Else, send a random bit b to P. P: If b=0 then decommit to all commitments of message 1. If b=1 then open only the commitments of the edges in H. V: Accept (output (G,1)) if all the commitment openings are accepted and, if b=1, then also if H is a Hamiltonian cycle. Else reject (output (G,0)).

Towards analysis… Want to show that the protocol realizes F zk HC. But clearly it does not: It has a soundness error of ½. Question: How to achieve full soundness, and in particular obtain a PoK? Basic idea: repeat many times, and have the verifier accept if all repetitions succeed. The hope is that ZK will be preserved, and soundness error will diminish. Questions: –How to repeat? (sequentially? In parallel?) –How to analyze?

We show that sequential repetition works. Traditionally, this is proven directly. We’ll use the composition theorem. Plan: –Define a “ZK with weak PoK functionality,” F wzk, and show that the basic protocol realizes it. –Show how to realize F zk in the F wzk -hybrid model. –Use the composition theorem to deduce security of the composed protocol.

The “ZK with weak PoK” functionality Idea: Relax F zk to allow the adversary to break soundness w.p. up to ½. Let R(x,y) be a binary relation. Recall: F zk R ((x,w), -,- ) = ( -,(x,R(x,w)),(x,R(x,w))) Define: F wzk R ((x,w), -,c) = If R(x,w)=1 then output (-,(,x,1),(x,1). Else, if c=“no cheat” output (,(,x,0),(x,0)). If c=“cheat” output (,(,x,b),(x,b)) for b  R {0,1}.

Claim: The basic Blum protocol securely realizes F wzk H. Proof sketch: Let A be an adversary that interacts with the protocol. Need to construct an ideal-process adversary S that fools all environments. There are four cases: 1.A controls the verifier (Zero-Knowledge): S gets input z’ from Z, and runs A on input z’. Next: –If value from F zk is (G,0) then hand (G,”reject”) to A. If value from F zk is (G,1) do: Choose random bit b’ If b’=0 then hand A: C(p(G)), C(p) for random p. If b’=1 then hand A: C(Q), where Q is a random Hamilt. cycle. If A’s response equals b’ then open the commitments. Else repeat, up to k times. Analysis of S: Standard… (via reduction to to the secrecy of the commitments)

2. A controls the prover (weak extraction): S gets input z’ from Z, and runs A on input z’. Next: I. Gather info: Obtain first message (G,C(G’),C(p)) from A. Give b=0 to A, obtain opening G’ 0,p 0 Rerun A (on same rand. inp.), give b=1, obtain G’ 1,p 1. II. Decide on on value to F and on output: If all decommitments succeed, then construct the Hamilt. Cycle. (if fail then some commitment was broken). Then give (G,H) to the TP (as the prover), and hand Z the output of A from either the first or the second run (chosen at random). If all decomm. for one value of b succeed, then: – give (G,-) to TP as the prover, and send “cheat” on direct line. –Get output (G,b’) from TP. If b’=0 then output the ouptut of A from the run where decommitments failed. If b’=1 output the ouptut of A from the run where all decommitments succeed. If for both values of b some decommitments failed, give (G,-) to TP as the prover, send “no cheat” on direct line, and hand Z the output of A from either the first or the second run (chosen at random).

2. A controls the prover (weak extraction): Analysis of S: –If A answers both challenges correctly then Z expects V to always accept. –If A answers one challenge correctly then Z expects V to accept w.p. ½. –If A answers no challenge correctly then Z expects V to never accept. –Furthermore, Z expects to see the matching output of A. –S guarantees the same view for Z. (Only possiblity of failure: if some commitment decommits in the two runs of A. But this occurs with negligible prob., otherwise the commitment scheme is broken.)

3.A controls neither party: S obtains output from TP, generates a corresponding transcript of the protocol execution, gives it to A. Then, outputs whatever A outputs. (This works since the output of the verifier in a “benign” execution is correct.) 4. A controls both parties: S runs A. (Here there are no secrets that S does not know.)

From F wzk R to F zk R A protocol for realizing F zk R in the F wzk R -hybrid model: P(x,w): Run k copies of F wzk R, sequentially. Send (x,w) to each copy. V: Run k copies of F wzk R, sequentially. Receive (x i,b i ) from the i-th copy. Then: –If all x’s are the same and all b’s are the same then output (x,b). –Else output nothing (or alternatively output a default value, say (x 0,1) for some x 0 for which a w 0 is known.)

Analysis of the protocol Let A be an adversary that interacts with the protocol in the F wzk R -hybrid model. Need to construct an ideal-process adversary S that interacts with F zk R and fools all environments. There are four cases: 1.A controls the verifier: In this case, all A sees is the value (x,b) coming in k times, where (x,b) is the output value. This is easy to simulate: S obtains (x,b) from TP, gives it to A k times, and outputs whatever A outputs. 2.A controls the prover: Here, A should give to F wzk R k pairs (x i,w i ), plus k “cheat”/“no-cheat” values. S runs A, obtains the k sets of input, runs the code of F wzk R k times, (it also tosses coins when F wzk R does), and obtains (x 1,b 1 )… (x k,b k ). Then: –If all the x’s and all the b’s are identical and b=1, then find a w i such that R(x,w i )=1, and give (x,w i ) to F zk R. (If didn’t find such w i then fail.) If b=0 then give (x,w) to to F zk R, where w is an invalid witness. – Else S gives (x 0,w 0 ) (the default value) to F zk R. Finally, S outputs whatever A outputs.

Analysis of S: –When the verifier is corrupted, the views of Z from both interactions are identically distributed. –When the prover is corrupted, conditioned on the event that S does not fail, the views of Z from both interactions are identically distributed. Furthermore, S fails only if in all k iterations it received bad witnesses, was asked to cheat, and chose b=1. But this occurs with probability 2 -k. Note: 1.The protocol and analysis are purely combinatorial (“information theoretic”), no computational issues involved. All the “computational issues” are pushed to the realization F wzk R and the composition theorem. 2.The same analysis works for a number of other ZK protocols with weak extraction. No need to reprove sequential composition all these protocols; only needs to prove that the single-iteration protocol securely realizes F wzk R.

What about parallel composition (for error reduction)? Protocol: Run k copies of Blum’s protocol in parallel. Accept if all copies accept. Can’t use the composition theorem… what about direct proof? Intuitively, protocol should still be “secure”. But proof fails. Specifically, the “Zero-Knowledge simulator” no longer works: Success probability in each attempt becomes 2 -k.  It is unknown whether this protocol is ZK…  There are known examples of ZK protocols that stop being ZK when two copies are running in parallel [Goldreich-Krawczyk, Feige-Shamir].

Parallel composition of Blum’s protocol Solution 1 [Goldreich-Kahan]: Add verifier commitment to challenge. V  P: C(b 1 ),…,C(b k ) P  V: C(p 1 (G)),C(p 1 )…C(p k (G)),C(p k ) V  P: D(b 1...b k ) P  V: D(p 1 (G)),D(p 1 )…D(p k (G)),D(p k ) V: accept if all copies accept.

Parallel composition of Blum’s protocol This solves the ZK problem. But now soundness fails: Assume P,V use the same commitment C, and C is “malleable”, say given C(b) can generate C(1-b) Then, P* can: Receive V’s commitments c 1 …c k Generate it commitments c’ 1 …c’ k so that: If c i is opened as 1 then c’ i opens to a Hamitonian cycle If c i is opened as 0 then c’ i opens to a permutation of G. This problem can be solved by using special commitments. But the general use of commitments failed.

Parallel composition of Blum’s protocol Solution 2 [Brassard-Crepeau-Yung]: Use “equivocable commitments” (given secret key, can open commitments both ways): V  P: public commitment key + “proof of knowledge” of secret key P  V: C(p 1 (G)),C(p 1 )…C(p k (G)),C(p k ) V  P:b 1...b k P  V: D(p 1 (G)),D(p 1 )…D(p k (G)),D(p k ) V: accept if all copies accept. In the simulation, “extract” the key, and open the commitments both ways.  Not a standard use of commitments (need an additional “weird-looking property”…)

So far, we’ve encountered two drawbacks of the current notions of ZK, commitment : ZK Not closed under parallel composition Use of commitments within ZK protocols is “non-intuitive” and “non-modular”