Blind Signatures with flying colors Olivier Blazy XLim, Universit - - PowerPoint PPT Presentation

blind signatures with flying colors
SMART_READER_LITE
LIVE PREVIEW

Blind Signatures with flying colors Olivier Blazy XLim, Universit - - PowerPoint PPT Presentation

Blind Signatures with flying colors Olivier Blazy XLim, Universit de Limoges Feb 2014 O. Blazy (XLim) Blind Sig Feb 2014 1 / 50 General Remarks 1 Building blocks 2 Non-Interactive Proofs of Knowledge 3 Interactive Implicit Proofs 4


slide-1
SLIDE 1

Blind Signatures with flying colors

Olivier Blazy

XLim, Université de Limoges

Feb 2014

  • O. Blazy

(XLim) Blind Sig Feb 2014 1 / 50

slide-2
SLIDE 2

1

General Remarks

2

Building blocks

3

Non-Interactive Proofs of Knowledge

4

Interactive Implicit Proofs

5

Can we do better?

  • O. Blazy

(XLim) Blind Sig Feb 2014 2 / 50

slide-3
SLIDE 3

1

General Remarks

2

Building blocks

3

Non-Interactive Proofs of Knowledge

4

Interactive Implicit Proofs

5

Can we do better?

  • O. Blazy

(XLim) Blind Sig Feb 2014 2 / 50

slide-4
SLIDE 4

1

General Remarks

2

Building blocks

3

Non-Interactive Proofs of Knowledge

4

Interactive Implicit Proofs

5

Can we do better?

  • O. Blazy

(XLim) Blind Sig Feb 2014 2 / 50

slide-5
SLIDE 5

1

General Remarks

2

Building blocks

3

Non-Interactive Proofs of Knowledge

4

Interactive Implicit Proofs

5

Can we do better?

  • O. Blazy

(XLim) Blind Sig Feb 2014 2 / 50

slide-6
SLIDE 6

1

General Remarks

2

Building blocks

3

Non-Interactive Proofs of Knowledge

4

Interactive Implicit Proofs

5

Can we do better?

  • O. Blazy

(XLim) Blind Sig Feb 2014 2 / 50

slide-7
SLIDE 7

Electronic Voting

For dessert, we let people vote Chocolate Cake Cheese Cake Fruit Salad Brussels Sprout After collection, we count the number of ballots: Chocolate Cake 123 Cheese Cake 79 Fruit Salad 42 Brussels sprout 1

  • O. Blazy

(XLim) Blind Sig Feb 2014 3 / 50

slide-8
SLIDE 8

Authentication

Only people authorized to vote should be able to vote People should be able to vote only once

Anonymity

Votes and voters should be anonymous △ Receipt freeness

  • O. Blazy

(XLim) Blind Sig Feb 2014 4 / 50

slide-9
SLIDE 9

Homomorphic Encryption and Signature approach

The voter generates his vote v. The voter encrypts v to the server as c. The voter signs c and outputs σ. (c, σ) is a ballot unique per voter, and anonymous. Counting: granted homomorphic encryption C = c. The server decrypts C.

  • O. Blazy

(XLim) Blind Sig Feb 2014 5 / 50

slide-10
SLIDE 10

Electronic Cash

D e p

  • s

i t W i t h d r a w Spend R a n d

  • m

i z e R a n d

  • m

i z e I d e n t i f y

  • O. Blazy

(XLim) Blind Sig Feb 2014 6 / 50

slide-11
SLIDE 11

Protocol

Withdrawal: A user get a coin c from the bank Spending: A user pays a shop with the coin c Deposit: The shop gives the coin c back to the bank

Electronic Coins Chaum 81

Expected properties Unforgeability Coins are signed by the bank No Double-Spending Each coin is unique Anonymity Blind Signature

Definition (Blind Signature)

A blind signature allows a user to get a message m signed by an authority into σ so that the authority even powerful cannot recognize later the pair (m, σ).

  • O. Blazy

(XLim) Blind Sig Feb 2014 7 / 50

slide-12
SLIDE 12

RSA-Based Blind Signature

The easiest way for blind signatures, is to blind the message: To get an FDH-RSA signature on m under RSA public key (n, e), The user computes a blind version of the hash value: M = H(m) and M′ = M · r e mod n The signer signs M′ into σ′ = M′d The user recovers σ = σ′/r → Proven under the One-More RSA Assumption in 2001 → Perfectly Blind Signature

  • O. Blazy

(XLim) Blind Sig Feb 2014 8 / 50

slide-13
SLIDE 13

Round-Optimal Blind Signature Fischlin 06

