zero knowledge proofs
play

Zero-Knowledge Proofs Joost van Amersfoort University of Amsterdam - PowerPoint PPT Presentation

Zero-Knowledge Proofs Joost van Amersfoort University of Amsterdam Teacher: Christian Schaffner TA: Malvin Gattinger October 22, 2014 1 / 27 Introduction Zero-knowledge proofs are proofs that yield nothing beyond the validity of the


  1. Zero-Knowledge Proofs Joost van Amersfoort University of Amsterdam Teacher: Christian Schaffner TA: Malvin Gattinger October 22, 2014 1 / 27

  2. Introduction Zero-knowledge proofs are proofs that yield nothing beyond the validity of the assertion Figure: The special cave [4] 2 / 27

  3. Interactive proofs Zero-knowledge proofs are a special case of interactive proofs Interactive proofs have two parties: the Prover (P) and the Verifier (V) Verifier is a PPT machine, Prover is unbounded and both are able to communicate The prover claims a certain statement is true If (P,V) accept this statement (completeness) and rejects false statements (soundness), then it is an interactive proof system 3 / 27

  4. Formal Definition Zero-Knowledge Proofs Fix an interactive machine (the Prover) look at what can be computed by an arbitrary adversary (the Verifier). Now an interactive proof A is zero-knowledge on the set S, if for every feasible strategy B ∗ , there exists a feasible computation C ∗ , s.t. the following two probability ensembles are computationally indistinguishable: 4 / 27

  5. Formal Definition Zero-Knowledge Proofs Fix an interactive machine (the Prover) look at what can be computed by an arbitrary adversary (the Verifier). Now an interactive proof A is zero-knowledge on the set S, if for every feasible strategy B ∗ , there exists a feasible computation C ∗ , s.t. the following two probability ensembles are computationally indistinguishable: = the output of B ∗ after interacting with A def { ( A , B ∗ )( x ) } x ∈ S on common input x ∈ S ; and = the output of C ∗ on input x ∈ S def { ( C ∗ )( x ) } x ∈ S 5 / 27

  6. Formal Definition Zero-Knowledge Proofs Fix an interactive machine (the Prover) look at what can be computed by an arbitrary adversary (the Verifier). Now an interactive proof A is zero-knowledge on the set S, if for every feasible strategy B ∗ , there exists a feasible computation C ∗ , s.t. the following two probability ensembles are computationally indistinguishable: = the output of B ∗ after interacting with A def { ( A , B ∗ )( x ) } x ∈ S on common input x ∈ S ; and = the output of C ∗ on input x ∈ S def { ( C ∗ )( x ) } x ∈ S The first ensemble is the execution of an interactive protocol, the second represents a stand-alone procedure. This means that anything that could be extracted from A, was also already in C. So nothing was gained from the interaction. [2] 6 / 27

  7. Popquiz Imagine a scheme where a prover (P) wants to prove to be the owner of a public/private key pair to a verifier (V). 7 / 27

  8. Popquiz Imagine a scheme where a prover (P) wants to prove to be the owner of a public/private key pair to a verifier (V). V chooses a random message M, encrypts it using the public key and sends the resulting ciphertext to P. P decrypts this message and sends the result M’ back. 8 / 27

  9. Popquiz Imagine a scheme where a prover (P) wants to prove to be the owner of a public/private key pair to a verifier (V). V chooses a random message M, encrypts it using the public key and sends the resulting ciphertext to P. P decrypts this message and sends the result M’ back. If M = M ′ then V accepts P’s proof. 9 / 27

  10. Popquiz Imagine a scheme where a prover (P) wants to prove to be the owner of a public/private key pair to a verifier (V). V chooses a random message M, encrypts it using the public key and sends the resulting ciphertext to P. P decrypts this message and sends the result M’ back. If M = M ′ then V accepts P’s proof. Whats could go wrong in this scheme? 10 / 27

  11. Commitment Schemes In order to solve the problem of a misbehaving verifier, it is necessary to introduce commitment schemes 11 / 27

  12. Commitment Schemes In order to solve the problem of a misbehaving verifier, it is necessary to introduce commitment schemes In a commitment scheme, a player is able to choose a value from some set and commit to his choice such that he can no longer change his mind 12 / 27

  13. Commitment Schemes In order to solve the problem of a misbehaving verifier, it is necessary to introduce commitment schemes In a commitment scheme, a player is able to choose a value from some set and commit to his choice such that he can no longer change his mind Example: a game with two players P and V, where P wants to commit to a bit b. He writes b down on a piece of paper, puts it in a box and locks it using a padlock. He then passes the box to V 13 / 27

  14. Commitment Schemes In order to solve the problem of a misbehaving verifier, it is necessary to introduce commitment schemes In a commitment scheme, a player is able to choose a value from some set and commit to his choice such that he can no longer change his mind Example: a game with two players P and V, where P wants to commit to a bit b. He writes b down on a piece of paper, puts it in a box and locks it using a padlock. He then passes the box to V Whenever P decides to he passes the key to V to open the padlock. In this way P is bound to his original choice and his choice is hidden until he decided to give the key [1] 14 / 27

  15. Commitment Scheme visualized 15 / 27

  16. The Solution Remember in the old scheme P just decrypts C and sends M’ back 16 / 27

  17. The Solution Remember in the old scheme P just decrypts C and sends M’ back New scheme: instead of sending back M’, P sends a commitment message with M’. 17 / 27

  18. The Solution Remember in the old scheme P just decrypts C and sends M’ back New scheme: instead of sending back M’, P sends a commitment message with M’. He then receives the original message M (forcing the verifier to know M). If M = M’, he opens the commitment by sending the key to the V. 18 / 27

  19. The Solution Remember in the old scheme P just decrypts C and sends M’ back New scheme: instead of sending back M’, P sends a commitment message with M’. He then receives the original message M (forcing the verifier to know M). If M = M’, he opens the commitment by sending the key to the V. Now the verifier accepts the identity of the prover iff the commitment can be correctly opened and M’ = M. 19 / 27

  20. Theoretical Applications In the last example the Verifier was forced to behave according to protocol 20 / 27

  21. Theoretical Applications In the last example the Verifier was forced to behave according to protocol It has been shown that using zero-knowledge protocols as sub-protocols it is possible to transform any protocol that assumes players follow the rules into one that is secure even if players deviate from the protocol [3] 21 / 27

  22. Practical Applications Biggest impact of zero-knowledge is in design of efficient protocols for specific problems 22 / 27

  23. Practical Applications Biggest impact of zero-knowledge is in design of efficient protocols for specific problems Example: give the user the solution to a hard problem and the user identifies himself by providing a zero-knowledge proof that he knows this solution 23 / 27

  24. Practical Applications Biggest impact of zero-knowledge is in design of efficient protocols for specific problems Example: give the user the solution to a hard problem and the user identifies himself by providing a zero-knowledge proof that he knows this solution This works on smartcards (OV-Chipkaart) [5], where computation is very limited 24 / 27

  25. Thank you for your attention! 25 / 27

  26. Time left for a game? Sudoku Zero-Knowledge 26 / 27

  27. Bibliography Ivan Damg˚ ard, Commitment schemes and zero-knowledge protocols , Lectures on Data Security, Springer, 1999, pp. 63–86. Oded Goldreich, Zero-knowledge twenty years after its invention. , IACR Cryptology ePrint Archive 2002 (2002), 186. Oded Goldreich, Silvio Micali, and Avi Wigderson, Proofs that yield nothing but their validity and a methodology of cryptographic protocol design , FOCS, vol. 86, 1986, pp. 174–187. Jean-Jacques Quisquater, Myriam Quisquater, Muriel Quisquater, Micha¨ el Quisquater, Louis Guillou, Marie Annick Guillou, Ga¨ ıd Guillou, Anna Guillou, Gwenol´ e Guillou, and Soazig Guillou, How to explain zero-knowledge protocols to your children , Advances in Cryptology CRYPTOâĂŹ89 Proceedings, Springer, 1990, pp. 628–631. Claus-Peter Schnorr, Efficient signature generation by smart cards , Journal of cryptology 4 (1991), no. 3, 161–174. 27 / 27

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend