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

zero knowledge proofs
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

Zero-Knowledge Proofs

Joost van Amersfoort

University of Amsterdam Teacher: Christian Schaffner TA: Malvin Gattinger

October 22, 2014

1 / 27

slide-2
SLIDE 2

Introduction

Zero-knowledge proofs are proofs that yield nothing beyond the validity of the assertion

Figure: The special cave [4]

2 / 27

slide-3
SLIDE 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

slide-4
SLIDE 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

slide-5
SLIDE 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: {(A, B∗)(x)}x∈S

def

= the output of B∗ after interacting with A

  • n common input x ∈ S; and

{(C∗)(x)}x∈S

def

= the output of C∗ on input x ∈ S

5 / 27

slide-6
SLIDE 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: {(A, B∗)(x)}x∈S

def

= the output of B∗ after interacting with A

  • n common input x ∈ S; and

{(C∗)(x)}x∈S

def

= the output of C∗ on input 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

slide-7
SLIDE 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

slide-8
SLIDE 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

slide-9
SLIDE 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

slide-10
SLIDE 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

slide-11
SLIDE 11

Commitment Schemes

In order to solve the problem of a misbehaving verifier, it is necessary to introduce commitment schemes

11 / 27

slide-12
SLIDE 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

slide-13
SLIDE 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

slide-14
SLIDE 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

slide-15
SLIDE 15

Commitment Scheme visualized

15 / 27

slide-16
SLIDE 16

The Solution

Remember in the old scheme P just decrypts C and sends M’ back

16 / 27

slide-17
SLIDE 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

slide-18
SLIDE 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

slide-19
SLIDE 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

slide-20
SLIDE 20

Theoretical Applications

In the last example the Verifier was forced to behave according to protocol

20 / 27

slide-21
SLIDE 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

slide-22
SLIDE 22

Practical Applications

Biggest impact of zero-knowledge is in design of efficient protocols for specific problems

22 / 27

slide-23
SLIDE 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

slide-24
SLIDE 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

slide-25
SLIDE 25

Thank you for your attention!

25 / 27

slide-26
SLIDE 26

Time left for a game? Sudoku Zero-Knowledge

26 / 27

slide-27
SLIDE 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