Proof-of-Knowledge of Representation of ... - Semantic Scholar

1 downloads 0 Views 178KB Size Report
A Proof-of-Knowledge protocol which is zero-knowledge ... Our protocol is zero-knowledge in the sense that the verifier .... non-interactive zero-knowledge proof-.
Proof-of-Knowledge of Representation of Committed Value and Its Applications Man Ho Au, Willy Susilo and Yi Mu ACISP 2010

Agenda   

Introduction Our Protocol Three Applications   



Blind Signature Compact E-Cash Traceable Signatures

Conclusion University of Wollongong

2

Introduction 

Zero-Knowledge Proof A protocol such that a prover convinces a verifier that a certain statement is true, while the verifier learns nothing except the validity of the assertion

University of Wollongong

3

Introduction 

Proof-of-Knowledge A protocol that convince a verifier that the prover knows a certain quantity satisfying some kinds of relation with respect to a commonly known string

University of Wollongong

4

Introduction 

Zero-Knowledge Proof-of-Knowledge (ZKPoK) A Proof-of-Knowledge protocol which is zero-knowledge

University of Wollongong

5

Introduction 

Discrete logarithm of an element 



Let G = be a cyclic group of prime order x is the discrete logarithm of a value y to base h if y = hx

University of Wollongong

6

Introduction 

Representation of an element  

Let h1, …, hL be generators of G A tuple x=(x1, …, xL) is a representation of a value y to base h1, …, hL if y = h1x1…hLxL

University of Wollongong

7

Introduction 

Commitment Scheme 



A two stages protocol between committer Alice and receiver Bob Commit Stage 



Alice has a private input x, produces and gives Bob a value C, called the commitment of x

Reveal Stage 

Alice reveals x to Bob University of Wollongong

8

Introduction 

Commitment Scheme 



Hiding: Bob learns nothing about x in the commit stage Binding: Alice can only reveal a single value (i.e. x) in the reveal stage

University of Wollongong

9

Introduction 

Pedersen Commitment 





Let G be a cyclic group and g, g0, g1, …, gL be generators To commit a tuple x, choose a random number r and compute C = grg1x1…gLxL To reveal x, output x and r

University of Wollongong

10

Introduction  



Let G be a cyclic group of prime order p Let H be a cyclic group of prime order q such that H is a subgroup of Zp* Let C, D be commitments of a value y and a tuple x such that x is a representation of y

University of Wollongong

11

Introduction 

Our Contributions 

Given C and D, we present a zero-knowledge proof-of-knowledge protocol such that   



y is committed in C x is committed in D x is a representation of y

Our protocol is zero-knowledge in the sense that the verifier learns nothing about x and y

University of Wollongong

12

Introduction 

Our Contributions 

Three applications of our argument system are presented   

Blind Signature Traceable Signatures Compact E-Cash

University of Wollongong

13

Agenda   

Introduction Our Protocol Three Applications   



Blind Signature Compact E-Cash Traceable Signatures

Conclusion University of Wollongong

14

Our Protocol 

ZKPoK of Double Discrete Logarithm [Stadler] 



Alice wishes to prove to Bob the knowledge of x such that C=g^{h^x} Both Alice and Bob knows C

University of Wollongong

15

Our Protocol 

3-Move Protocol 

 



Alice sends to Bob T =g^h^r for some random number r Bob returns a bit c = 0 / 1 Alice computes and returns to Bob z = r – cx Bob checks if T = g^{h^z} if c = 0 C^{h^z} if c = 1 University of Wollongong

16

Our Protocol 





Alice can cheat with probability 1/2 by guessing the value of c and computing T = g^h^z or y^h^z To make the probability negligible, repeat the protocol for t times Stadler Protocol does not hide the witness x… University of Wollongong

17

Our Protocol 

Our Protocol 

 

Alice wishes to prove to Bob the knowledge of x and s such that C=g^{h^x}g0s Both Alice and Bob knows C C is a commitment of h^x and thus leak no information on x

University of Wollongong

18

Our Protocol 

Three-Move Protocol 

 

Alice sends to Bob T =g^{h^a}g0^b for some random numbers a, b Bob returns a bit c = 0 / 1 Alice computes and returns to Bob a pair (u, v)  



u = a and v = b if c = 0 u = a – x and v = b – hus if c = 1

Bob checks if T =  

g^{h^u} g0^v if c = 0 C^{h^u} g0^v if c = 1 University of Wollongong

19

Our Protocol 



Again, the protocol needs to be repeated t times Generalization of our protocol 

Alice wishes to prove to Bob the knowledge of a tuple x and s such that C=g^{h0^rh1^{x_1}…hL^{x_L}}g0s

University of Wollongong

20

Our Protocol 

Three-Move Protocol 

Alice sends to Bob 



T=g^{{h_0}^{a_0}…h_L^{a_L}}g0^b for some random numbers a_0, … a_L, b

Bob returns a bit c = 0 / 1

University of Wollongong

21

Our Protocol 

Alice computes and returns to Bob a tuple (u_0,… u_L, v)  



u_i = a_i, v = b if c = 0 u_0 = a_0 – r, u_i=a_i – x_i, v = b – {h_0}^{u_0}…h_L^{u_L}s if c = 1

Bob checks whether T =  

g^{{h_0}^{u_0}…h_L^{u_L}} g0^v if c =0 C^{{h_0}^{u_0}…h_L^{u_L}} g0^v if c = 1

University of Wollongong

22

Our Protocol 



Our Protocol is Honest Verifier ZeroKnowledge, meaning that it is zeroknowledge with respect to verifier that follows the protocol It can be turned into non-interactive form using the Fiat-Shamir Transform

University of Wollongong

23

Agenda   