The user encrypts his message m in c. The signer then signs c in σ. The user verifies σ. He then encrypts σ and c into Cσ and C and generates a proof π. π: Cσ is an encryption of a signature over the ciphertext c encrypted in C, and this c is indeed an encryption of m. Anyone can then use C, Cσ, π to check the validity of the signature.

  • O. Blazy

(XLim) Blind Sig Feb 2014 9 / 50

slide-14
SLIDE 14

Vote

A user should be able to encrypt a ballot. He should be able to sign this encryption. Receiving this vote, one should be able to randomize for Receipt-Freeness.

E-Cash

A user should be able to encrypt a token The bank should be able to sign it providing Unforgeability This signature should now be able to be randomized to provide Anonymity

Our Solution

Same underlying requirements; Advance security notions in both schemes requires to extract some kind of signature on the associated plaintext; General Framework for Signature on Randomizable Ciphertexts; Revisited Waters, Commutative encryption / signature.

  • O. Blazy

(XLim) Blind Sig Feb 2014 10 / 50

slide-15
SLIDE 15

1

General Remarks

2

Building blocks Bilinear groups aka Pairing-friendly environments Commitment / Encryption Signatures Security hypotheses

3

Non-Interactive Proofs of Knowledge

4

Interactive Implicit Proofs

5

Can we do better?

  • O. Blazy

(XLim) Blind Sig Feb 2014 11 / 50

slide-16
SLIDE 16

Asymmetric bilinear structure

(p, G1, G2, GT, e, g1, g2) bilinear structure: G1, G2, GT multiplicative groups of order p

p = prime integer

g∗ = G∗ e : G × G → GT

e(g1, g2) = GT e(g a

1, g b 2 ) = e(g1, g2)ab, a, b ∈ Z

deciding group membership, group operations, bilinear map      efficiently computable.

  • O. Blazy

(XLim) Blind Sig Feb 2014 12 / 50

slide-17
SLIDE 17

Definition (Encryption Scheme)

E = (Setup, EKeyGen, Encrypt, Decrypt): Setup(1K): param; EKeyGen(param): public encryption key pk, private decryption key dk; Encrypt(pk, m; r): ciphertext c on m ∈ M and pk; Decrypt(dk, c): decrypts c under dk.

r pk, r dk C F(M) EncryptSE DecryptE r ′ RandomE

Indistinguishability: Given M0, M1, it should be hard to guess which one is encrypted in C.

  • O. Blazy

(XLim) Blind Sig Feb 2014 13 / 50

slide-18
SLIDE 18

Definition (ElGamal Encryption) (84)

Setup(1K): Generates a multiplicative group (p, G, g). EKeyGenE(param): dk = µ

$

← Zp, and pk = (X1 = g µ). Encrypt(pk = X1, M; α): For M, and random α

$

← Zp, C =

  • c1 = X α

1 , c2 = g α · M

  • .

Decrypt(dk = (µ), C = (c1, c2)): Computes M = c2/(c1/µ

1

).

Randomization

Random(pk, C; r) : C′ =

  • c1X r

1, c2g r

=

  • X α+r

1

, g α+r · M

  • O. Blazy

(XLim) Blind Sig Feb 2014 14 / 50

slide-19
SLIDE 19

Definition (Commitment Scheme)

E = (Setup, Commit, Decommit): Setup(1K): param, ck; Commit(ck, m; r): c on the input message m ∈ M using r

$

← R; Decommit(c, m; w) opens c and reveals m, together with w that proves the correct opening.

C M r Decommit Commit ck, r

  • O. Blazy

(XLim) Blind Sig Feb 2014 15 / 50

slide-20
SLIDE 20

s′ sk; s σ(F) F(M) SignS RandomS

Definition (Signature Scheme)

S = (Setup, SKeyGen, Sign, Verif): Setup(1K): param; SKeyGen(param): public verification key vk, private signing key sk; Sign(sk, m; s): signature σ on m, under sk; Verif(vk, m, σ): checks whether σ is valid on m. Unforgeability: Given q pairs (mi, σi), it should be hard to output a valid σ on a fresh m.

  • O. Blazy

(XLim) Blind Sig Feb 2014 16 / 50

slide-21
SLIDE 21

Definition (Waters Signature) (Wat05)

SetupS(1K): Generates (p, G, GT, e, g), an extra h, and (ui) for the Waters function (F(m) = u0

  • i umi

i ).

SKeyGenS(param): Picks x

$

← Zp and outputs sk = hx, and vk = g x; Sign(sk, m; s): Outputs σ(m) = (skF(m)s, g s); Verif(vk, m, σ): Checks the validity of σ: e(g, σ1)

?

= e(F(m), σ2) · e(vk, h)

