1 The 29th Annual ACM-ICPC World Finals 1. Shanghai Jiaotong University 2. Moscow State University 3. St. Petersburg Institute of Fine Mechanics and Optics.

Slides:



Advertisements
Similar presentations
Zero Knowledge Proofs(2) Suzanne van Wijk & Maaike Zwart
Advertisements

Complexity Theory Lecture 9 Lecturer: Moni Naor. Recap Last week: –Toda’s Theorem: PH  P #P. –Program checking and hardness on the average of the permanent.
Foundations of Cryptography Lecture 10 Lecturer: Moni Naor.
Efficient Zero-Knowledge Proof Systems Jens Groth University College London.
The Unique Games Conjecture with Entangled Provers is False Julia Kempe Tel Aviv University Oded Regev Tel Aviv University Ben Toner CWI, Amsterdam.
Chapter 5 The Witness Reduction Technique: Feasible Closure Properties of #P Greg Goldstein Andrew Learn 18 April 2001.
Dana Moshkovitz. Back to NP L  NP iff members have short, efficiently checkable, certificates of membership. Is  satisfiable?  x 1 = truex 11 = true.
Foundations of Cryptography Lecture 13 Lecturer: Moni Naor.
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.
1 Introduction to Computability Theory Lecture15: Reductions Prof. Amos Israeli.
1 Introduction to Computability Theory Lecture12: Reductions Prof. Amos Israeli.
Introduction to Computability Theory
1 Introduction to Computability Theory Lecture13: Mapping Reductions Prof. Amos Israeli.
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.
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.
On The Cryptographic Applications of Random Functions Oded Goldreich Shafi Goldwasser Silvio Micali Advances in Cryptology-CRYPTO ‘ 84 報告人 : 陳昱升.
Lecturer: Moni Naor Foundations of Cryptography Lecture 12: Commitment and Zero-Knowledge.
Introduction to Modern Cryptography, Lecture 7/6/07 Zero Knowledge and Applications.
CS151 Complexity Theory Lecture 13 May 11, CS151 Lecture 132 Outline Natural complete problems for PH and PSPACE proof systems interactive proofs.
Chapter 11: Limitations of Algorithmic Power
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.
1 Constructing Pseudo-Random Permutations with a Prescribed Structure Moni Naor Weizmann Institute Omer Reingold AT&T Research.
Lecture 20: April 12 Introduction to Randomized Algorithms and the Probabilistic Method.
Introduction to Modern Cryptography, Lecture 9 More about Digital Signatures and Identification.
Chapter 9 Cryptographic Protocol Cryptography-Principles and Practice Harbin Institute of Technology School of Computer Science and Technology Zhijun Li.
1 Introduction to Computability Theory Lecture11: The Halting Problem Prof. Amos Israeli.
CMSC 414 Computer and Network Security Lecture 3 Jonathan Katz.
Quadratic Residuosity and Two Distinct Prime Factor ZK Protocols By Stephen Hall.
Section 11.4 Language Classes Based On Randomization
How to play ANY mental game
(Multimedia University) Ji-Jian Chin Swee-Huay Heng Bok-Min Goi
1 The Theory of NP-Completeness 2012/11/6 P: the class of problems which can be solved by a deterministic polynomial algorithm. NP : the class of decision.
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.
Based on Schneier Chapter 5: Advanced Protocols Dulal C. Kar.
CS151 Complexity Theory Lecture 13 May 11, Outline proof systems interactive proofs and their power Arthur-Merlin games.
CSC 413/513: Intro to Algorithms NP Completeness.
Week 10Complexity of Algorithms1 Hard Computational Problems Some computational problems are hard Despite a numerous attempts we do not know any efficient.
. CLASSES RP AND ZPP By: SARIKA PAMMI. CONTENTS:  INTRODUCTION  RP  FACTS ABOUT RP  MONTE CARLO ALGORITHM  CO-RP  ZPP  FACTS ABOUT ZPP  RELATION.
PROBABILISTIC COMPUTATION By Remanth Dabbati. INDEX  Probabilistic Turing Machine  Probabilistic Complexity Classes  Probabilistic Algorithms.
Introduction to Modern Cryptography Sharif University Spring 2015 Data and Network Security Lab Sharif University of Technology Department of Computer.
Interactive proof systems Section 10.4 Giorgi Japaridze Theory of Computability.
Zero-knowledge proof protocols 1 CHAPTER 12: Zero-knowledge proof protocols One of the most important, and at the same time very counterintuitive, primitives.
1 Turing’s Thesis. 2 Turing’s thesis: Any computation carried out by mechanical means can be performed by a Turing Machine (1930)
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.
CS6045: Advanced Algorithms NP Completeness. NP-Completeness Some problems are intractable: as they grow large, we are unable to solve them in reasonable.
Probabilistic verification Mario Szegedy, Rutgers www/cs.rutgers.edu/~szegedy/07540 Lecture 1.
NP-Completness Turing Machine. Hard problems There are many many important problems for which no polynomial algorithms is known. We show that a polynomial-time.
Honest-Verifier Statistical Zero-Knowledge Equals General Statistical Zero-Knowledge Oded Goldreich (Weizmann) Amit Sahai (MIT) Salil Vadhan (MIT)
1 Section 13.1 Turing Machines A Turing machine (TM) is a simple computer that has an infinite amount of storage in the form of cells on an infinite tape.
Complexity 24-1 Complexity Andrei Bulatov Interactive Proofs.
Overview of the theory of computation Episode 3 0 Turing machines The traditional concepts of computability, decidability and recursive enumerability.
NP ⊆ PCP(n 3, 1) Theory of Computation. NP ⊆ PCP(n 3,1) What is that? NP ⊆ PCP(n 3,1) What is that?
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.
P & NP.
Topic 36: Zero-Knowledge Proofs
Probabilistic Algorithms
On the Size of Pairing-based Non-interactive Arguments
Zero Knowledge Anupam Datta CMU Fall 2017
Interactive Proofs Adapted from Oded Goldreich’s course lecture notes.
Interactive Proofs Adapted from Oded Goldreich’s course lecture notes.
Interactive Proofs Adapted from Oded Goldreich’s course lecture notes.
Zero-Knowledge Proofs
Interactive Proofs Adapted from Oded Goldreich’s course lecture notes.
Presentation transcript:

