Limitations on Transformations from Composite-Order to Prime-Order - - PowerPoint PPT Presentation

limitations on transformations from composite order to
SMART_READER_LITE
LIVE PREVIEW

Limitations on Transformations from Composite-Order to Prime-Order - - PowerPoint PPT Presentation

Limitations on Transformations from Composite-Order to Prime-Order Groups: The Case of Round-Optimal Blind Signatures Sarah Meiklejohn (UC San Diego) Hovav Shacham (UC San Diego) David Mandell Freeman (Stanford University) 1 Elliptic curves:


slide-1
SLIDE 1

Limitations on Transformations from Composite-Order to Prime-Order Groups: The Case of Round-Optimal Blind Signatures

Sarah Meiklejohn (UC San Diego) Hovav Shacham (UC San Diego) David Mandell Freeman (Stanford University)

1

slide-2
SLIDE 2

Elliptic curves: what are they and why do we care?

2

Bilinear groups are cyclic groups G of some finite order that admit a nondegenerate bilinear map e: G × G → GT

  • Bilinear: e(xa,y) = e(x,y)a = e(x,ya), nondegenerate: e(x,y) = 1 for all y ⇔ x = 1
  • Composite order: |G| = N (often use N = pq), prime order: |G| = p
slide-3
SLIDE 3

Elliptic curves: what are they and why do we care?

3

Bilinear groups are cyclic groups G of some finite order that admit a nondegenerate bilinear map e: G × G → GT

  • Bilinear: e(xa,y) = e(x,y)a = e(x,ya), nondegenerate: e(x,y) = 1 for all y ⇔ x = 1
  • Composite order: |G| = N (often use N = pq), prime order: |G| = p
slide-4
SLIDE 4

Elliptic curves: what are they and why do we care?

4

Bilinear groups are cyclic groups G of some finite order that admit a nondegenerate bilinear map e: G × G → GT

  • Bilinear: e(xa,y) = e(x,y)a = e(x,ya), nondegenerate: e(x,y) = 1 for all y ⇔ x = 1
  • Composite order: |G| = N (often use N = pq), prime order: |G| = p

Historically, we use elliptic curves for two main reasons:

  • Functionality: IBE [BF01], functional encryption, etc.
  • Efficiency: discrete log problem is harder, can use smaller parameters
slide-5
SLIDE 5

Outline

5

slide-6
SLIDE 6

Divide the talk into three main parts:

Outline

5

slide-7
SLIDE 7

Divide the talk into three main parts:

  • The setting: work in composite-order bilinear groups

Outline

5

slide-8
SLIDE 8

Divide the talk into three main parts:

  • The setting: work in composite-order bilinear groups
  • The application: a round-optimal blind signature scheme

Outline

5

slide-9
SLIDE 9

Divide the talk into three main parts:

  • The setting: work in composite-order bilinear groups
  • The application: a round-optimal blind signature scheme
  • The problem: what if we want to instantiate our scheme in a prime-order

setting instead?

Outline

5

slide-10
SLIDE 10

The setting: composite-order groups

  • Cyclic groups G and GT of order N = pq, G = Gp × Gq but p,q are secret
  • Bilinear map e: G × G → GT
  • Often use the subgroup hiding assumption: element of Gq indistinguishable

from an element of G

  • This setting has proved to be quite useful:

6

slide-11
SLIDE 11

The setting: composite-order groups

  • Cyclic groups G and GT of order N = pq, G = Gp × Gq but p,q are secret
  • Bilinear map e: G × G → GT
  • Often use the subgroup hiding assumption: element of Gq indistinguishable

from an element of G

  • This setting has proved to be quite useful:

6

“somewhat” homomorphic encryption [BGN05]

slide-12
SLIDE 12

group signatures [BW07]

The setting: composite-order groups

  • Cyclic groups G and GT of order N = pq, G = Gp × Gq but p,q are secret
  • Bilinear map e: G × G → GT
  • Often use the subgroup hiding assumption: element of Gq indistinguishable

from an element of G

  • This setting has proved to be quite useful:

6

traitor tracing [BSW06] zero knowledge [GOS06,GS08] “somewhat” homomorphic encryption [BGN05] predicate encryption [KSW08] ring signatures [SW07] HIBE [LW10]