Randomization

Random(σ; r) : σ′ =

  • σ1F(m)r, σ2g r

=

  • skF(m)r+s, g r+s
  • O. Blazy

(XLim) Blind Sig Feb 2014 17 / 50

slide-22
SLIDE 22

Definition (DL)

Given g, h ∈ G2, it is hard to compute α such that h = g α.

Definition (CDH)

Given g, g a, h ∈ G3, it is hard to compute ha.

  • O. Blazy

(XLim) Blind Sig Feb 2014 18 / 50

slide-23
SLIDE 23

1

General Remarks

2

Building blocks

3

Non-Interactive Proofs of Knowledge Groth Sahai methodology Signature on Ciphertexts Application to other protocols Waters Programmability

4

Interactive Implicit Proofs

5

Can we do better?

  • O. Blazy

(XLim) Blind Sig Feb 2014 19 / 50

slide-24
SLIDE 24

Groth-Sahai Proof System

Pairing product equation (PPE): for variables X1, . . . , Xm ∈ G1 (E) :

n

  • j=1

e(Aj, YJ)

m

  • i=1

e(Xi, Bi)

m

  • i=1

n

  • j=1

e(Xi, Yj)γi,j = tT determined by Ai ∈ G1, Bi ∈ G2, γi,j ∈ Zp and tT ∈ GT. Groth-Sahai WI proofs that elements that were committed satisfy PPE Setup(G): commitment key ck; Com(ck, X ∈ G; ρ): commitment cX to X; Prove(ck, (Xi, ρi)i=1,...,n, (E)): proof φ; Verify(ck, cXi, (E), φ): checks whether φ is valid.

  • O. Blazy

(XLim) Blind Sig Feb 2014 20 / 50

slide-25
SLIDE 25

Groth-Sahai Proof System

Pairing product equation (PPE): for variables X1, . . . , Xm ∈ G1 (E) :

n

  • j=1

e(Aj, YJ)

m

  • i=1

e(Xi, Bi)

m

  • i=1

n

  • j=1

e(Xi, Yj)γi,j = tT determined by Ai ∈ G1, Bi ∈ G2, γi,j ∈ Zp and tT ∈ GT. Groth-Sahai WI proofs that elements that were committed satisfy PPE Setup(G): commitment key ck; Com(ck, X ∈ G; ρ): commitment cX to X; Prove(ck, (Xi, ρi)i=1,...,n, (E)): proof φ; Verify(ck, cXi, (E), φ): checks whether φ is valid.

  • O. Blazy

(XLim) Blind Sig Feb 2014 20 / 50

slide-26
SLIDE 26

(E) :

n

  • j=1

e(Aj, YJ)

m

  • i=1

e(Xi, Bi)

m

  • i=1

n

  • j=1

e(Xi, Yj)γi,j = tT Assumption DLin SXDH Variables 3 2 PPE 9 (4,4) Linear 3 2 Verification 12n + 27 5m + 3n + 16 [ACNS 2010: BFI+] 3n + 6 m + 2n + 8 Properties: correctness soundness witness-indistinguishability randomizability Commitments and proofs are publicly randomizable.

  • O. Blazy

(XLim) Blind Sig Feb 2014 21 / 50

slide-27
SLIDE 27

(E) :

n

  • j=1

e(Aj, YJ)

m

  • i=1

e(Xi, Bi)

m

  • i=1

n

  • j=1

e(Xi, Yj)γi,j = tT Assumption DLin SXDH Variables 3 2 PPE 9 (4,4) Linear 3 2 Verification 12n + 27 5m + 3n + 16 [ACNS 2010: BFI+] 3n + 6 m + 2n + 8 Properties: correctness soundness witness-indistinguishability randomizability Commitments and proofs are publicly randomizable.

  • O. Blazy

(XLim) Blind Sig Feb 2014 21 / 50

slide-28
SLIDE 28

(E) :

n

  • j=1

e(Aj, YJ)

m

  • i=1

e(Xi, Bi)

m

  • i=1

n

  • j=1

e(Xi, Yj)γi,j = tT Assumption DLin SXDH Variables 3 2 PPE 9 (4,4) Linear 3 2 Verification 12n + 27 5m + 3n + 16 [ACNS 2010: BFI+] 3n + 6 m + 2n + 8 Properties: correctness soundness witness-indistinguishability randomizability Commitments and proofs are publicly randomizable.

  • O. Blazy

(XLim) Blind Sig Feb 2014 21 / 50

slide-29
SLIDE 29

Commutative properties

Encrypt

To encrypt a message m: c = (pkr, F(m) · g r)

  • O. Blazy

(XLim) Blind Sig Feb 2014 22 / 50

