Efficient Delegation of Zero-Knowledge Proofs of Knowledge in a - - PowerPoint PPT Presentation

efficient delegation of zero knowledge proofs of
SMART_READER_LITE
LIVE PREVIEW

Efficient Delegation of Zero-Knowledge Proofs of Knowledge in a - - PowerPoint PPT Presentation

Efficient Delegation of Zero-Knowledge Proofs of Knowledge in a Pairing-Friendly Setting ebastien Canard (1) , David Pointcheval (2) and Olivier Sanders (1 , 2) S (1) Orange Labs, Caen, France (2) Ecole Normale Sup erieure, Paris,


slide-1
SLIDE 1

Efficient Delegation of Zero-Knowledge Proofs of Knowledge in a Pairing-Friendly Setting

S´ ebastien Canard(1), David Pointcheval(2) and Olivier Sanders(1,2) (1) Orange Labs, Caen, France (2) ´ Ecole Normale Sup´ erieure, Paris, France PKC 2014, March 26, 2014

slide-2
SLIDE 2

Agenda

Zero-Knowledge Proofs of Knowledge Delegation of Proofs of Knowledge Conclusion

PKC 2014 – p 2

slide-3
SLIDE 3

Zero-Knowledge Proofs of Knowledge

PKC 2014 – p 3

slide-4
SLIDE 4

Zero-Knowledge Proofs of Knowledge

Zero-Knowledge Proofs of Knowledge enable a prover P to convince

a verifier V that:

− a statement is true. − he knows a witness for this fact.

They must fulfil the following properties:

− Completeness. − Zero-Knowledge: Nothing but the validity of the statement is

revealed.

− Soundness: P knows a witness. PKC 2014 – p 4

slide-5
SLIDE 5

Schnorr protocol

Example: the Schnorr protocol for proving knowledge of α such that

V = [α]A in a group G of prime order p. P V k

$

← Zp, R ← [k]A R − − − − − → c ← − − − − − c ← {0, 1}l s ← k + c · α s − − − − − → [s]A

?

= R + [c]V

PKC 2014 – p 5

slide-6
SLIDE 6

Schnorr protocol

Example: the Schnorr protocol for proving knowledge of α such that

V = [α]A in a group G of prime order p. P V k

$

← Zp, R ← [k]A R − − − − − → c ← − − − − − c ← {0, 1}l s ← k + c · α s − − − − − → [s]A

?

= R + [c]V

PKC 2014 – p 5

slide-7
SLIDE 7

Applications

These proofs have played a significant role in cryptography:

− Group Signature − E-cash − Direct Anonymous Attestation − Voting − ...

Indeed, these primitives require to prove that some public elements

are well-formed.

PKC 2014 – p 6

slide-8
SLIDE 8

Discrete-Log Relation Sets

Such complex primitives usually deal with a Discrete-Log Relations

Set (DLRS, as defined by Kiayias, Tsiounis and Yung): Relations Commitments V1 = [α1]A1,1 − − − − − → R1 ← [k1]A1,1

PKC 2014 – p 7

slide-9
SLIDE 9

Discrete-Log Relation Sets

Such complex primitives usually deal with a Discrete-Log Relations

Set (DLRS, as defined by Kiayias, Tsiounis and Yung): Relations Commitments V1 = [α1]A1,1 − − − − − → R1 ← [k1]A1,1 ∧ V2 = [α1]A2,1 − − − − − → R2 ← [k1]A2,1

PKC 2014 – p 7

slide-10
SLIDE 10

Discrete-Log Relation Sets

Such complex primitives usually deal with a Discrete-Log Relations

Set (DLRS, as defined by Kiayias, Tsiounis and Yung): Relations Commitments V1 = [α1]A1,1 − − − − − → R1 ← [k1]A1,1 ∧ V2 = [α1]A2,1 − − − − − → R2 ← [k1]A2,1 ∧ V3 = [α1]A3,1 + [α2]A3,2 − − − − − → R3 ← [k1]A3,1 + [k2]A3,2

PKC 2014 – p 7

slide-11
SLIDE 11

Discrete-Log Relation Sets

Such complex primitives usually deal with a Discrete-Log Relations