slide-13
SLIDE 13

group signatures [BW07]

The setting: composite-order groups

  • Cyclic groups G and GT of order N = pq, G = Gp × Gq but p,q are secret
  • Bilinear map e: G × G → GT
  • Often use the subgroup hiding assumption: element of Gq indistinguishable

from an element of G

  • This setting has proved to be quite useful:

6

traitor tracing [BSW06] zero knowledge [GOS06,GS08] “somewhat” homomorphic encryption [BGN05] predicate encryption [KSW08] ring signatures [SW07] blind signatures [MSF10] HIBE [LW10]

slide-14
SLIDE 14

Composite- vs. prime-order groups

7

slide-15
SLIDE 15

Composite- vs. prime-order groups

7

Why would we switch to prime-order groups?

slide-16
SLIDE 16

Composite- vs. prime-order groups

7

Why would we switch to prime-order groups?

  • Composite-order means bigger: in prime-order groups, can use group of

size ~160 bits; in composite-order groups need ~1024 bits (discrete log vs. factoring)

  • In addition, there aren’t many composite-order curve families (need to use

supersingular vs. ordinary curves)

slide-17
SLIDE 17

Composite- vs. prime-order groups

7

Why would we switch to prime-order groups?

  • Composite-order means bigger: in prime-order groups, can use group of

size ~160 bits; in composite-order groups need ~1024 bits (discrete log vs. factoring)

  • In addition, there aren’t many composite-order curve families (need to use

supersingular vs. ordinary curves) Previously, people converted schemes in an ad-hoc way [W09,GSW09,LW10] Freeman [F10] is first to provide a general conversion method

slide-18
SLIDE 18

The application: round-optimal blind signatures

8

slide-19
SLIDE 19

Signatures: user U obtains a signature σ on a message m from a signer S

The application: round-optimal blind signatures

8

slide-20
SLIDE 20

Signatures: user U obtains a signature σ on a message m from a signer S

The application: round-optimal blind signatures

8

slide-21
SLIDE 21

Signatures: user U obtains a signature σ on a message m from a signer S

The application: round-optimal blind signatures

8

m

slide-22
SLIDE 22

Signatures: user U obtains a signature σ on a message m from a signer S

The application: round-optimal blind signatures

8

m σ

slide-23
SLIDE 23

Signatures: user U obtains a signature σ on a message m from a signer S In a blind signature scheme [Ch82], user gets this signature without the signer learning which message it signed!

The application: round-optimal blind signatures

8

m σ

slide-24
SLIDE 24

Signatures: user U obtains a signature σ on a message m from a signer S In a blind signature scheme [Ch82], user gets this signature without the signer learning which message it signed!

The application: round-optimal blind signatures

8

m σ req

slide-25
SLIDE 25

Signatures: user U obtains a signature σ on a message m from a signer S In a blind signature scheme [Ch82], user gets this signature without the signer learning which message it signed!

The application: round-optimal blind signatures

8

m σ req σ´

slide-26
SLIDE 26

Signatures: user U obtains a signature σ on a message m from a signer S In a blind signature scheme [Ch82], user gets this signature without the signer learning which message it signed!

The application: round-optimal blind signatures

8

m σ req σ´ σ

slide-27
SLIDE 27

Signatures: user U obtains a signature σ on a message m from a signer S In a blind signature scheme [Ch82], user gets this signature without the signer learning which message it signed!

The application: round-optimal blind signatures

8

m σ req σ´ σ

Same σ as in the unblinded case above

slide-28
SLIDE 28

Signatures: user U obtains a signature σ on a message m from a signer S In a blind signature scheme [Ch82], user gets this signature without the signer learning which message it signed! Applications: electronic cash, anonymous credentials, etc.

The application: round-optimal blind signatures

8

m σ req σ´ σ

Same σ as in the unblinded case above

slide-29
SLIDE 29

Signatures: user U obtains a signature σ on a message m from a signer S In a blind signature scheme [Ch82], user gets this signature without the signer learning which message it signed! Applications: electronic cash, anonymous credentials, etc. Still a very active research area [O06,F09,AO10,AHO10,R10,GRSSU11]