slide-30
SLIDE 30

Commutative properties

Encrypt

To encrypt a message m: c = (pkr, F(m) · g r)

Sign ◦ Encrypt

To sign a valid ciphertext c1, c2, c3, one has simply to produce. σ = (c1

s, sk · c2 s, pks, g s) .

  • O. Blazy

(XLim) Blind Sig Feb 2014 22 / 50

slide-31
SLIDE 31

Commutative properties

Encrypt

To encrypt a message m: c = (pkr, F(m) · g r)

Sign ◦ Encrypt

To sign a valid ciphertext c1, c2, c3, one has simply to produce. σ = (c1

s, sk · c2 s, pks, g s) .

Decrypt ◦ Sign ◦ Encrypt

Using dk. σ = (σ2/σdk

1 , σ4) = (sk · F(m)s, g s) .

  • O. Blazy

(XLim) Blind Sig Feb 2014 22 / 50

slide-32
SLIDE 32

Definition (Signature on Ciphertexts)

SE = (Setup, SKeyGen, EKeyGen, Encrypt, Sign, Decrypt, Verif): Setup(1K): parame, params; EKeyGen(parame): pk, dk; SKeyGen(params): vk, sk; Encrypt(pk, vk, m; r): produces c on m ∈ M and pk; Sign(sk, pk, c; s): produces σ, on the input c under sk; Decrypt(dk, vk, c): decrypts c under dk; Verif(vk, pk, c, σ): checks whether σ is valid.

Definition (Extractable Randomizable Signature on Ciphertexts)

SE=(Setup, SKeyGen, EKeyGen, Encrypt, Sign, Random, Decrypt, Verif, SigExt): Random(vk, pk, c, σ; r ′, s′) produces c′ and σ′ on c′, using additional coins; SigExt(dk, vk, σ) outputs a signature σ∗.

  • O. Blazy

(XLim) Blind Sig Feb 2014 23 / 50

slide-33
SLIDE 33

Randomizable Signature on Ciphertexts [PKC 2011: BFPV]

s′ dk r pk, r dk sk, pk, c; s sk; s σ(C) C EncryptSE DecryptE r SigExtSE SignS SignSE RandomS M σ(M)

  • O. Blazy

(XLim) Blind Sig Feb 2014 24 / 50

slide-34
SLIDE 34

Extractable SRC

s′ dk r pk, r dk sk, pk, c; s sk; s r

, s

σ(C) σ(M) C M EncryptSE DecryptE r SigExtSE SignS SignSE r′ RandomE RandomS R a n d

  • m

S E

  • O. Blazy

(XLim) Blind Sig Feb 2014 25 / 50

slide-35
SLIDE 35

E-Voting [PKC 2011: BFPV]

dk r pk, r sk, pk, c; s r

, s

σ(C) σ(F) C F(M) EncryptSE SignSE R a n d

  • m

S E

SigExtSE Authority User

  • O. Blazy

(XLim) Blind Sig Feb 2014 26 / 50

slide-36
SLIDE 36

Blind Signature [PKC 2011: BFPV]

s′ dk r pk, r dk sk, pk, c; s σ(C) σ(F) C F(M) EncryptSE DecryptE r SigExtSE SignSE RandomS Signer User

  • O. Blazy

(XLim) Blind Sig Feb 2014 27 / 50

slide-37
SLIDE 37

Partially-Blind Signature

User Signer info ← − − − − − − − − − − → C ′ = C(M, info) − − − − − − − − − − − − − − − → σ(C ′) ← − − − − − − − − − − − − − − −

  • O. Blazy

(XLim) Blind Sig Feb 2014 28 / 50

slide-38
SLIDE 38

Partially-Blind Signature

User Signer C ′ = C(M, info) − − − − − − − − − − − − − − − → σ(C ′, infos) ← − − − − − − − − − − − − − − −

  • O. Blazy

(XLim) Blind Sig Feb 2014 28 / 50

slide-39
SLIDE 39

Signer-Friendly Partially Blind Signature [SCN 2012: BPV]

s′ r F(M) r RandomS User BlindBS pkBS, r SignBS σ(F′) Verif UnblindBS Signer C ′ σ(C ′) infos C info skBS, C ′, infos; s

  • O. Blazy

(XLim) Blind Sig Feb 2014 29 / 50

slide-40
SLIDE 40

Multi-Source Blind Signatures

Wireless Sensor Network Captors Central Hub Receiver c1 − − − − − − − − − − − → C =

  • ci

− − − − − − − − − − − → ci − − − − − − − − − − − → cn − − − − − − − − − − − → σ(C, s) − − − − − − − − − − − →

  • O. Blazy