1 The 29th Annual ACM-ICPC World Finals 1. Shanghai Jiaotong University 2. Moscow State University 3. St. Petersburg Institute of Fine Mechanics and Optics 4. University of Waterloo … 17. St. Petersburg State University

Zero Knowledge Proofs and Protocols Nikolay Vyahhi St. Petersburg State University Joint Advanced Student[s] School 2005 A proof is whatever convinces me. Shimon Even, 1978

3 Example (graph 3-coloring) Problem (G3C): Given a graph, color its vertices with red, green, blue such that if any two vertices are joined by an edge then they receive different colors. (13/14)=0,929 (13/14) 10 =0,477 (13/14) 100 =6,047*10 -4 (13/14) 1000 =6,536* Probability, that A can cheat (when B opened n 2 edges) at most: (1-1/n) n 2  e -n

4 Agenda Introduction Introduction Theory: Theory: Interactive Proof Systems, Interactive ProtocolInteractive Proof Systems, Interactive Protocol Zero-Knowledge, QNR exampleZero-Knowledge, QNR example Indistinguishability of Random VariablesIndistinguishability of Random Variables Approximability of Random VariablesApproximability of Random Variables Zero-KnowledgeZero-Knowledge Known Facts and Open ProblemsKnown Facts and Open Problems Examples: Examples: GIGI GNIGNI QNRQNR Related papers Related papers Exercises Exercises

5 Agenda Introduction Introduction Theory: Theory: Interactive Proof Systems, Interactive ProtocolInteractive Proof Systems, Interactive Protocol Zero-Knowledge, QNR exampleZero-Knowledge, QNR example Indistinguishability of Random VariablesIndistinguishability of Random Variables Approximability of Random VariablesApproximability of Random Variables Zero-KnowledgeZero-Knowledge Known Facts and Open ProblemsKnown Facts and Open Problems Examples: Examples: GIGI GNIGNI QNRQNR Related papers Related papers Exercises Exercises