The application: round-optimal blind signatures

8

m σ req σ´ σ

Same σ as in the unblinded case above

slide-30
SLIDE 30

Our scheme: ideas

9

slide-31
SLIDE 31

Simple construction (inspired by [BW06]): combine Waters signature [W07] with Groth-Sahai zero-knowledge proofs [GS08]

Our scheme: ideas

9

slide-32
SLIDE 32

Simple construction (inspired by [BW06]): combine Waters signature [W07] with Groth-Sahai zero-knowledge proofs [GS08] Recap of Groth-Sahai setting:

Our scheme: ideas

9

slide-33
SLIDE 33

Simple construction (inspired by [BW06]): combine Waters signature [W07] with Groth-Sahai zero-knowledge proofs [GS08] Recap of Groth-Sahai setting:

Our scheme: ideas

9

e: G × G → GT

slide-34
SLIDE 34

Simple construction (inspired by [BW06]): combine Waters signature [W07] with Groth-Sahai zero-knowledge proofs [GS08] Recap of Groth-Sahai setting:

Our scheme: ideas

9

e: G × G → GT τ↓................. E: B × B → BT

slide-35
SLIDE 35

Simple construction (inspired by [BW06]): combine Waters signature [W07] with Groth-Sahai zero-knowledge proofs [GS08] Recap of Groth-Sahai setting:

  • Abstract assumption: B = B1 × B2, where B1 is indistinguishable from B
  • Subgroup hiding: set B = G = Gp × Gq

Our scheme: ideas

9

e: G × G → GT τ↓................. E: B × B → BT

slide-36
SLIDE 36

Simple construction (inspired by [BW06]): combine Waters signature [W07] with Groth-Sahai zero-knowledge proofs [GS08] Recap of Groth-Sahai setting:

  • Abstract assumption: B = B1 × B2, where B1 is indistinguishable from B
  • Subgroup hiding: set B = G = Gp × Gq
  • DLIN: rank 2 matrix ~ rank 3 matrix for a 3×3 matrix over Fp

Our scheme: ideas

9

e: G × G → GT τ↓................. E: B × B → BT

slide-37
SLIDE 37

Simple construction (inspired by [BW06]): combine Waters signature [W07] with Groth-Sahai zero-knowledge proofs [GS08] Recap of Groth-Sahai setting:

  • Abstract assumption: B = B1 × B2, where B1 is indistinguishable from B
  • Subgroup hiding: set B = G = Gp × Gq
  • DLIN: rank 2 matrix ~ rank 3 matrix for a 3×3 matrix over Fp
  • Benefits: can use composite- and prime-order settings

Our scheme: ideas

9

e: G × G → GT τ↓................. E: B × B → BT

slide-38
SLIDE 38

Our scheme: sketch

10

slide-39
SLIDE 39

Our scheme: sketch

10

slide-40
SLIDE 40

Our scheme: sketch

  • User: write message bitwise as m = b1...bn, compute GS commitment ci to

each bit bi and GS proof πi that value in ci is either 0 or 1

10

slide-41
SLIDE 41

Our scheme: sketch

  • User: write message bitwise as m = b1...bn, compute GS commitment ci to

each bit bi and GS proof πi that value in ci is either 0 or 1

10

req={ci,πi}

slide-42
SLIDE 42

Our scheme: sketch

  • User: write message bitwise as m = b1...bn, compute GS commitment ci to

each bit bi and GS proof πi that value in ci is either 0 or 1

  • Signer: check proof (ci,πi) for each i, then compute blind signature (K1,K2,{K3j})

10

req={ci,πi}

slide-43
SLIDE 43

Our scheme: sketch

  • User: write message bitwise as m = b1...bn, compute GS commitment ci to

each bit bi and GS proof πi that value in ci is either 0 or 1

  • Signer: check proof (ci,πi) for each i, then compute blind signature (K1,K2,{K3j})

10

req={ci,πi} σ´=(K1,K2,{K3j})

slide-44
SLIDE 44

Our scheme: sketch

  • User: write message bitwise as m = b1...bn, compute GS commitment ci to