(XLim) Blind Sig Feb 2014 30 / 50

slide-41
SLIDE 41

Multi-Source Blind Signatures [SCN 2012: BPV]

Signer BlindBS SignBS RandomS s′ pkBS, ri ri Ci σ( Ci) Fi σ( F) dkBS User i R skBS, C1, . . . , Cn; s UnblindBS Verif

  • O. Blazy

(XLim) Blind Sig Feb 2014 31 / 50

slide-42
SLIDE 42

Two solutions

Different Generators

Each captor has a disjoint set of generators for the Waters function Enormous public key

  • O. Blazy

(XLim) Blind Sig Feb 2014 32 / 50

slide-43
SLIDE 43

Two solutions

Different Generators

Each captor has a disjoint set of generators for the Waters function Enormous public key

  • O. Blazy

(XLim) Blind Sig Feb 2014 32 / 50

slide-44
SLIDE 44

Two solutions

Different Generators

Each captor has a disjoint set of generators for the Waters function Enormous public key

A single set of generators

The captors share the same set of generators Waters over a non-binary alphabet?

  • O. Blazy

(XLim) Blind Sig Feb 2014 32 / 50

slide-45
SLIDE 45

Two solutions

Different Generators

Each captor has a disjoint set of generators for the Waters function Enormous public key

A single set of generators

The captors share the same set of generators Waters over a non-binary alphabet?

  • O. Blazy

(XLim) Blind Sig Feb 2014 32 / 50

slide-46
SLIDE 46

Programmability of Waters over a non-binary alphabet

Definition ((m, n)-programmability)

F is (m, n) programmable if given g, h there is an efficient trapdoor producing aX, bX such that F(X) = g aX hbX , and for all Xi, Zj, Pr[aX1 = · · · = aXm = 0 ∧ aZ1 · . . . · aZn = 0] is not negligible.

(1, q)-Programmability of Waters function

Why do we need it: Unforgeabilty, q signing queries, 1 signature to exploit. Choose independent and uniform elements (ai)(1,...,ℓ) in {−1, 0, 1}, and random exponents (bi)(0,...,ℓ), and setting a0 = −1. Then ui = g aihbi. F(m) = u0 umi

i

= g

  • δi aih
  • δi bi = g amhbm.
  • O. Blazy

(XLim) Blind Sig Feb 2014 33 / 50

slide-47
SLIDE 47

Non (2, 1)-programmability

Waters over a non-binary alphabet is not (2, 1)-programmable.

(1, q)-programmability

Waters over a polynomial alphabet remains (1, q)-programmable.

  • O. Blazy

(XLim) Blind Sig Feb 2014 34 / 50

slide-48
SLIDE 48

Sum of random walks on polynomial alphabets

Local Central Limit Theorem ⇋ Lindeberg Feller

  • O. Blazy

(XLim) Blind Sig Feb 2014 35 / 50

slide-49
SLIDE 49

New primitive: Signature on Randomizable Ciphertexts [PKC 2011: BFPV] One Round Blind Signature [PKC 2011: BFPV] Receipt Free E-Voting [PKC 2011: BFPV] Signer-Friendly Blind Signature [SCN 2012: BPV] Multi-Source Blind Signature [SCN 2012: BPV]

Efficiency

DLin + CDH : 9ℓ + 24 Group elements. SXDH + CDH+ : 6ℓ + 15, 6ℓ + 7 Group elements.

  • O. Blazy

(XLim) Blind Sig Feb 2014 36 / 50

slide-50
SLIDE 50

1

General Remarks

2

Building blocks

3

Non-Interactive Proofs of Knowledge

4

Interactive Implicit Proofs Motivation Smooth Projective Hash Function Application

5

Can we do better?

  • O. Blazy

(XLim) Blind Sig Feb 2014 37 / 50

slide-51
SLIDE 51

Certification of Public Keys: (NI)ZKPoK

Certification of a public key Server User pk ← → π(sk) ← → Cert

  • O. Blazy

(XLim) Blind Sig Feb 2014 38 / 50

slide-52
SLIDE 52

Certification of Public Keys: (NI)ZKPoK

Certification of a public key Server User pk ← → π(sk) ← → Cert

  • O. Blazy

(XLim) Blind Sig Feb 2014 38 / 50

slide-53
SLIDE 53

Certification of Public Keys: (NI)ZKPoK

Certification of a public key Server User pk ← π(sk) → Cert

  • O. Blazy

(XLim) Blind Sig Feb 2014 38 / 50

slide-54
SLIDE 54

Certification of Public Keys: (NI)ZKPoK

Certification of a public key Server User pk ← π(sk) → Cert

  • O. Blazy