6 Introduction Conception of Zero-Knowledge Proofs

7 Introduction Applications: Applications: authentication // user proves to system, that he is valid userauthentication // user proves to system, that he is valid user Weakness: Adversary E can prove to B, that she is A, just by asking A to prove it to her and simulating this protocol with B. Weakness: Adversary E can prove to B, that she is A, just by asking A to prove it to her and simulating this protocol with B. protecting against chosen message attackprotecting against chosen message attack by augmenting the ciphertext by a zero-knowledge proof of knowledge of the cleartext. non-oblivious commitment schemesnon-oblivious commitment schemes …

8 Agenda Introduction Introduction Theory: Theory: Interactive Proof Systems, Interactive ProtocolInteractive Proof Systems, Interactive Protocol Zero-Knowledge, QNR exampleZero-Knowledge, QNR example Indistinguishability of Random VariablesIndistinguishability of Random Variables Approximability of Random VariablesApproximability of Random Variables Zero-KnowledgeZero-Knowledge Known Facts and Open ProblemsKnown Facts and Open Problems Examples: Examples: GIGI GNIGNI QNRQNR Related papers Related papers Exercises Exercises

9 Interactive Proof Systems Intuitively, what should we require from an efficient theorem-proving procedure? Intuitively, what should we require from an efficient theorem-proving procedure? 1.That it should be possible to “prove” a true theorem. 2.That it should be impossible to “prove” a false theorem. 3.That communicating the “proof” should be efficient. Namely regardless of how much time it takes to come up with the proof, its correctness should be efficiently verified. More formal. An interactive Turing machine (ITM) is a Turing machine equipped with read-only input tape, a work tape, a random tape, one read-only and one write- only communication tapes. The random tape contains an infinite sequence of random bits, and can be scanned only from left to right. More formal. An interactive Turing machine (ITM) is a Turing machine equipped with read-only input tape, a work tape, a random tape, one read-only and one write- only communication tapes. The random tape contains an infinite sequence of random bits, and can be scanned only from left to right.

10 Interactive Proof Systems Interactive Turing Machine

11 Interactive Protocol An interactive protocol is an ordered pair of ITM’s A (prover) and B (verifier) such that A and B share the same input tape, B’s write-only communication tape is A’s read- only communication tape and vice versa. An interactive protocol is an ordered pair of ITM’s A (prover) and B (verifier) such that A and B share the same input tape, B’s write-only communication tape is A’s read- only communication tape and vice versa. Machine A is not computationally bounded, while B is bounded by a polynomial in the length of common input. Machine A is not computationally bounded, while B is bounded by a polynomial in the length of common input. The two machines take turns in being active, with B being active first. During an active stage A(B) first perform some internal computation using its tapes; and, second, it writes a string (for B(A)) on its write-only communication tape. Then it deactivates and machine B(A) becomes active. The two machines take turns in being active, with B being active first. During an active stage A(B) first perform some internal computation using its tapes; and, second, it writes a string (for B(A)) on its write-only communication tape. Then it deactivates and machine B(A) becomes active. Machine B accepts (or rejects) the input by outputting “accept” (or “reject”) and terminating the protocol. Machine B accepts (or rejects) the input by outputting “accept” (or “reject”) and terminating the protocol.

12 Interactive Protocol Interactive Turing Machines

13 Interactive Proof Systems An interactive protocol (A,B) is called an interactive proof system for language L over {0,1}* if we have the following: An interactive protocol (A,B) is called an interactive proof system for language L over {0,1}* if we have the following: 1.For each k, for sufficiently large x in L given as input to (A,B), B halts and accepts with probability at least 1-|x| -k. 2.For each k, for sufficiently large x NOT in L, for any ITM A’, on input x to (A’,B), B accepts with probability at most |x| -k. The probabilities here are taken over the readings of random bits of A and B. Interactive Polynomial time (IP) is the class of languages for which there exists interactive proof system. Interactive Polynomial time (IP) is the class of languages for which there exists interactive proof system.