each bit bi and GS proof πi that value in ci is either 0 or 1

  • Signer: check proof (ci,πi) for each i, then compute blind signature (K1,K2,{K3j})
  • User: check blind signature was formed properly, then unblind it using

randomness from the commitments to get Waters signature (S1,S2)

10

req={ci,πi} σ´=(K1,K2,{K3j})

slide-45
SLIDE 45

Our scheme: sketch

  • User: write message bitwise as m = b1...bn, compute GS commitment ci to

each bit bi and GS proof πi that value in ci is either 0 or 1

  • Signer: check proof (ci,πi) for each i, then compute blind signature (K1,K2,{K3j})
  • User: check blind signature was formed properly, then unblind it using

randomness from the commitments to get Waters signature (S1,S2)

10

req={ci,πi} σ=(S1,S2) σ´=(K1,K2,{K3j})

slide-46
SLIDE 46

Our scheme: sketch

  • User: write message bitwise as m = b1...bn, compute GS commitment ci to

each bit bi and GS proof πi that value in ci is either 0 or 1

  • Signer: check proof (ci,πi) for each i, then compute blind signature (K1,K2,{K3j})
  • User: check blind signature was formed properly, then unblind it using

randomness from the commitments to get Waters signature (S1,S2)

10

req={ci,πi} σ=(S1,S2)

Request is a bit long, but...

σ´=(K1,K2,{K3j})

slide-47
SLIDE 47

Our scheme: sketch

  • User: write message bitwise as m = b1...bn, compute GS commitment ci to

each bit bi and GS proof πi that value in ci is either 0 or 1

  • Signer: check proof (ci,πi) for each i, then compute blind signature (K1,K2,{K3j})
  • User: check blind signature was formed properly, then unblind it using

randomness from the commitments to get Waters signature (S1,S2)

10

req={ci,πi} σ=(S1,S2)

...blind signature is short (j=1,2,or 3), and... Request is a bit long, but...

σ´=(K1,K2,{K3j})

slide-48
SLIDE 48

Our scheme: sketch

  • User: write message bitwise as m = b1...bn, compute GS commitment ci to

each bit bi and GS proof πi that value in ci is either 0 or 1

  • Signer: check proof (ci,πi) for each i, then compute blind signature (K1,K2,{K3j})
  • User: check blind signature was formed properly, then unblind it using

randomness from the commitments to get Waters signature (S1,S2)

10

req={ci,πi} σ=(S1,S2)

...blind signature is short (j=1,2,or 3), and... ...signature obtained is short as well! Request is a bit long, but...

σ´=(K1,K2,{K3j})

slide-49
SLIDE 49

Our scheme: security

11

slide-50
SLIDE 50

Our scheme: security

11

Can prove the following security theorem:

  • Under the subgroup hiding and CDH assumptions, our blind signature

scheme is one-more unforgeable and blind (using the standard definitions [JLO97])

slide-51
SLIDE 51

Our scheme: security

11

Can prove the following security theorem:

  • Under the subgroup hiding and CDH assumptions, our blind signature

scheme is one-more unforgeable and blind (using the standard definitions [JLO97]) Can we prove a more abstract theorem?

slide-52
SLIDE 52

Our scheme: security

11

Can prove the following security theorem:

  • Under the subgroup hiding and CDH assumptions, our blind signature

scheme is one-more unforgeable and blind (using the standard definitions [JLO97]) Can we prove a more abstract theorem?

  • Blindness requires only the abstract assumption, ...
  • ... but one-more unforgeability requires more.
slide-53
SLIDE 53

Projecting and cancelling

12

slide-54
SLIDE 54

Projecting and cancelling

12

Security proof relies on two properties: projecting and cancelling

slide-55
SLIDE 55

Projecting and cancelling

12

Security proof relies on two properties: projecting and cancelling For projecting, we have:

  • decomposition B = B1 × B2
  • map π: B → B2 such that π(b=b1*b2) = b2
  • map πT such that πT(E(a,b)) = E(π(a),π(b))
slide-56
SLIDE 56

Projecting and cancelling

12