(XLim) Blind Sig Feb 2014 38 / 50

slide-55
SLIDE 55

Certification of Public Keys: (NI)ZKPoK

Certification of a public key Server User pk ← π(sk) → Cert π can be forwarded

  • O. Blazy

(XLim) Blind Sig Feb 2014 38 / 50

slide-56
SLIDE 56

Certification of Public Keys: SPHF [ACP09]

A user can ask for the certification of pk, but if he knows the associated sk only:

With a Smooth Projective Hash Function

L: pk and C = C(sk; r) are associated to the same sk U sends his pk, and an encryption C of sk; A generates the certificate Cert for pk, and sends it, masked by Hash = Hash(hk; (pk, C)); U computes Hash = ProjHash(hp; (pk, C), r)), and gets Cert.

  • O. Blazy

(XLim) Blind Sig Feb 2014 39 / 50

slide-57
SLIDE 57

Certification of Public Keys: SPHF [ACP09]

A user can ask for the certification of pk, but if he knows the associated sk only:

With a Smooth Projective Hash Function

L: pk and C = C(sk; r) are associated to the same sk U sends his pk, and an encryption C of sk; A generates the certificate Cert for pk, and sends it, masked by Hash = Hash(hk; (pk, C)); U computes Hash = ProjHash(hp; (pk, C), r)), and gets Cert. Implicit proof of knowledge of sk

  • O. Blazy

(XLim) Blind Sig Feb 2014 39 / 50

slide-58
SLIDE 58

Smooth Projective Hash Functions [CS02]

Definition [CS02,GL03]

Let {H} be a family of functions: X, domain of these functions L, subset (a language) of this domain such that, for any point x in L, H(x) can be computed by using either a secret hashing key hk: H(x) = HashL(hk; x);

  • r a public projected key hp: H′(x) = ProjHashL(hp; x, w)

Public mapping hk → hp = ProjKGL(hk, x)

  • O. Blazy

(XLim) Blind Sig Feb 2014 40 / 50

slide-59
SLIDE 59

SPHF Properties

For any x ∈ X, H(x) = HashL(hk; x) For any x ∈ L, H(x) = ProjHashL(hp; x, w) w witness that x ∈ L, hp = ProjKGL(hk, x)

Smoothness

For any x ∈ L, H(x) and hp are independent

Pseudo-Randomness

For any x ∈ L, H(x) is pseudo-random, without a witness w The latter property requires L to be a hard-partitioned subset of X.

  • O. Blazy

(XLim) Blind Sig Feb 2014 41 / 50

slide-60
SLIDE 60

SPHF Properties

For any x ∈ X, H(x) = HashL(hk; x) For any x ∈ L, H(x) = ProjHashL(hp; x, w) w witness that x ∈ L, hp = ProjKGL(hk, x)

Smoothness

For any x ∈ L, H(x) and hp are independent

Pseudo-Randomness

For any x ∈ L, H(x) is pseudo-random, without a witness w The latter property requires L to be a hard-partitioned subset of X.

  • O. Blazy

(XLim) Blind Sig Feb 2014 41 / 50

slide-61
SLIDE 61

SPHF Properties

For any x ∈ X, H(x) = HashL(hk; x) For any x ∈ L, H(x) = ProjHashL(hp; x, w) w witness that x ∈ L, hp = ProjKGL(hk, x)

Smoothness

For any x ∈ L, H(x) and hp are independent

Pseudo-Randomness

For any x ∈ L, H(x) is pseudo-random, without a witness w The latter property requires L to be a hard-partitioned subset of X.

  • O. Blazy

(XLim) Blind Sig Feb 2014 41 / 50

slide-62
SLIDE 62

SPHF Properties

For any x ∈ X, H(x) = HashL(hk; x) For any x ∈ L, H(x) = ProjHashL(hp; x, w) w witness that x ∈ L, hp = ProjKGL(hk, x)

Smoothness

For any x ∈ L, H(x) and hp are independent

Pseudo-Randomness

For any x ∈ L, H(x) is pseudo-random, without a witness w The latter property requires L to be a hard-partitioned subset of X.

  • O. Blazy

(XLim) Blind Sig Feb 2014 41 / 50

slide-63
SLIDE 63

Certification of Public Keys: SPHF [ACP09]

Certification of a public key Server User pk, C = C(sk; r) ← → P = Cert ⊕ Hash(hk; (pk, C)) hp = ProjKG(hk, C) P ⊕ ProjHash(hp; (pk, C), r) = Cert

  • O. Blazy

(XLim) Blind Sig Feb 2014 42 / 50

slide-64
SLIDE 64