14 Agenda Introduction Introduction Theory: Theory: Interactive Proof Systems, Interactive ProtocolInteractive Proof Systems, Interactive Protocol Zero-Knowledge, QNR exampleZero-Knowledge, QNR example Indistinguishability of Random VariablesIndistinguishability of Random Variables Approximability of Random VariablesApproximability of Random Variables Zero-KnowledgeZero-Knowledge Known Facts and Open ProblemsKnown Facts and Open Problems Examples: Examples: GIGI GNIGNI QNRQNR Related papers Related papers Exercises Exercises

15 Zero-Knowledge For every polynomial time B’, the distribution that B’ “sees” on all its tapes, when interacting with A on input x ∈ L, is “indistinguishable” from a distribution that can be computed from x in polynomial time.

16 Example (QNR) Problem (QNR): QNR = { (x,y) | y is quadratic nonresidue mod x }. There is no such z, that y = z 2 mod x. So let’s try to prove with zero-knowledge for some y, that it is from QNR. With prover A, verifier B, input (x,y) and |x|=n. So let’s try to prove with zero-knowledge for some y, that it is from QNR. With prover A, verifier B, input (x,y) and |x|=n. 1. B begins by flipping coins to obtain random bits b 1,b 2,…,b n. 2. Then B flips additional coins for obtaining random z 1,z 2 …z n (0<z i <x and gcd(z i,x)=1 for each z i ). 3. B computes w 1,w 2,…,w n as follows: w i = (z i 2 ) mod x, if b i =0w i = (z i 2 ) mod x, if b i =0 w i = (z i 2 y) mod x, otherwise, if b i =1w i = (z i 2 y) mod x, otherwise, if b i =1 4. B sends w 1,w 2,…,w n to A. 5. A computes (somehow) for each i whether or not w i is quadratic residue mod x, and sends this information (c 1,c 2,…,c n ) to B. 6. B checks if b i =c i for every i, and if so is “convinced” that (x,y) ∈ QNR.

17 Example (QNR) Is it zero-knowledge? NO!Why?

18 Example (QNR) What if B were to cheat? B could begin by setting w 1 =42 for example, and then behave correctly. So, B can compute whether or not 42 is a quadratic residue x, given x and a quadratic nonresidue y. At this time it is not known how compute this in polynomial time, so this proof system may not be zero-knowledge!

19 Agenda Introduction Introduction Theory: Theory: Interactive Proof Systems, Interactive ProtocolInteractive Proof Systems, Interactive Protocol Zero-Knowledge, QNR exampleZero-Knowledge, QNR example Indistinguishability of Random VariablesIndistinguishability of Random Variables Approximability of Random VariablesApproximability of Random Variables Zero-KnowledgeZero-Knowledge Known Facts and Open ProblemsKnown Facts and Open Problems Examples: Examples: GIGI GNIGNI QNRQNR Related papers Related papers Exercises Exercises

20 Indistinguishability of Random Variables Consider families of random variables U = {U(x)}, where x ∈ L, a particular subset of {0,1}*, and all random variables take values in {0,1}*. Consider families of random variables U = {U(x)}, where x ∈ L, a particular subset of {0,1}*, and all random variables take values in {0,1}*. Let U(x) and V(x) be two families of random variables. Let U(x) and V(x) be two families of random variables. We want to express the fact that, when the length of x increases, U(x) essentially becomes “replaceable” by V(x). We want to express the fact that, when the length of x increases, U(x) essentially becomes “replaceable” by V(x). So, a random sample is selected form U(x) or from V(x) and it is handed to a “judge”. After studying the sample, he proclaims, from which families our sample is. So, a random sample is selected form U(x) or from V(x) and it is handed to a “judge”. After studying the sample, he proclaims, from which families our sample is.