Security proof relies on two properties: projecting and cancelling For projecting, we have:

  • decomposition B = B1 × B2
  • map π: B → B2 such that π(b=b1*b2) = b2
  • map πT such that πT(E(a,b)) = E(π(a),π(b))

For cancelling, we have:

  • decomposition B = B1 × B2 such that E(a,b) = 1 for all a in B1, b in B2
slide-57
SLIDE 57

Projecting and cancelling

12

Security proof relies on two properties: projecting and cancelling For projecting, we have:

  • decomposition B = B1 × B2
  • map π: B → B2 such that π(b=b1*b2) = b2
  • map πT such that πT(E(a,b)) = E(π(a),π(b))

For cancelling, we have:

  • decomposition B = B1 × B2 such that E(a,b) = 1 for all a in B1, b in B2

In composite-order groups: B = G = Gp × Gq Projecting: π(x) = xλ for λ s.t. λ = 0 mod p λ = 1 mod q Then π(g) = π(gp∗gq) = (gq∗gp)λ = gq Cancelling: E(gp,gq) = E(gq,gp) = E(g,g)pq = E(g,g)N = 1

slide-58
SLIDE 58

Projecting and cancelling

12

Security proof relies on two properties: projecting and cancelling For projecting, we have:

  • decomposition B = B1 × B2
  • map π: B → B2 such that π(b=b1*b2) = b2
  • map πT such that πT(E(a,b)) = E(π(a),π(b))

For cancelling, we have:

  • decomposition B = B1 × B2 such that E(a,b) = 1 for all a in B1, b in B2

Freeman [F10] provides generic transformation to prime-order groups for schemes in composite-order groups that require either of these two properties

In composite-order groups: B = G = Gp × Gq Projecting: π(x) = xλ for λ s.t. λ = 0 mod p λ = 1 mod q Then π(g) = π(gp∗gq) = (gq∗gp)λ = gq Cancelling: E(gp,gq) = E(gq,gp) = E(g,g)pq = E(g,g)N = 1

slide-59
SLIDE 59

The problem: what if we want both properties?

13

slide-60
SLIDE 60

The problem: what if we want both properties?

13

This turns out to be very tricky!

slide-61
SLIDE 61

The problem: what if we want both properties?

13

This turns out to be very tricky! We want to prove the following theorem:

  • If we use the DLIN assumption for the indistinguishability of B1 and B and

E is cancelling, then E cannot be projecting.

slide-62
SLIDE 62

The problem: what if we want both properties?

13

This turns out to be very tricky! We want to prove the following theorem:

  • If we use the DLIN assumption for the indistinguishability of B1 and B and

E is cancelling, then E cannot be projecting. Break it up into two lemmas:

  • Cancelling shrinks the target space: If we use the DLIN assumption for the

indistinguishability of B1 and B and E is cancelling, then |E(B,B)| = p.

  • Can’t project with small target: If |E(B,B)| = p then E cannot be projecting.
slide-63
SLIDE 63

The problem: what if we want both properties?

13

This turns out to be very tricky! We want to prove the following theorem:

  • If we use the DLIN assumption for the indistinguishability of B1 and B and

E is cancelling, then E cannot be projecting. Break it up into two lemmas:

  • Cancelling shrinks the target space: If we use the DLIN assumption for the

indistinguishability of B1 and B and E is cancelling, then |E(B,B)| = p.

  • Can’t project with small target: If |E(B,B)| = p then E cannot be projecting.
slide-64
SLIDE 64

The problem: what if we want both properties?

14

We can prove the following theorem:

  • If we use the DLIN assumption* for the indistinguishability of B1 and B and

E is cancelling, then E cannot be projecting with overwhelming probability. Break it up into two lemmas:

  • Let E: B × B → BT be a nondegenerate pairing that is independent of the

decomposition B = B1 × B2. Then if B = G3, B1 is a uniformly random rank-2 submodule of B, and E is cancelling, then |E(B,B)| = p with

  • verwhelming probability.
  • Can’t project with small target: If |E(B,B)| = p then E cannot be projecting.
slide-65
SLIDE 65

The problem: what if we want both properties?

14

E is public, if dependent on B1 could reveal information to help to distinguish it from B We can prove the following theorem:

  • If we use the DLIN assumption* for the indistinguishability of B1 and B and