Certification of Public Keys: SPHF [ACP09]

Certification of a public key Server User pk, C = C(sk; r) ← → P = Cert ⊕ Hash(hk; (pk, C)) hp = ProjKG(hk, C) P ⊕ ProjHash(hp; (pk, C), r) = Cert Implicit proof of knowledge of sk

  • O. Blazy

(XLim) Blind Sig Feb 2014 42 / 50

slide-65
SLIDE 65

Blind-Signatures [TCC 2012: BPV]

s′ dk r pk, r dk sk, pk, c; s σ(C) σ(F) C F(M) EncryptSE DecryptE r SigExtSE SignSE RandomS Signer User

Groth Sahai

6 ℓ + 7, 6ℓ + 5

  • O. Blazy

(XLim) Blind Sig Feb 2014 43 / 50

slide-66
SLIDE 66

Blind-Signatures [TCC 2012: BPV]

s′ dk r pk, r dk sk, pk, c; s σ(C) σ(F) C F(M) EncryptSE DecryptE r SigExtSE SignSE RandomS Signer User

Groth Sahai

6 ℓ + 7, 6ℓ + 5

SPHF

5 ℓ + 6, 1

Languages

BLin: {0, 1}, ELin: {C(C(...))}.

  • O. Blazy

(XLim) Blind Sig Feb 2014 43 / 50

slide-67
SLIDE 67

Smooth Projective Hash Functions ˆ = implicit proofs of knowledge

  • O. Blazy

(XLim) Blind Sig Feb 2014 44 / 50

slide-68
SLIDE 68

Smooth Projective Hash Functions ˆ = implicit proofs of knowledge

Various Applications: Privacy-preserving protocols:

△ Many more Round optimal applications?

  • O. Blazy

(XLim) Blind Sig Feb 2014 44 / 50

slide-69
SLIDE 69

Smooth Projective Hash Functions ˆ = implicit proofs of knowledge

Various Applications:

IND-CCA [CS02]

Privacy-preserving protocols:

△ Many more Round optimal applications?

  • O. Blazy

(XLim) Blind Sig Feb 2014 44 / 50

slide-70
SLIDE 70

Smooth Projective Hash Functions ˆ = implicit proofs of knowledge

Various Applications:

IND-CCA [CS02] PAKE [GL03]

Privacy-preserving protocols:

△ Many more Round optimal applications?

  • O. Blazy

(XLim) Blind Sig Feb 2014 44 / 50

slide-71
SLIDE 71

Smooth Projective Hash Functions ˆ = implicit proofs of knowledge

Various Applications:

IND-CCA [CS02] PAKE [GL03] Certification of Public Keys [ACP09]

Privacy-preserving protocols:

△ Many more Round optimal applications?

  • O. Blazy

(XLim) Blind Sig Feb 2014 44 / 50

slide-72
SLIDE 72

Smooth Projective Hash Functions ˆ = implicit proofs of knowledge

Various Applications:

IND-CCA [CS02] PAKE [GL03] Certification of Public Keys [ACP09]

Privacy-preserving protocols:

△ Many more Round optimal applications?

  • O. Blazy

(XLim) Blind Sig Feb 2014 44 / 50

slide-73
SLIDE 73

Smooth Projective Hash Functions ˆ = implicit proofs of knowledge

Various Applications:

IND-CCA [CS02] PAKE [GL03] Certification of Public Keys [ACP09]

Privacy-preserving protocols:

Blind signatures [TCC 2012: BPV] △ Many more Round optimal applications?

  • O. Blazy

(XLim) Blind Sig Feb 2014 44 / 50

slide-74
SLIDE 74

Smooth Projective Hash Functions ˆ = implicit proofs of knowledge

Various Applications:

IND-CCA [CS02] PAKE [GL03] Certification of Public Keys [ACP09]

Privacy-preserving protocols:

Blind signatures [TCC 2012: BPV] Oblivious Signature-Based Envelope [TCC 2012: BPV] △ Many more Round optimal applications?

  • O. Blazy

(XLim) Blind Sig Feb 2014 44 / 50

slide-75
SLIDE 75

Smooth Projective Hash Functions ˆ = implicit proofs of knowledge

Various Applications:

IND-CCA [CS02] PAKE [GL03] Certification of Public Keys [ACP09]

Privacy-preserving protocols:

Blind signatures [TCC 2012: BPV] Oblivious Signature-Based Envelope [TCC 2012: BPV] (v)-PAKE, LAKE, Secret Handshakes [PKC/Crypto 2013: BBCPV] △ Many more Round optimal applications?

  • O. Blazy

(XLim) Blind Sig Feb 2014 44 / 50