21 Indistinguishability of Random Variables Two families of random variables {U(x)} and {V(x)} are: Equal if the judge’s verdict will be meaningless even if he is given samples of arbitrary size and he can study them for an arbitrary amount of time. Equal if the judge’s verdict will be meaningless even if he is given samples of arbitrary size and he can study them for an arbitrary amount of time. Statically indistinguishable if the judge’s verdict became meaningless when he is given an infinite amount of time but only random, polynomial (in |x|) size samples to work on. Statically indistinguishable if the judge’s verdict became meaningless when he is given an infinite amount of time but only random, polynomial (in |x|) size samples to work on. Computationally indistinguishable if the judge’s verdict become meaningless when he is only given polynomial (|x|)-size samples and polynomial (|x|) time. Computationally indistinguishable if the judge’s verdict become meaningless when he is only given polynomial (|x|)-size samples and polynomial (|x|) time.

22 Agenda Introduction Introduction Theory: Theory: Interactive Proof Systems, Interactive ProtocolInteractive Proof Systems, Interactive Protocol Zero-Knowledge, QNR exampleZero-Knowledge, QNR example Indistinguishability of Random VariablesIndistinguishability of Random Variables Approximability of Random VariablesApproximability of Random Variables Zero-KnowledgeZero-Knowledge Known Facts and Open ProblemsKnown Facts and Open Problems Examples: Examples: GIGI GNIGNI QNRQNR Related papers Related papers Exercises Exercises

23 Approximability of Random Variables Let M be a probabilistic Turing machine that on input x always halts. We denote by M(x) the random variable that, for each string, which is equal to α, have the same probability that M on input x outputs α. Let M be a probabilistic Turing machine that on input x always halts. We denote by M(x) the random variable that, for each string, which is equal to α, have the same probability that M on input x outputs α. U is perfectly approximable on L if there exist a probabilistic Turing machine M, running expected polynomial time, such that for all x ∈ L, M(x) is equal to U(x). U is perfectly approximable on L if there exist a probabilistic Turing machine M, running expected polynomial time, such that for all x ∈ L, M(x) is equal to U(x). U is statically (computationally) approximable on L if there exist a probabilistic Turing machine M, running expected polynomial time, such that for families of random variables {M(x)} and {U(x)} are statically (computationally) indistinguishable on L. U is statically (computationally) approximable on L if there exist a probabilistic Turing machine M, running expected polynomial time, such that for families of random variables {M(x)} and {U(x)} are statically (computationally) indistinguishable on L.

24 Agenda Introduction Introduction Theory: Theory: Interactive Proof Systems, Interactive ProtocolInteractive Proof Systems, Interactive Protocol Zero-Knowledge, QNR exampleZero-Knowledge, QNR example Indistinguishability of Random VariablesIndistinguishability of Random Variables Approximability of Random VariablesApproximability of Random Variables Zero-KnowledgeZero-Knowledge Known Facts and Open ProblemsKnown Facts and Open Problems Examples: Examples: GIGI GNIGNI QNRQNR Related papers Related papers Exercises Exercises

25 Zero-Knowledge ITM B’ has an extra input tape H, which length is bounded above be a polynomial in the length of x. ITM B’ has an extra input tape H, which length is bounded above be a polynomial in the length of x. When B’ interacts with A, A sees only x on its tape, whereas B’ sees (x,H). When B’ interacts with A, A sees only x on its tape, whereas B’ sees (x,H). So H is a some knowledge about x that the cheating B’ already possess. Or H can be considered as the history of previous interactions that B’ is trying to use to get knowledge from A. So H is a some knowledge about x that the cheating B’ already possess. Or H can be considered as the history of previous interactions that B’ is trying to use to get knowledge from A. Let View A,B’ (x,H) be the random variables whose value is view of B’ (random tape, messages between parties, private tape). For convenience, we consider each view to be a string from {0,1}* of length |x| c for some fixed c>0. Let View A,B’ (x,H) be the random variables whose value is view of B’ (random tape, messages between parties, private tape). For convenience, we consider each view to be a string from {0,1}* of length |x| c for some fixed c>0.

26 Zero-Knowledge Interactive Turing Machines