E is cancelling, then E cannot be projecting with overwhelming probability. Break it up into two lemmas:

  • Let E: B × B → BT be a nondegenerate pairing that is independent of the

decomposition B = B1 × B2. Then if B = G3, B1 is a uniformly random rank-2 submodule of B, and E is cancelling, then |E(B,B)| = p with

  • verwhelming probability.
  • Can’t project with small target: If |E(B,B)| = p then E cannot be projecting.
slide-66
SLIDE 66

The problem: what if we want both properties?

14

E is public, if dependent on B1 could reveal information to help to distinguish it from B If B1 is not random, can’t be sure DLIN still holds We can prove the following theorem:

  • If we use the DLIN assumption* for the indistinguishability of B1 and B and

E is cancelling, then E cannot be projecting with overwhelming probability. Break it up into two lemmas:

  • Let E: B × B → BT be a nondegenerate pairing that is independent of the

decomposition B = B1 × B2. Then if B = G3, B1 is a uniformly random rank-2 submodule of B, and E is cancelling, then |E(B,B)| = p with

  • verwhelming probability.
  • Can’t project with small target: If |E(B,B)| = p then E cannot be projecting.
slide-67
SLIDE 67

Conclusions

15

slide-68
SLIDE 68

Conclusions

15

Showed that if we want projecting and cancelling, generic transformations from composite- to prime-order groups fail

  • Can’t use DLIN (more generally k-Linear [HK07,S07])
  • This suggests possible functionality gap
slide-69
SLIDE 69

Conclusions

15

Showed that if we want projecting and cancelling, generic transformations from composite- to prime-order groups fail

  • Can’t use DLIN (more generally k-Linear [HK07,S07])
  • This suggests possible functionality gap

Constructed a round-optimal blind signature scheme

  • First efficient scheme using ‘mild’ assumptions (non-interactive, static),

even including ones in the random oracle model

  • Signature scheme demonstrates potential need for both properties
slide-70
SLIDE 70

Open problems

16

Positive: Negative:

slide-71
SLIDE 71

Open problems

  • Construct a projecting and cancelling pairing in prime-order groups

16

Positive: Negative:

slide-72
SLIDE 72

Open problems

  • Construct a projecting and cancelling pairing in prime-order groups

16

Positive: Negative:

  • Prove there can be no projecting and cancelling pairing in prime-order groups
slide-73
SLIDE 73

Open problems

  • Construct a projecting and cancelling pairing in prime-order groups
  • Prove our scheme secure in prime-order groups

16

Positive: Negative:

  • Prove there can be no projecting and cancelling pairing in prime-order groups
slide-74
SLIDE 74

Open problems

  • Construct a projecting and cancelling pairing in prime-order groups
  • Prove our scheme secure in prime-order groups

16

Positive: Negative:

  • Prove there can be no projecting and cancelling pairing in prime-order groups
  • Show our scheme is insecure in prime-order groups
slide-75
SLIDE 75

Open problems

  • Construct a projecting and cancelling pairing in prime-order groups
  • Prove our scheme secure in prime-order groups
  • Show another general conversion from composite- to prime-order groups

16

Positive: Negative:

  • Prove there can be no projecting and cancelling pairing in prime-order groups
  • Show our scheme is insecure in prime-order groups
slide-76
SLIDE 76

Open problems

  • Construct a projecting and cancelling pairing in prime-order groups
  • Prove our scheme secure in prime-order groups
  • Show another general conversion from composite- to prime-order groups

16

Positive: Negative:

  • Prove there can be no projecting and cancelling pairing in prime-order groups
  • Show our scheme is insecure in prime-order groups
  • Prove that some other properties cannot be achieved in prime-order groups
slide-77
SLIDE 77

Open problems

  • Construct a projecting and cancelling pairing in prime-order groups
  • Prove our scheme secure in prime-order groups
  • Show another general conversion from composite- to prime-order groups

16

Positive: Negative:

  • Prove there can be no projecting and cancelling pairing in prime-order groups
  • Show our scheme is insecure in prime-order groups
  • Prove that some other properties cannot be achieved in prime-order groups

Any questions?