Set (DLRS, as defined by Kiayias, Tsiounis and Yung): Relations Commitments V1 = [α1]A1,1 − − − − − → R1 ← [k1]A1,1 ∧ V2 = [α1]A2,1 − − − − − → R2 ← [k1]A2,1 ∧ V3 = [α1]A3,1 + [α2]A3,2 − − − − − → R3 ← [k1]A3,1 + [k2]A3,2 ∧ ... − − − − − → ... ∧ Vr =

j∈Ir

[αj]Aj,r − − − − − → Rr =

j∈Ir

[kj]Aj,r

The number of commitments grows with the one of relations.

PKC 2014 – p 7

slide-12
SLIDE 12

Constrained devices

The pair (phone/SIM card) is suitable for proving knowledge.

− The phone is powerful enough for computing the commitments. − The secret values can be stored in the SIM card.

But:

− The SIM card is not able to compute the commitments. − The phone is not fully trusted.

= ⇒ How can we delegate these computations?

PKC 2014 – p 8

slide-13
SLIDE 13

Methodology

We split the prover P into 2 entities:

− A trusted but constrained one (e.g. the SIM card) − A more powerful but not fully trusted one (e.g. the phone)

The phone may have access to additional information but cannot

recover the secret values.

The proof must remain zero-knowledge w.r.t. the verifier V.

PKC 2014 – p 9

slide-14
SLIDE 14

An example: D.A.A.

A Direct Anonymous Attestation (D.A.A) enables members of a

group to anonymously sign on behalf of the group.

The signer is split into a trusted entity (the TPM) and a not fully

trusted one (the Host):

− Anonymity w.r.t the Host is not required. − Non-frameability is required.

The Host can have access to the member’s certificate but not to his

secret key.

PKC 2014 – p 10

slide-15
SLIDE 15

Delegation of Proofs of Knowledge

PKC 2014 – p 11

slide-16
SLIDE 16

Bilinear groups

Most efficient implementations of the previous primitives use bilinear

groups.

Bilinear groups are a set of 3 groups G1, G2 and GT of prime order

p along with a map e such that: ∀(X, X) ∈ G1 × G2 and a, b ∈ Zp e([a]X, [b] X) = e(X, X)a·b ∀(X1, X2) ∈ G2

1, e(X1 + X2,

X) = e(X1, X) · e(X2, X)

PKC 2014 – p 12

slide-17
SLIDE 17

A first Step

To prove knowledge of α such that :

V1 = [α]A1, V2 = [α]A2, ..., Vn = [α]An with Ai ∈ G1

We can compute the commitment in G2:

R1 ← [k]A1 R2 ← [k]A2 ... Rn ← [k]An        = ⇒ R ← [k] G, for some G ∈ G2

Transmit c and s = k + c · α as in the Schnorr protocol. And verify it in GT, for all 1 ≤ i ≤ n:

e([s]Ai, G)

?

= e(Ai, R) · e(Vi, G)c

PKC 2014 – p 13

slide-18
SLIDE 18

A first Step

The SIM card only has to compute one scalar multiplication, instead

  • f n.

The verification now involves pairings but in many cases the verifier

will be able to perform them quickly.

The proof is sound, but not zero-knowledge!

− From

R we can recover [α] G ⇒ it cannot be sent to V.

− From [α]

G we cannot recover α ⇒ it can be sent to the phone.

D.A.A. Example: Knowledge of [α]

G does not allow the Host to impersonate the TPM. = ⇒ Security of the scheme is ensured.

PKC 2014 – p 14

slide-19
SLIDE 19

Making the proof Zero-Knowledge

To make the proof zero-knowledge, the phone will bind

R to each Ai: ∀1 ≤ i ≤ n : bi

$

← Zp, Bi ← [b−1

i

]Ai and Bi ← [bi] R

(Bi,

Bi) are sent to V which can check the proof: e([s]Ai, G)

?

= e(Bi, Bi) · e(Vi, G)c

The proof is now zero-knowledge but we must extend it to more

complex relations: V =

m

  • j=1

[αj]Aj

PKC 2014 – p 15

slide-20
SLIDE 20

A first protocol

To remain zero-knowledge, the phone must bind the different

commitments Rj ← [kj] G.

If we knew the elements

Aj ← [

k=j

ak] G where Aj = [aj]G, the phone could:

− select t1, ..., tm−1

$

← Zp and tm ∈ Zp such that

m

  • j=1

tj = 0.

− compute and send Bj ← [b−1

j

]Aj and Bj ← [bj]( Rj+[tj] Aj)