27 Zero-Knowledge Let L be a language and (A,B) a protocol. Let B’ be as above. We say that (A,B) is perfectly (statically) (computationally) zero-knowledge on L for B’ if the family of random variables View A,B is perfectly (statically) (computationally) approximable on Let L be a language and (A,B) a protocol. Let B’ be as above. We say that (A,B) is perfectly (statically) (computationally) zero-knowledge on L for B’ if the family of random variables View A,B is perfectly (statically) (computationally) approximable on L’ = { (x,H) | x ∈ L and |H|=|x| c } We say that interactive protocol (A,B) if perfectly (statically) (computationally) zero-knowledge on L if it is perfectly (statically) (computationally) zero-knowledge on L for all probabilistic polynomial time ITM B’. Note, that this definition only depends on A and not at all on B. We say that interactive protocol (A,B) if perfectly (statically) (computationally) zero-knowledge on L if it is perfectly (statically) (computationally) zero-knowledge on L for all probabilistic polynomial time ITM B’. Note, that this definition only depends on A and not at all on B. Usually, only computationally zero-knowledge is consided. Usually, only computationally zero-knowledge is consided.

28 Agenda Introduction Introduction Theory: Theory: Interactive Proof Systems, Interactive ProtocolInteractive Proof Systems, Interactive Protocol Zero-Knowledge, QNR exampleZero-Knowledge, QNR example Indistinguishability of Random VariablesIndistinguishability of Random Variables Approximability of Random VariablesApproximability of Random Variables Zero-KnowledgeZero-Knowledge Known Facts and Open ProblemsKnown Facts and Open Problems Examples: Examples: GIGI GNIGNI QNRQNR Related papers Related papers Exercises Exercises

29 Known Facts and Open Problems Every language in NP has a perfect zero knowledge proof (if one-way permutations exists). Every language in NP has a perfect zero knowledge proof (if one-way permutations exists). Every language in IP has a zero knowledge proof. Every language in IP has a zero knowledge proof. It’s known that (obvious) It’s known that (obvious) Goldreich’s belief is that Goldreich’s belief is that The relationship of PZK and SZK remains an open problem (with no evidence either way). The relationship of PZK and SZK remains an open problem (with no evidence either way).

30 Agenda Introduction Introduction Theory: Theory: Interactive Proof Systems, Interactive ProtocolInteractive Proof Systems, Interactive Protocol Zero-Knowledge, QNR exampleZero-Knowledge, QNR example Indistinguishability of Random VariablesIndistinguishability of Random Variables Approximability of Random VariablesApproximability of Random Variables Zero-KnowledgeZero-Knowledge Known Facts and Open ProblemsKnown Facts and Open Problems Examples: Examples: GIGI GNIGNI QNRQNR Related papers Related papers Exercises Exercises

31 Examples (GI) Problem (GI – Graph Isomorphism): You have two graphs (G 0,G 1 ), are they isomorphic? Exercise 0: Think out zero-knowledge proof for this problem. A knows, that G 0 and G 1 are isomorphic (and how its are) and tries to prove this fact to B. 1. A chooses one graph (G 0 or G 1 ), and transform it to any another isomorphic one G 2 (anyhow). 2. A sends this graph G 2 to B. 3. B flips a coin, and sends this bit b (0 or 1) to A. 4. A must show isomorphism of G 2 and G b to B, otherwise B can not accept.

32 Examples (GI) If A cheating, she can’t show isomorphism of those two graphs with probability ½. But A can cheat with ½ probability also. If A cheating, she can’t show isomorphism of those two graphs with probability ½. But A can cheat with ½ probability also. If B repeats this protocol n times, so A can cheat with probability only ½ n =2 -n (at most). If B repeats this protocol n times, so A can cheat with probability only ½ n =2 -n (at most). B can’t get some additional information from this interaction. B can’t get some additional information from this interaction.

33 Agenda Introduction Introduction Theory: Theory: Interactive Proof Systems, Interactive ProtocolInteractive Proof Systems, Interactive Protocol Zero-Knowledge, QNR exampleZero-Knowledge, QNR example Indistinguishability of Random VariablesIndistinguishability of Random Variables Approximability of Random VariablesApproximability of Random Variables Zero-KnowledgeZero-Knowledge Known Facts and Open ProblemsKnown Facts and Open Problems Examples: Examples: GIGI GNIGNI QNRQNR Related papers Related papers Exercises Exercises