Introduction Our Protocol Three Applications   



Blind Signature Compact E-Cash Traceable Signatures

Conclusion University of Wollongong

24

Blind Signature 



Alice wishes to obtain a signature on message m from Bob without revealing m… It is conceptually easy to build a blind signature using our zero-knowledge argument system

University of Wollongong

25

Blind Signature   



Let m be the message. Alice produces a value D = h0rh1m Alice sends D to Bob, who signs D and produces a signature σ Alice produces a value C, which is a commitment of D, i.e., C = g0sg1D

University of Wollongong

26

Blind Signature 

Using our protocol, Alice generates a non-interactive zero-knowledge proofof-knowledge π which proves the knowledge of the values σ,r such that   

(1) C is a commitment of D (2) D can be represented as h0rh1m (3) σ is a valid signature on D

University of Wollongong

27

Blind Signature 



Alice parses the blind signature on m as (C, π) To verify the signature, one checks if π is a valid proof which guarantees that  



C is a commitment of a certain value D Alice knows the discrete logarithm of D/(h1m) to base h0 (i.e. D = h0rh1m) Alice knows a valid signature σ on D University of Wollongong

28

Blind Signature 





Our protocol handles requirements 1 and 2 and it remains to find a suitable signature scheme such that requirement 3 can be efficiently done Specifically, we require a signature scheme which allows zero-knowledge proof-ofknowledge of a signature on committed value Boneh-Boyen short signature is one of the candidates University of Wollongong

29

Agenda   

Introduction The Protocol Three Applications   



Blind Signature Compact E-Cash Traceable Signatures

Conclusion University of Wollongong

30

Compact E-Cash 



Alice wishes to obtain a electronic coin from the bank Bob This coin can be spent for k times, where k is a system parameter

University of Wollongong

31

Compact E-Cash 

Withdrawing a coin  



Alice produces a value D’ = h0s’h1t’h2x Alice sends D’ to Bob, who sets D = D’h0s’’h1t’’ and signs D to produce a signature σ. Bob sends (σ, s’’, t’’) to Alice Alice computes s = s’+s’’, t=t’+t’’ and D accordingly. She parses her electronic coin as (σ, s, t, x, j) where j is the number of times the coin has been spent University of Wollongong

32

Compact E-Cash 

Spending a coin 

 

Alice with electronic coin (σ, s, t, x, j) spends the coin to merchant Carol as follows Let R be a unique identifier for this transaction Alice produces C as a commitment of D, and computes two values,  

S = prf(s, j) T = D(prf(t, j))R

University of Wollongong

33

Compact E-Cash 

Alice then produces a non-interactive proof π, which shows that Alice has the knowledge of the values σ, s, t, x, j such that      

(1) (2) (3) (4) (5) (6)

C is a commitment of D D can be represented as h0sh1th2x σ is a valid signature on D S = prf(s, j) T = D(prf(t, j))R 1 ≤ j ≤k University of Wollongong

34

Compact E-Cash 



Alice gives Carol (π, C, S, T) as the spent coin Carol verifies the proof π and accepts the payment

University of Wollongong

35

Compact E-Cash 

Intuition 



Each electronic coin (σ, s, t, x, j) can be spent up to k times Repeated use of coin will be detected 



The value S = prf(s, j) is deterministic!

Identity of Alice will be revealed with repeated use of coins 

D:= (T^R’ / T^R)^{1/R’-R) University of Wollongong

36

Agenda   

Introduction The Protocol Three Applications   



Blind Signature Compact E-Cash Traceable Signatures

Conclusion University of Wollongong

37

Traceable Signatures 





Bob the group manger certifies a set of users, including Alice Certified user can sign on behalf of the group anonymously In case of dispute, Bob the GM can issue a tracing information which allows linking of all signatures generated by Alice University of Wollongong

38

Traceable Signatures 

Joining the group  



Alice produces a value D’ = h0s’h2x Alice sends D’ to Bob, who sets D = D’h0s’’h1t and signs D to produce a signature σ. Bob sends σ, s’’, t to Alice. Alice computes s = s’+s’’. She parses her secret key as (σ, s, t, x)

University of Wollongong

39

Traceable Signatures 

Generation of a Group Signature 

 



Alice with secret key (σ, s, t, x) generates a signature on behalf of the group as follows Let M be the message Alice produces C as a commitment of D, and computes three values, S = h^k, T=S^t, U = VE (D) University of Wollongong

40

Traceable Signatures 

Alice then produces a non-interactive proof π (signature of knowledge taking M as challenge), which proves the knowledge of the values σ, s,t,x,k such that      

(1) (2) (3) (4) (5) (6)

C is a commitment of D D can be represented as h0sh1th2x σ is a valid signature on D S = h^k T = S^t U =VE(D) University of Wollongong

41

Traceable Signatures 

Alice parses the group signature as (π, C, S, T, U)

University of Wollongong

42

Traceable Signatures 

Open 



Bob decrypts U, obtains D and identifies the user

Trace 

Bob reveals t of a particular user, and everyone can check if the signature belongs to that user by checking if T = St University of Wollongong

43

Agenda   

Introduction The Protocol Three Applications   



Blind Signature Compact E-Cash Traceable Signatures

Conclusion University of Wollongong

44

Conclusion 



We present a zero-knowledge proof-ofknowledge protocol which allows proving the knowledge of representation of a committed value We demonstrate its significance with several applications

University of Wollongong

45

Conclusion 

Efficiency issues 





Protocol has to repeat t times (though that could be done in parallel) DL assumption has to be hard in the subgroup H, meaning that order of G has to be large => inefficient!

Applications 

Non-interactive form of the protocol requires the random oracle model University of Wollongong

46

Suggest Documents