slide-76
SLIDE 76

Smooth Projective Hash Functions ˆ = implicit proofs of knowledge

Various Applications:

IND-CCA [CS02] PAKE [GL03] Certification of Public Keys [ACP09]

Privacy-preserving protocols:

Blind signatures [TCC 2012: BPV] Oblivious Signature-Based Envelope [TCC 2012: BPV] (v)-PAKE, LAKE, Secret Handshakes [PKC/Crypto 2013: BBCPV] Oblivious Transfer [AC 2013: ABBCP] △ Many more Round optimal applications?

  • O. Blazy

(XLim) Blind Sig Feb 2014 44 / 50

slide-77
SLIDE 77

Smooth Projective Hash Functions ˆ = implicit proofs of knowledge

Various Applications:

IND-CCA [CS02] PAKE [GL03] Certification of Public Keys [ACP09]

Privacy-preserving protocols:

Blind signatures [TCC 2012: BPV] Oblivious Signature-Based Envelope [TCC 2012: BPV] (v)-PAKE, LAKE, Secret Handshakes [PKC/Crypto 2013: BBCPV] Oblivious Transfer [AC 2013: ABBCP] △ Many more Round optimal applications?

  • O. Blazy

(XLim) Blind Sig Feb 2014 44 / 50

slide-78
SLIDE 78

Groth-Sahai

Allows to combine efficiently classical building blocks Allows several kind of new signatures under standard hypotheses

Smooth Projective Hash Functions

Can handle more general languages under better hypotheses Do not add any extra-rounds in an interactive scenario More efficient in the usual cases

  • O. Blazy

(XLim) Blind Sig Feb 2014 45 / 50

slide-79
SLIDE 79

Groth-Sahai

Allows to combine efficiently classical building blocks Allows several kind of new signatures under standard hypotheses

Smooth Projective Hash Functions

Can handle more general languages under better hypotheses Do not add any extra-rounds in an interactive scenario More efficient in the usual cases

  • O. Blazy

(XLim) Blind Sig Feb 2014 45 / 50

slide-80
SLIDE 80

1

General Remarks

2

Building blocks

3

Non-Interactive Proofs of Knowledge

4

Interactive Implicit Proofs

5

Can we do better? The problem Very high level idea

  • O. Blazy

(XLim) Blind Sig Feb 2014 46 / 50

slide-81
SLIDE 81

We commit to bitstring, bit by bit Can we sign a whole message? No, we can not extract a scalar Can we sign a whole message as a group element? Can we do that?

  • O. Blazy

(XLim) Blind Sig Feb 2014 47 / 50

slide-82
SLIDE 82

We commit to bitstring, bit by bit Can we sign a whole message? No, we can not extract a scalar Can we sign a whole message as a group element? Can we do that?

  • O. Blazy

(XLim) Blind Sig Feb 2014 47 / 50

slide-83
SLIDE 83

We commit to bitstring, bit by bit Can we sign a whole message? No, we can not extract a scalar Can we sign a whole message as a group element? Can we do that?

  • O. Blazy

(XLim) Blind Sig Feb 2014 47 / 50

slide-84
SLIDE 84

We commit to bitstring, bit by bit Can we sign a whole message? No, we can not extract a scalar Can we sign a whole message as a group element? Can we do that?

  • O. Blazy

(XLim) Blind Sig Feb 2014 47 / 50

slide-85
SLIDE 85

We commit to bitstring, bit by bit Can we sign a whole message? No, we can not extract a scalar Can we sign a whole message as a group element? Can we do that?

  • O. Blazy

(XLim) Blind Sig Feb 2014 47 / 50

slide-86
SLIDE 86

Structure Preserving Signature

Original Definition: Signatures composed of group elements, whose public keys are group elements and who signed group elements

Limits

Classical constructions have limits . . . Relies on twisted hypothesis Have a size linear in log p

  • O. Blazy

(XLim) Blind Sig Feb 2014 48 / 50

slide-87
SLIDE 87

Structure Preserving Signature

Original Definition: Signatures composed of group elements, whose public keys are group elements and who signed group elements

Limits

Classical constructions have limits . . . Relies on twisted hypothesis Have a size linear in log p

  • O. Blazy

(XLim) Blind Sig Feb 2014 48 / 50

slide-88
SLIDE 88

Solution

Constant size Structure Preserving Signature (4,1) Standard hypothesis

But...

It is not randomizable So need 34,4 elements for the Blind Signatures . . .

  • O. Blazy

(XLim) Blind Sig Feb 2014 49 / 50

slide-89
SLIDE 89

Thank you..

  • O. Blazy

(XLim) Blind Sig Feb 2014 50 / 50