34 Examples (GNI) Problem (GNI - Graph NonIsomorphism): You have two graphs (G 0,G 1 ), are they nonisomorphic? 1. B chooses one graph (G 0 or G 1 ), and transform it to any another isomorphic one G 2 (anyway). 2. B sends this graph G 2 to A. 3. A must say, which graph was chosen by B. If A cheating, so graphs G 0 and G 1 are isomorphic, and she can not say exactly, to which one G 2 is isomorphic. Probability of being caught is 1-½ n. If A cheating, so graphs G 0 and G 1 are isomorphic, and she can not say exactly, to which one G 2 is isomorphic. Probability of being caught is 1-½ n. B can not get some additional information from this interaction. B can not get some additional information from this interaction. Are you sure in the last point? Are you sure in the last point?

35 Examples (GNI) It is not zero-knowledge! The same situation as with QNR earlier.

36 Examples (GNI) Problem (GNI - Graph NonIsomorphism): You have two graphs (G 0,G 1 ), are they nonisomorphic? We must modify verifier B, so that he’ll prove to the prover A, that he (B) knows the answer to his query graph (i.e. he knows an isomorphism to the appropriate input graph), and the prover answers the query only if she is convinced of this claim. We must modify verifier B, so that he’ll prove to the prover A, that he (B) knows the answer to his query graph (i.e. he knows an isomorphism to the appropriate input graph), and the prover answers the query only if she is convinced of this claim. Of course, that B’s proof must be zero-knowledge. Of course, that B’s proof must be zero-knowledge.

37 Agenda Introduction Introduction Theory: Theory: Interactive Proof Systems, Interactive ProtocolInteractive Proof Systems, Interactive Protocol Zero-Knowledge, QNR exampleZero-Knowledge, QNR example Indistinguishability of Random VariablesIndistinguishability of Random Variables Approximability of Random VariablesApproximability of Random Variables Zero-KnowledgeZero-Knowledge Known Facts and Open ProblemsKnown Facts and Open Problems Examples: Examples: GIGI GNIGNI QNRQNR Related papers Related papers Exercises Exercises

38 Example (QNR) Problem (QNR): QNR = { (x,y) | y is quadratic nonresidue mod x }. There is no such z, that y = z 2 mod x. B picks at random integer r and one bit. B picks at random integer r and one bit. if bit=0 then B sets w = r 2 mod x,if bit=0 then B sets w = r 2 mod x, otherwise w = r 2 y mod x.otherwise w = r 2 y mod x. B sends w to A. For some 1<=j<=m, B picks random integer r j1,r j2 and random bit j. B sets For some 1<=j<=m, B picks random integer r j1,r j2 and random bit j. B sets a j =r 2 j1 mod xa j =r 2 j1 mod x b j =yr 2 j2 mod xb j =yr 2 j2 mod x If bit j =1, B sends A the ordered pair (a j,b j ), else (b j,a j ). A sends B an m-long random bit vector i=i 1,i 2,…,i m. A sends B an m-long random bit vector i=i 1,i 2,…,i m.

39 Example (QNR) B sends A the sequence v=v 1,v 2,…,v m. B sends A the sequence v=v 1,v 2,…,v m. if i j =0 then v j = (r j1,r j2 ) if i j =0 then v j = (r j1,r j2 ) if i j =1 then if i j =1 then if bit=0 then v j = rr j1 mod x if bit=0 then v j = rr j1 mod x else v j = yrr j2 mod x. else v j = yrr j2 mod x. The intuition behind this step is as follows: if i j =0, then B is convincing A that pair was chosen correctly; if i j =1 then B is convincing that if pair was chosen correctly, then w was chosen correctly. A verifies that the sequence v was properly constructed, If not, A sends terminate to B and halts. Otherwise. A sets answer = 0 if w is a quadratic residue mod x and 1 otherwise, A sends answer to B. A verifies that the sequence v was properly constructed, If not, A sends terminate to B and halts. Otherwise. A sets answer = 0 if w is a quadratic residue mod x and 1 otherwise, A sends answer to B.