V could check that:

e(

m

  • j=1

[sj]Aj, G)

?

= e(V , G)c ·

m

  • j=1

e(Bj, Bj)

PKC 2014 – p 16

slide-21
SLIDE 21

A second protocol

Knowledge of

Aj is a strong assumption but:

− If m = 1,

Aj = G

− If m = 2 then {

Aj}j = {Aj}j when using a symmetric pairing.

We need to modify this solution to suit the other cases. The phone:

− selects t1, ...tm

$

← Zp (without any condition).

− computes and sends H ←

m

  • j=1

[tj]Aj, Bj and Bj ← [bj]( Rj + [tj] G)

Verification is similar:

e(H+

m

  • j=1

[sj]Aj, G)

?

= e(V , G)c ·

m

  • j=1

e(Bj, Bj)

PKC 2014 – p 17

slide-22
SLIDE 22

In summary

For a relation:

V =

m

  • j=1

[αj]Aj

The SIM card computes:

  • Rj ← [kj]

G

The commitments received by V are:

H ←

m

  • j=1

[tj]Aj, Bj ← [b−1

j

]Aj and Bj ← [bj]( Rj + [tj] G)

PKC 2014 – p 18

slide-23
SLIDE 23

In summary

For a relation:

V =

m

  • j=1

[αj]Aj

The SIM card computes:

  • Rj ← [kj]

G

The commitments received by V are:

H ←

m

  • j=1

[tj]Aj, Bj ← [b−1

j

]Aj and Bj ← [bj]( Rj + [tj] G)

The factors (bj)j bind the elements

Rj to the basis (Aj)j. = ⇒ else, V would learn [αj] G

PKC 2014 – p 18

slide-24
SLIDE 24

In summary

For a relation:

V =

m

  • j=1

[αj]Aj

The SIM card computes:

  • Rj ← [kj]

G

The commitments received by V are:

H ←

m

  • j=1

[tj]Aj, Bj ← [b−1

j

]Aj and Bj ← [bj]( Rj + [tj] G)

The factors (tj)j bind the elements

Rj together. = ⇒ else, V would learn e(Aj, G)αj

PKC 2014 – p 18

slide-25
SLIDE 25

In summary

For a relation:

V =

m

  • j=1

[αj]Aj

The SIM card computes:

  • Rj ← [kj]

G

The commitments received by V are:

H ←

m

  • j=1

[tj]Aj, Bj ← [b−1

j

]Aj and Bj ← [bj]( Rj + [tj] G)

These additional factors must be cancelled.

= ⇒ else, V could not check the validity of the proof.

PKC 2014 – p 18

slide-26
SLIDE 26

Security

The proof is complete. The proof is sound. The proof is zero-knowledge w.r.t. V. The proof only leaks [α1]

G, ..., [αm] G to the phone.

PKC 2014 – p 19

slide-27
SLIDE 27

Complexity

To prove knowledge of α1, ..., αm such that:

V1 = [α1]A1,1 + ... + [αm]A1,m ... Vn = [α1]An,1 + ... + [αm]An,m

The SIM card must perform:

− n × m scalar multiplications with the Schnorr protocol. − m scalar multiplications with our protocol.

G is a random element from G2 = ⇒ each Rj can be pre-computed.

Each

Rj is sent to the phone = ⇒ The SIM card just needs to store the seed and the index used to generate the factors kj.

PKC 2014 – p 20

slide-28
SLIDE 28

Complexity

The work is shifted to the phone and to the verifier:

− For the phone: between 2n × m and 4n × m scalar multiplications

(half of them being pre-computable).

− For V: n × (m + 1) pairing computations.

This tradeoff is motivated by the different computational powers:

− SIM card / Phone − SIM card / Server (acting as V) PKC 2014 – p 21

slide-29
SLIDE 29

Conclusion

PKC 2014 – p 22

slide-30
SLIDE 30

Conclusion

Our protocols are zero-knowledge proofs of knowledge of a DLRS. The prover P is split between two entities. The low-power entity only has to pre-compute one scalar

multiplication by secret.

The protocol only leaks few information to the delegatee. It involves additional computations (compared to the Schnorr

protocol) for the delegatee and V.

PKC 2014 – p 23

slide-31
SLIDE 31

thank you

PKC 2014 – p 24