40 Example (QNR) B checks whether answer = bit. If so B continues the protocol, otherwise B rejects and halts. B checks whether answer = bit. If so B continues the protocol, otherwise B rejects and halts. After m repetition of this protocol, if B did not reject thus far, B accepts and halts. After m repetition of this protocol, if B did not reject thus far, B accepts and halts. Conclusion: So, we force B to prove, that he is not cheating. And now he can not obtain any other information from this protocol (only is y a quadratic nonredisue or not). => It’s a (statically) zero-knowledge proof. Conclusion: So, we force B to prove, that he is not cheating. And now he can not obtain any other information from this protocol (only is y a quadratic nonredisue or not). => It’s a (statically) zero-knowledge proof.

41 Non-Interactive ZK Proofs General Idea: Using one-way function instead of verifier B. A generates n random numbers, and so generates n different isomorphic (to initial) problems. A generates n random numbers, and so generates n different isomorphic (to initial) problems. A publish all this new problems. A publish all this new problems. A uses one-way functions, to generate “random” bit string b from definitions of that new problems, which was published (it’ll be like B’s random tape). A uses one-way functions, to generate “random” bit string b from definitions of that new problems, which was published (it’ll be like B’s random tape). If b i =0 then A proves isomorphism of initial and i-th new problem, otherwise she opens solution of i-th new problem. Then A publish this information. If b i =0 then A proves isomorphism of initial and i-th new problem, otherwise she opens solution of i-th new problem. Then A publish this information. Anyone can verify this proof without interaction. Anyone can verify this proof without interaction.

42 Agenda Introduction Introduction Theory: Theory: Interactive Proof Systems, Interactive ProtocolInteractive Proof Systems, Interactive Protocol Zero-Knowledge, QNR exampleZero-Knowledge, QNR example Indistinguishability of Random VariablesIndistinguishability of Random Variables Approximability of Random VariablesApproximability of Random Variables Zero-KnowledgeZero-Knowledge Known Facts and Open ProblemsKnown Facts and Open Problems Examples: Examples: GIGI GNIGNI QNRQNR Related papers Related papers Exercises Exercises

43 Related papers S. Goldwasser, S. Micali, C. Rackoff. “The knowledge complexity of interactive proof systems”, 1989 (1986). S. Goldwasser, S. Micali, C. Rackoff. “The knowledge complexity of interactive proof systems”, 1989 (1986). U. Fiege, A. Fiat, A. Shamir. “Zero-Knowledge Proofs of Identity”, U. Fiege, A. Fiat, A. Shamir. “Zero-Knowledge Proofs of Identity”, B. Schneier. “Applied Cryptography”, B. Schneier. “Applied Cryptography”, O. Goldreich. “Foundation of Cryptography”, O. Goldreich. “Foundation of Cryptography”, 2001.

44 Thank you!

45 Questions?

46 Agenda Introduction Introduction Theory: Theory: Interactive Proof Systems, Interactive ProtocolInteractive Proof Systems, Interactive Protocol Zero-Knowledge, QNR exampleZero-Knowledge, QNR example Indistinguishability of Random VariablesIndistinguishability of Random Variables Approximability of Random VariablesApproximability of Random Variables Zero-KnowledgeZero-Knowledge Known Facts and Open ProblemsKnown Facts and Open Problems Examples: Examples: GIGI GNIGNI QNRQNR Related papers Related papers Exercises Exercises

47 Exercises ZK proof for G3C by using a phone/ (you can’t see, what your opponent do, so you can’t believe in something sometimes). ZK proof for G3C by using a phone/ (you can’t see, what your opponent do, so you can’t believe in something sometimes).

48 Agenda Introduction Introduction Theory: Theory: Interactive Proof Systems, Interactive ProtocolInteractive Proof Systems, Interactive Protocol Zero-Knowledge, QNR exampleZero-Knowledge, QNR example Indistinguishability of Random VariablesIndistinguishability of Random Variables Approximability of Random VariablesApproximability of Random Variables Zero-KnowledgeZero-Knowledge Known Facts and Open ProblemsKnown Facts and Open Problems Examples: Examples: GIGI GNIGNI QNRQNR Related papers Related papers Exercises Exercises

49 Thank you again!