New Constructions and Applications of Trapdoor DDH Groups Yannick - - PowerPoint PPT Presentation

new constructions and applications of trapdoor ddh groups
SMART_READER_LITE
LIVE PREVIEW

New Constructions and Applications of Trapdoor DDH Groups Yannick - - PowerPoint PPT Presentation

New Constructions and Applications of Trapdoor DDH Groups Yannick Seurin ANSSI, France March 1, PKC 2013 Yannick Seurin (ANSSI) Trapdoor DDH Groups PKC 2013 1 / 27 Introduction Introduction: CDH versus DDH group G , element G G of


slide-1
SLIDE 1

New Constructions and Applications

  • f Trapdoor DDH Groups

Yannick Seurin

ANSSI, France

March 1, PKC 2013

Yannick Seurin (ANSSI) Trapdoor DDH Groups PKC 2013 1 / 27

slide-2
SLIDE 2

Introduction

Introduction: CDH versus DDH

group G, element G ∈ G of large order CDH problem: given X = Gx and Y = Gy, compute Gxy DDH problem: distinguish (Gx, Gy, Gxy) and (Gx, Gy, Gz) usual situations in cryptographic groups:

1

CDH and DDH are both (presumably) hard → e.g. prime order subgroup of Z∗

p

2

CDH is (presumably) hard and DDH is universally easy → pairing groups

Yannick Seurin (ANSSI) Trapdoor DDH Groups PKC 2013 2 / 27

slide-3
SLIDE 3

Introduction

Introduction: CDH versus DDH

group G, element G ∈ G of large order CDH problem: given X = Gx and Y = Gy, compute Gxy DDH problem: distinguish (Gx, Gy, Gxy) and (Gx, Gy, Gz) usual situations in cryptographic groups:

1

CDH and DDH are both (presumably) hard → e.g. prime order subgroup of Z∗

p

2

CDH is (presumably) hard and DDH is universally easy → pairing groups

Yannick Seurin (ANSSI) Trapdoor DDH Groups PKC 2013 2 / 27

slide-4
SLIDE 4

Introduction

Introduction: CDH versus DDH

group G, element G ∈ G of large order CDH problem: given X = Gx and Y = Gy, compute Gxy DDH problem: distinguish (Gx, Gy, Gxy) and (Gx, Gy, Gz) usual situations in cryptographic groups:

1

CDH and DDH are both (presumably) hard → e.g. prime order subgroup of Z∗

p

2

CDH is (presumably) hard and DDH is universally easy → pairing groups

Yannick Seurin (ANSSI) Trapdoor DDH Groups PKC 2013 2 / 27

slide-5
SLIDE 5

Introduction

Introduction: trapdoor DDH groups

Trapdoor DDH groups (TDDH groups): lies somewhere between cases 1 and 2: → CDH is hard, while DDH is hard unless one has some trapdoor τ introduced by Dent and Galbraith [DG06] very few constructions (hidden pairing construction by [DG06]) very few applications:

simple identification scheme [DG06] statistically hiding sets [PX09]

Yannick Seurin (ANSSI) Trapdoor DDH Groups PKC 2013 3 / 27

slide-6
SLIDE 6

Introduction

Introduction: trapdoor DDH groups

Trapdoor DDH groups (TDDH groups): lies somewhere between cases 1 and 2: → CDH is hard, while DDH is hard unless one has some trapdoor τ introduced by Dent and Galbraith [DG06] very few constructions (hidden pairing construction by [DG06]) very few applications:

simple identification scheme [DG06] statistically hiding sets [PX09]

Yannick Seurin (ANSSI) Trapdoor DDH Groups PKC 2013 3 / 27

slide-7
SLIDE 7

Introduction

Introduction: trapdoor DDH groups

Trapdoor DDH groups (TDDH groups): lies somewhere between cases 1 and 2: → CDH is hard, while DDH is hard unless one has some trapdoor τ introduced by Dent and Galbraith [DG06] very few constructions (hidden pairing construction by [DG06]) very few applications:

simple identification scheme [DG06] statistically hiding sets [PX09]

Yannick Seurin (ANSSI) Trapdoor DDH Groups PKC 2013 3 / 27

slide-8
SLIDE 8

Introduction

Introduction: trapdoor DDH groups

Trapdoor DDH groups (TDDH groups): lies somewhere between cases 1 and 2: → CDH is hard, while DDH is hard unless one has some trapdoor τ introduced by Dent and Galbraith [DG06] very few constructions (hidden pairing construction by [DG06]) very few applications:

simple identification scheme [DG06] statistically hiding sets [PX09]

Yannick Seurin (ANSSI) Trapdoor DDH Groups PKC 2013 3 / 27

slide-9
SLIDE 9

Introduction

In this paper

Our contributions: we slightly refine the original definition of trapdoor DDH groups by [DG06] we introduce static trapdoor DDH groups we give new constructions of trapdoor DDH and static trapdoor DDH groups based on standard assumptions we show that (static) trapdoor DDH groups give very simple constructions of convertible undeniable signature schemes

Yannick Seurin (ANSSI) Trapdoor DDH Groups PKC 2013 4 / 27

slide-10
SLIDE 10

Introduction

In this paper

Our contributions: we slightly refine the original definition of trapdoor DDH groups by [DG06] we introduce static trapdoor DDH groups we give new constructions of trapdoor DDH and static trapdoor DDH groups based on standard assumptions we show that (static) trapdoor DDH groups give very simple constructions of convertible undeniable signature schemes

Yannick Seurin (ANSSI) Trapdoor DDH Groups PKC 2013 4 / 27

slide-11
SLIDE 11

Introduction

In this paper

Our contributions: we slightly refine the original definition of trapdoor DDH groups by [DG06] we introduce static trapdoor DDH groups we give new constructions of trapdoor DDH and static trapdoor DDH groups based on standard assumptions we show that (static) trapdoor DDH groups give very simple constructions of convertible undeniable signature schemes

Yannick Seurin (ANSSI) Trapdoor DDH Groups PKC 2013 4 / 27

slide-12
SLIDE 12

Introduction

In this paper

Our contributions: we slightly refine the original definition of trapdoor DDH groups by [DG06] we introduce static trapdoor DDH groups we give new constructions of trapdoor DDH and static trapdoor DDH groups based on standard assumptions we show that (static) trapdoor DDH groups give very simple constructions of convertible undeniable signature schemes

Yannick Seurin (ANSSI) Trapdoor DDH Groups PKC 2013 4 / 27

slide-13
SLIDE 13

Outline

Outline

1

Definition of Trapdoor DDH Groups

2

New Constructions of TDDH and Static TDDH Groups A TDDH group based on composite residuosity A static TDDH group based on RSA A static TDDH group based on factoring

3

Application to Convertible Undeniable Signatures

Yannick Seurin (ANSSI) Trapdoor DDH Groups PKC 2013 5 / 27

slide-14
SLIDE 14

Definition of Trapdoor DDH Groups

Outline

1

Definition of Trapdoor DDH Groups

2

New Constructions of TDDH and Static TDDH Groups A TDDH group based on composite residuosity A static TDDH group based on RSA A static TDDH group based on factoring

3

Application to Convertible Undeniable Signatures

Yannick Seurin (ANSSI) Trapdoor DDH Groups PKC 2013 6 / 27

slide-15
SLIDE 15

Definition of Trapdoor DDH Groups

TDDH group: definition

Trapdoor DDH group (G, G, τ) ← GpGen(1k) is a trapdoor DDH group if:

1 the DDH problem is hard for (G, G) without the trapdoor τ 2 the CDH problem is hard even with the trapdoor τ 3 there is a distinguishing algorithm Solve(X, Y , Z, τ) which:

always accepts when (X, Y , Z) is a DDH tuple (completeness) accepts with negligible probability for any adversarially generated Z ← A(X, Y ) (soundness)

When Solve always rejects on input a non-DDH tuple (X, Y , Z), we say that the TDDH group has perfect soundness.

Yannick Seurin (ANSSI) Trapdoor DDH Groups PKC 2013 7 / 27

slide-16
SLIDE 16

Definition of Trapdoor DDH Groups

TDDH group: definition

Trapdoor DDH group (G, G, τ) ← GpGen(1k) is a trapdoor DDH group if:

1 the DDH problem is hard for (G, G) without the trapdoor τ 2 the CDH problem is hard even with the trapdoor τ 3 there is a distinguishing algorithm Solve(X, Y , Z, τ) which:

always accepts when (X, Y , Z) is a DDH tuple (completeness) accepts with negligible probability for any adversarially generated Z ← A(X, Y ) (soundness)

When Solve always rejects on input a non-DDH tuple (X, Y , Z), we say that the TDDH group has perfect soundness.

Yannick Seurin (ANSSI) Trapdoor DDH Groups PKC 2013 7 / 27

slide-17
SLIDE 17

Definition of Trapdoor DDH Groups

TDDH group: definition

Trapdoor DDH group (G, G, τ) ← GpGen(1k) is a trapdoor DDH group if:

1 the DDH problem is hard for (G, G) without the trapdoor τ 2 the CDH problem is hard even with the trapdoor τ 3 there is a distinguishing algorithm Solve(X, Y , Z, τ) which:

always accepts when (X, Y , Z) is a DDH tuple (completeness) accepts with negligible probability for any adversarially generated Z ← A(X, Y ) (soundness)

When Solve always rejects on input a non-DDH tuple (X, Y , Z), we say that the TDDH group has perfect soundness.

Yannick Seurin (ANSSI) Trapdoor DDH Groups PKC 2013 7 / 27

slide-18
SLIDE 18

Definition of Trapdoor DDH Groups

TDDH group: definition

Trapdoor DDH group (G, G, τ) ← GpGen(1k) is a trapdoor DDH group if:

1 the DDH problem is hard for (G, G) without the trapdoor τ 2 the CDH problem is hard even with the trapdoor τ 3 there is a distinguishing algorithm Solve(X, Y , Z, τ) which:

always accepts when (X, Y , Z) is a DDH tuple (completeness) accepts with negligible probability for any adversarially generated Z ← A(X, Y ) (soundness)

When Solve always rejects on input a non-DDH tuple (X, Y , Z), we say that the TDDH group has perfect soundness.

Yannick Seurin (ANSSI) Trapdoor DDH Groups PKC 2013 7 / 27

slide-19
SLIDE 19

Definition of Trapdoor DDH Groups

TDDH group: definition

Trapdoor DDH group (G, G, τ) ← GpGen(1k) is a trapdoor DDH group if:

1 the DDH problem is hard for (G, G) without the trapdoor τ 2 the CDH problem is hard even with the trapdoor τ 3 there is a distinguishing algorithm Solve(X, Y , Z, τ) which:

always accepts when (X, Y , Z) is a DDH tuple (completeness) accepts with negligible probability for any adversarially generated Z ← A(X, Y ) (soundness)

When Solve always rejects on input a non-DDH tuple (X, Y , Z), we say that the TDDH group has perfect soundness.

Yannick Seurin (ANSSI) Trapdoor DDH Groups PKC 2013 7 / 27

slide-20
SLIDE 20

Definition of Trapdoor DDH Groups

Original proposals by Dent-Galbraith [DG06]

Dent and Galbraith originally proposed two TDDH group constructions:

1 disguised elliptic curve [Frey98]

→ broken by Morales [Mor08]

2 hidden pairing:

uses an elliptic curve E over the ring ZN, N = p1p2 point G ∈ E(ZN) of order r1r2 where r1|(p1 + 1) and r2|(p2 + 1) the trapdoor is τ = (p1, p2, r1, r2) by the CRT, (X, Y , Z) ∈ G3 is a DDH tuple iff it reduces to a DDH tuple in E(Fp1) and E(Fp2) → solve the DDH problem in E(Fp1) and E(Fp2) using a pairing problem: no obvious way to hash into G

Yannick Seurin (ANSSI) Trapdoor DDH Groups PKC 2013 8 / 27

slide-21
SLIDE 21

Definition of Trapdoor DDH Groups

Original proposals by Dent-Galbraith [DG06]

Dent and Galbraith originally proposed two TDDH group constructions:

1 disguised elliptic curve [Frey98]

→ broken by Morales [Mor08]

2 hidden pairing:

uses an elliptic curve E over the ring ZN, N = p1p2 point G ∈ E(ZN) of order r1r2 where r1|(p1 + 1) and r2|(p2 + 1) the trapdoor is τ = (p1, p2, r1, r2) by the CRT, (X, Y , Z) ∈ G3 is a DDH tuple iff it reduces to a DDH tuple in E(Fp1) and E(Fp2) → solve the DDH problem in E(Fp1) and E(Fp2) using a pairing problem: no obvious way to hash into G

Yannick Seurin (ANSSI) Trapdoor DDH Groups PKC 2013 8 / 27

slide-22
SLIDE 22

Definition of Trapdoor DDH Groups

Original proposals by Dent-Galbraith [DG06]

Dent and Galbraith originally proposed two TDDH group constructions:

1 disguised elliptic curve [Frey98]

→ broken by Morales [Mor08]

2 hidden pairing:

uses an elliptic curve E over the ring ZN, N = p1p2 point G ∈ E(ZN) of order r1r2 where r1|(p1 + 1) and r2|(p2 + 1) the trapdoor is τ = (p1, p2, r1, r2) by the CRT, (X, Y , Z) ∈ G3 is a DDH tuple iff it reduces to a DDH tuple in E(Fp1) and E(Fp2) → solve the DDH problem in E(Fp1) and E(Fp2) using a pairing problem: no obvious way to hash into G

Yannick Seurin (ANSSI) Trapdoor DDH Groups PKC 2013 8 / 27

slide-23
SLIDE 23

Definition of Trapdoor DDH Groups

Static TDDH groups

Static TDDH group = more restricted variant of TDDH group → the trapdoor τx is dedicated to some fixed element X Static trapdoor DDH group (G, G, τ) ← GpGen(1k) is a static TDDH group if there is a randomized algorithm (X, τx) ← Sample(τ) taking the master trapdoor τ as input such that:

1 the DDH problem is hard for (G, G) without the trapdoor τ 2 the static CDH problem for (G, X) is hard even given τx 3 there is a distinguishing algorithm Solve(X, Y , Z, τx) which

distinguishes DDH tuples from non-DDH tuples Remark: in a static trapdoor DDH group, the Strong Diffie-Hellman problem (i.e. solving the CDH problem given a static DDH oracle) is hard

Yannick Seurin (ANSSI) Trapdoor DDH Groups PKC 2013 9 / 27

slide-24
SLIDE 24

New Constructions of TDDH and Static TDDH Groups

Outline

1

Definition of Trapdoor DDH Groups

2

New Constructions of TDDH and Static TDDH Groups A TDDH group based on composite residuosity A static TDDH group based on RSA A static TDDH group based on factoring

3

Application to Convertible Undeniable Signatures

Yannick Seurin (ANSSI) Trapdoor DDH Groups PKC 2013 10 / 27

slide-25
SLIDE 25

New Constructions of TDDH and Static TDDH Groups A TDDH group based on composite residuosity

Outline

1

Definition of Trapdoor DDH Groups

2

New Constructions of TDDH and Static TDDH Groups A TDDH group based on composite residuosity A static TDDH group based on RSA A static TDDH group based on factoring

3

Application to Convertible Undeniable Signatures

Yannick Seurin (ANSSI) Trapdoor DDH Groups PKC 2013 11 / 27

slide-26
SLIDE 26

New Constructions of TDDH and Static TDDH Groups A TDDH group based on composite residuosity

A TDDH group based on composite residuosity [BCP03]

N = pq, with p, q safe primes G = QRN2 is the group of quadratic residues mod N2 G generator of G Partial discrete log (Paillier [Pai99]) Given the factorization of N, it is possible to compute efficiently the partial discrete log defined as: PDlogG(X) := DlogG(X) mod N .

Yannick Seurin (ANSSI) Trapdoor DDH Groups PKC 2013 12 / 27

slide-27
SLIDE 27

New Constructions of TDDH and Static TDDH Groups A TDDH group based on composite residuosity

A TDDH group based on composite residuosity [BCP03]

N = pq, with p, q safe primes G = QRN2 is the group of quadratic residues mod N2 G generator of G Partial discrete log (Paillier [Pai99]) Given the factorization of N, it is possible to compute efficiently the partial discrete log defined as: PDlogG(X) := DlogG(X) mod N .

Yannick Seurin (ANSSI) Trapdoor DDH Groups PKC 2013 12 / 27

slide-28
SLIDE 28

New Constructions of TDDH and Static TDDH Groups A TDDH group based on composite residuosity

A TDDH group based on composite residuosity [BCP03]

GpGen(1k): N = pq, with p, q safe primes G = QRN2 is the group of quadratic residues mod N2 G generator of G trapdoor τ = (p, q) Solving the DDH problem in (G, G) using trapdoor τ = (p, q): input (X, Y , Z) ∈ G3 compute x′ = PDlogG(X), y′ = PDlogG(Y ), z′ = PDlogG(Z) check whether x′y′ = z′ mod N Described as a “DH gap group” by Bresson et al. [BCP08]

Yannick Seurin (ANSSI) Trapdoor DDH Groups PKC 2013 13 / 27

slide-29
SLIDE 29

New Constructions of TDDH and Static TDDH Groups A TDDH group based on composite residuosity

A TDDH group based on composite residuosity [BCP03]

GpGen(1k): N = pq, with p, q safe primes G = QRN2 is the group of quadratic residues mod N2 G generator of G trapdoor τ = (p, q) Solving the DDH problem in (G, G) using trapdoor τ = (p, q): input (X, Y , Z) ∈ G3 compute x′ = PDlogG(X), y′ = PDlogG(Y ), z′ = PDlogG(Z) check whether x′y′ = z′ mod N Described as a “DH gap group” by Bresson et al. [BCP08]

Yannick Seurin (ANSSI) Trapdoor DDH Groups PKC 2013 13 / 27

slide-30
SLIDE 30

New Constructions of TDDH and Static TDDH Groups A TDDH group based on composite residuosity

A TDDH group based on composite residuosity [BCP03]

GpGen(1k): N = pq, with p, q safe primes G = QRN2 is the group of quadratic residues mod N2 G generator of G trapdoor τ = (p, q) Solving the DDH problem in (G, G) using trapdoor τ = (p, q): input (X, Y , Z) ∈ G3 compute x′ = PDlogG(X), y′ = PDlogG(Y ), z′ = PDlogG(Z) check whether x′y′ = z′ mod N Described as a “DH gap group” by Bresson et al. [BCP08]

Yannick Seurin (ANSSI) Trapdoor DDH Groups PKC 2013 13 / 27

slide-31
SLIDE 31

New Constructions of TDDH and Static TDDH Groups A TDDH group based on composite residuosity

A TDDH group based on composite residuosity [BCP03]

The soundness property relies on the following problem: Partial CDH problem Given N and G generator of G = QRN2, and X, Y ←$ G, output Z such that PDlogG(Z) = PDlogG(X) × PDlogG(Y ) mod N. Issue: this TDDH group does not have perfect soundness The Solve algorithm accepts even for a non-DDH tuple (X, Y , Z) such that PDlogG(Z) = PDlogG(X) × PDlogG(Y ) mod N. Given a DDH tuple (X, Y , Z), anyone can compute Z ′ = ZUN, and (X, Y , Z ′) is a non-DDH tuple which fools the Solve algorithm → problem for some applications (esp. undeniable signatures)

Yannick Seurin (ANSSI) Trapdoor DDH Groups PKC 2013 14 / 27

slide-32
SLIDE 32

New Constructions of TDDH and Static TDDH Groups A TDDH group based on composite residuosity

A TDDH group based on composite residuosity [BCP03]

The soundness property relies on the following problem: Partial CDH problem Given N and G generator of G = QRN2, and X, Y ←$ G, output Z such that PDlogG(Z) = PDlogG(X) × PDlogG(Y ) mod N. Issue: this TDDH group does not have perfect soundness The Solve algorithm accepts even for a non-DDH tuple (X, Y , Z) such that PDlogG(Z) = PDlogG(X) × PDlogG(Y ) mod N. Given a DDH tuple (X, Y , Z), anyone can compute Z ′ = ZUN, and (X, Y , Z ′) is a non-DDH tuple which fools the Solve algorithm → problem for some applications (esp. undeniable signatures)

Yannick Seurin (ANSSI) Trapdoor DDH Groups PKC 2013 14 / 27

slide-33
SLIDE 33

New Constructions of TDDH and Static TDDH Groups A TDDH group based on composite residuosity

A TDDH group based on composite residuosity [BCP03]

The soundness property relies on the following problem: Partial CDH problem Given N and G generator of G = QRN2, and X, Y ←$ G, output Z such that PDlogG(Z) = PDlogG(X) × PDlogG(Y ) mod N. Issue: this TDDH group does not have perfect soundness The Solve algorithm accepts even for a non-DDH tuple (X, Y , Z) such that PDlogG(Z) = PDlogG(X) × PDlogG(Y ) mod N. Given a DDH tuple (X, Y , Z), anyone can compute Z ′ = ZUN, and (X, Y , Z ′) is a non-DDH tuple which fools the Solve algorithm → problem for some applications (esp. undeniable signatures)

Yannick Seurin (ANSSI) Trapdoor DDH Groups PKC 2013 14 / 27

slide-34
SLIDE 34

New Constructions of TDDH and Static TDDH Groups A static TDDH group based on RSA

Outline

1

Definition of Trapdoor DDH Groups

2

New Constructions of TDDH and Static TDDH Groups A TDDH group based on composite residuosity A static TDDH group based on RSA A static TDDH group based on factoring

3

Application to Convertible Undeniable Signatures

Yannick Seurin (ANSSI) Trapdoor DDH Groups PKC 2013 15 / 27

slide-35
SLIDE 35

New Constructions of TDDH and Static TDDH Groups A static TDDH group based on RSA

A static TDDH group based on RSA

GpGen(1k):

N = pq, with p, q safe primes G = JN is the subgroup of Z∗

N of elements with Jacobi symbol 1

G generator of G master trapdoor τ = (p, q)

sampling a group element and the corresponding trapdoor:

draw x ←$ {1, . . . , |JN|}, let X = Gx the trapdoor is τx = 1/x mod ord(JN)

solving the DDH problem for (X, Y , Z) ∈ G3: → check whether Z τx = Y (satisfied iff Z = Y x) Theorem: Under the DDH assumption and the RSA assumption, this is a static TDDH group with perfect soundness NB: implies that Strong DH is hard in JN under the RSA assumption

Yannick Seurin (ANSSI) Trapdoor DDH Groups PKC 2013 16 / 27

slide-36
SLIDE 36

New Constructions of TDDH and Static TDDH Groups A static TDDH group based on RSA

A static TDDH group based on RSA

GpGen(1k):

N = pq, with p, q safe primes G = JN is the subgroup of Z∗

N of elements with Jacobi symbol 1

G generator of G master trapdoor τ = (p, q)

sampling a group element and the corresponding trapdoor:

draw x ←$ {1, . . . , |JN|}, let X = Gx the trapdoor is τx = 1/x mod ord(JN)

solving the DDH problem for (X, Y , Z) ∈ G3: → check whether Z τx = Y (satisfied iff Z = Y x) Theorem: Under the DDH assumption and the RSA assumption, this is a static TDDH group with perfect soundness NB: implies that Strong DH is hard in JN under the RSA assumption

Yannick Seurin (ANSSI) Trapdoor DDH Groups PKC 2013 16 / 27

slide-37
SLIDE 37

New Constructions of TDDH and Static TDDH Groups A static TDDH group based on RSA

A static TDDH group based on RSA

GpGen(1k):

N = pq, with p, q safe primes G = JN is the subgroup of Z∗

N of elements with Jacobi symbol 1

G generator of G master trapdoor τ = (p, q)

sampling a group element and the corresponding trapdoor:

draw x ←$ {1, . . . , |JN|}, let X = Gx the trapdoor is τx = 1/x mod ord(JN)

solving the DDH problem for (X, Y , Z) ∈ G3: → check whether Z τx = Y (satisfied iff Z = Y x) Theorem: Under the DDH assumption and the RSA assumption, this is a static TDDH group with perfect soundness NB: implies that Strong DH is hard in JN under the RSA assumption

Yannick Seurin (ANSSI) Trapdoor DDH Groups PKC 2013 16 / 27

slide-38
SLIDE 38

New Constructions of TDDH and Static TDDH Groups A static TDDH group based on RSA

A static TDDH group based on RSA

GpGen(1k):

N = pq, with p, q safe primes G = JN is the subgroup of Z∗

N of elements with Jacobi symbol 1

G generator of G master trapdoor τ = (p, q)

sampling a group element and the corresponding trapdoor:

draw x ←$ {1, . . . , |JN|}, let X = Gx the trapdoor is τx = 1/x mod ord(JN)

solving the DDH problem for (X, Y , Z) ∈ G3: → check whether Z τx = Y (satisfied iff Z = Y x) Theorem: Under the DDH assumption and the RSA assumption, this is a static TDDH group with perfect soundness NB: implies that Strong DH is hard in JN under the RSA assumption

Yannick Seurin (ANSSI) Trapdoor DDH Groups PKC 2013 16 / 27

slide-39
SLIDE 39

New Constructions of TDDH and Static TDDH Groups A static TDDH group based on RSA

A static TDDH group based on RSA

GpGen(1k):

N = pq, with p, q safe primes G = JN is the subgroup of Z∗

N of elements with Jacobi symbol 1

G generator of G master trapdoor τ = (p, q)

sampling a group element and the corresponding trapdoor:

draw x ←$ {1, . . . , |JN|}, let X = Gx the trapdoor is τx = 1/x mod ord(JN)

solving the DDH problem for (X, Y , Z) ∈ G3: → check whether Z τx = Y (satisfied iff Z = Y x) Theorem: Under the DDH assumption and the RSA assumption, this is a static TDDH group with perfect soundness NB: implies that Strong DH is hard in JN under the RSA assumption

Yannick Seurin (ANSSI) Trapdoor DDH Groups PKC 2013 16 / 27

slide-40
SLIDE 40

New Constructions of TDDH and Static TDDH Groups A static TDDH group based on factoring

Outline

1

Definition of Trapdoor DDH Groups

2

New Constructions of TDDH and Static TDDH Groups A TDDH group based on composite residuosity A static TDDH group based on RSA A static TDDH group based on factoring

3

Application to Convertible Undeniable Signatures

Yannick Seurin (ANSSI) Trapdoor DDH Groups PKC 2013 17 / 27

slide-41
SLIDE 41

New Constructions of TDDH and Static TDDH Groups A static TDDH group based on factoring

A static TDDH group based on factoring

GpGen(1k):

N = pq, with p, q safe primes G = J+

N = JN ∩ [1, (N − 1)/2], group operation: a ∗ b := |a · b mod N|

J+

N ≃ JN/{+1, −1} (group of signed quadratic residues [HK09])

generator G of G master trapdoor τ = (p, q)

sampling a group element and the corresponding trapdoor:

draw x ←$ {1, . . . , |J+

N|}, let X = Gx

the trapdoor is τx = 2x ± m with m = ord(J+

N)

solving the DDH problem for (X, Y , Z) ∈ G3: → check whether Z 2 = Y τx (satisfied iff Z = Y x) Theorem: Under the DDH assumption and the factoring assumption, this group is a static TDDH group with perfect soundness NB: implies that Strong DH is hard for J+

N under the factoring

assumption [HK09]

Yannick Seurin (ANSSI) Trapdoor DDH Groups PKC 2013 18 / 27

slide-42
SLIDE 42

New Constructions of TDDH and Static TDDH Groups A static TDDH group based on factoring

A static TDDH group based on factoring

GpGen(1k):

N = pq, with p, q safe primes G = J+

N = JN ∩ [1, (N − 1)/2], group operation: a ∗ b := |a · b mod N|

J+

N ≃ JN/{+1, −1} (group of signed quadratic residues [HK09])

generator G of G master trapdoor τ = (p, q)

sampling a group element and the corresponding trapdoor:

draw x ←$ {1, . . . , |J+

N|}, let X = Gx

the trapdoor is τx = 2x ± m with m = ord(J+

N)

solving the DDH problem for (X, Y , Z) ∈ G3: → check whether Z 2 = Y τx (satisfied iff Z = Y x) Theorem: Under the DDH assumption and the factoring assumption, this group is a static TDDH group with perfect soundness NB: implies that Strong DH is hard for J+

N under the factoring

assumption [HK09]

Yannick Seurin (ANSSI) Trapdoor DDH Groups PKC 2013 18 / 27

slide-43
SLIDE 43

New Constructions of TDDH and Static TDDH Groups A static TDDH group based on factoring

A static TDDH group based on factoring

GpGen(1k):

N = pq, with p, q safe primes G = J+

N = JN ∩ [1, (N − 1)/2], group operation: a ∗ b := |a · b mod N|

J+

N ≃ JN/{+1, −1} (group of signed quadratic residues [HK09])

generator G of G master trapdoor τ = (p, q)

sampling a group element and the corresponding trapdoor:

draw x ←$ {1, . . . , |J+

N|}, let X = Gx

the trapdoor is τx = 2x ± m with m = ord(J+

N)

solving the DDH problem for (X, Y , Z) ∈ G3: → check whether Z 2 = Y τx (satisfied iff Z = Y x) Theorem: Under the DDH assumption and the factoring assumption, this group is a static TDDH group with perfect soundness NB: implies that Strong DH is hard for J+

N under the factoring

assumption [HK09]

Yannick Seurin (ANSSI) Trapdoor DDH Groups PKC 2013 18 / 27

slide-44
SLIDE 44

New Constructions of TDDH and Static TDDH Groups A static TDDH group based on factoring

A static TDDH group based on factoring

GpGen(1k):

N = pq, with p, q safe primes G = J+

N = JN ∩ [1, (N − 1)/2], group operation: a ∗ b := |a · b mod N|

J+

N ≃ JN/{+1, −1} (group of signed quadratic residues [HK09])

generator G of G master trapdoor τ = (p, q)

sampling a group element and the corresponding trapdoor:

draw x ←$ {1, . . . , |J+

N|}, let X = Gx

the trapdoor is τx = 2x ± m with m = ord(J+

N)

solving the DDH problem for (X, Y , Z) ∈ G3: → check whether Z 2 = Y τx (satisfied iff Z = Y x) Theorem: Under the DDH assumption and the factoring assumption, this group is a static TDDH group with perfect soundness NB: implies that Strong DH is hard for J+

N under the factoring

assumption [HK09]

Yannick Seurin (ANSSI) Trapdoor DDH Groups PKC 2013 18 / 27

slide-45
SLIDE 45

New Constructions of TDDH and Static TDDH Groups A static TDDH group based on factoring

A static TDDH group based on factoring

GpGen(1k):

N = pq, with p, q safe primes G = J+

N = JN ∩ [1, (N − 1)/2], group operation: a ∗ b := |a · b mod N|

J+

N ≃ JN/{+1, −1} (group of signed quadratic residues [HK09])

generator G of G master trapdoor τ = (p, q)

sampling a group element and the corresponding trapdoor:

draw x ←$ {1, . . . , |J+

N|}, let X = Gx

the trapdoor is τx = 2x ± m with m = ord(J+

N)

solving the DDH problem for (X, Y , Z) ∈ G3: → check whether Z 2 = Y τx (satisfied iff Z = Y x) Theorem: Under the DDH assumption and the factoring assumption, this group is a static TDDH group with perfect soundness NB: implies that Strong DH is hard for J+

N under the factoring

assumption [HK09]

Yannick Seurin (ANSSI) Trapdoor DDH Groups PKC 2013 18 / 27

slide-46
SLIDE 46

New Constructions of TDDH and Static TDDH Groups A static TDDH group based on factoring

Hashing into groups

For both previous cases, it is possible to securely hash into the underlying group G. Given H : {0, 1}∗ → ZN, let a be an integer with

a

N

= −1

for G = JN, define H′(x) =

  

H(x) if

H(x)

N

  • = 1

a · H(x) mod N if

H(x)

N

  • = −1

for G = J+

N, define

H′(x) =

  

|H(x)| if

H(x)

N

  • = 1

|a · H(x) mod N| if

H(x)

N

  • = −1

Yannick Seurin (ANSSI) Trapdoor DDH Groups PKC 2013 19 / 27

slide-47
SLIDE 47

Application to Convertible Undeniable Signatures

Outline

1

Definition of Trapdoor DDH Groups

2

New Constructions of TDDH and Static TDDH Groups A TDDH group based on composite residuosity A static TDDH group based on RSA A static TDDH group based on factoring

3

Application to Convertible Undeniable Signatures

Yannick Seurin (ANSSI) Trapdoor DDH Groups PKC 2013 20 / 27

slide-48
SLIDE 48

Application to Convertible Undeniable Signatures

Definition of a CUS scheme

Undeniable signature = signature that cannot be verified without the cooperation of the signer Convertible Undeniable Signature Scheme: KeyGen(1k): outputs a public/secret key pair (pk, sk) for the signer. USign(pk, sk, m): outputs an undeniable signature σ for message m. Πcon = (Pcon, Vcon): confirmation protocol for a valid signature σ Πdis = (Pdis, Vdis): disavowal protocol for an invalid signature σ′ UConvert(pk, sk): outputs a universal receipt ρu enabling to universally verify signatures created under (pk, sk). UVer(pk, ρu, m, σ): signature verification algorithm using the universal receipt ρu

Yannick Seurin (ANSSI) Trapdoor DDH Groups PKC 2013 21 / 27

slide-49
SLIDE 49

Application to Convertible Undeniable Signatures

The Chaum-van Antwerpen scheme [CvA89]

Parameters: a group G and a gen. G such that the DDH problem is hard a hash function H : {0, 1}∗ → G CvA undeniable signature scheme Key generation: sk := x ←$ {1, . . . , |G|}, pk := X := Gx Signing a message m: compute M = H(m) ∈ G, and S = Mx Confirming a sig. S for m: prove that (X, H(M), S) is a DDH tuple → Chaum-Pedersen proof of equality of DL [CP92] Denying a sig. S′ for m: prove that (X, H(M), S′) is a non-DDH tuple → Camenish-Shoup proof of inequality of DL [CS03] Note: using a pairing group where DDH is easy yields the Boneh-Lynn-Shacham signature scheme [BLS04]

Yannick Seurin (ANSSI) Trapdoor DDH Groups PKC 2013 22 / 27

slide-50
SLIDE 50

Application to Convertible Undeniable Signatures

The CvA scheme with a static TDDH group

Using the CvA scheme with a (static) TDDH group gives new properties. → New KeyGen: (G, G, τ) ← GpGen(1k), (X, τx) ← Sample(τ) signer public key: pk = X = Gx signer secret key: sk = (x, τx), where τx is the trapdoor for solving the static DDH problem for X The signer now can use the trapdoor τx as follows: delegated verification: disclose the trapdoor τx to the delegated verifier DV → DV can confirm/disavow signatures using witness τx universal convertibility: simply make the trapdoor τx public → anyone can verify signatures S using Solve(X, H(m), S, τx) Caveat: requires perfect soundness

Yannick Seurin (ANSSI) Trapdoor DDH Groups PKC 2013 23 / 27

slide-51
SLIDE 51

Application to Convertible Undeniable Signatures

The CvA scheme with a static TDDH group

Using the CvA scheme with a (static) TDDH group gives new properties. → New KeyGen: (G, G, τ) ← GpGen(1k), (X, τx) ← Sample(τ) signer public key: pk = X = Gx signer secret key: sk = (x, τx), where τx is the trapdoor for solving the static DDH problem for X The signer now can use the trapdoor τx as follows: delegated verification: disclose the trapdoor τx to the delegated verifier DV → DV can confirm/disavow signatures using witness τx universal convertibility: simply make the trapdoor τx public → anyone can verify signatures S using Solve(X, H(m), S, τx) Caveat: requires perfect soundness

Yannick Seurin (ANSSI) Trapdoor DDH Groups PKC 2013 23 / 27

slide-52
SLIDE 52

Application to Convertible Undeniable Signatures

The CvA scheme with a static TDDH group

Using the CvA scheme with a (static) TDDH group gives new properties. → New KeyGen: (G, G, τ) ← GpGen(1k), (X, τx) ← Sample(τ) signer public key: pk = X = Gx signer secret key: sk = (x, τx), where τx is the trapdoor for solving the static DDH problem for X The signer now can use the trapdoor τx as follows: delegated verification: disclose the trapdoor τx to the delegated verifier DV → DV can confirm/disavow signatures using witness τx universal convertibility: simply make the trapdoor τx public → anyone can verify signatures S using Solve(X, H(m), S, τx) Caveat: requires perfect soundness

Yannick Seurin (ANSSI) Trapdoor DDH Groups PKC 2013 23 / 27

slide-53
SLIDE 53

Application to Convertible Undeniable Signatures

The CvA scheme with a static TDDH group

Using the CvA scheme with a (static) TDDH group gives new properties. → New KeyGen: (G, G, τ) ← GpGen(1k), (X, τx) ← Sample(τ) signer public key: pk = X = Gx signer secret key: sk = (x, τx), where τx is the trapdoor for solving the static DDH problem for X The signer now can use the trapdoor τx as follows: delegated verification: disclose the trapdoor τx to the delegated verifier DV → DV can confirm/disavow signatures using witness τx universal convertibility: simply make the trapdoor τx public → anyone can verify signatures S using Solve(X, H(m), S, τx) Caveat: requires perfect soundness

Yannick Seurin (ANSSI) Trapdoor DDH Groups PKC 2013 23 / 27

slide-54
SLIDE 54

Application to Convertible Undeniable Signatures

The CvA scheme with a static TDDH group

New KeyGen: signer public key pk = X = Gx signer secret key sk = (x, τx), where τx is the trapdoor for solving the static DDH problem for X Security properties: unforgeability under CMA attacks: → relies on hardness of the CDH problem (even given τx) invisibility under CMA attacks (impossibility to distinguish a valid signature from an random one): → relies on hardness of the DDH problem (without τx)

Yannick Seurin (ANSSI) Trapdoor DDH Groups PKC 2013 24 / 27

slide-55
SLIDE 55

Application to Convertible Undeniable Signatures

Instantiations

The Chaum-van Antwerpen scheme can be instantiated with the two proposed static TDDH groups: RSA-based static TDDH group JN: → scheme similar to the one by Gennaro, Rabin, and Krawczyk [GRK00] factoring-based static TDDH group J+

N:

→ scheme similar to the one by Galbraith and Mao [GM03] Key generation must be done with care. One needs to certify that: Z∗

N has no small order subgroup

G is a generator of the specified group → demand that the signer proves in ZK that N is a product of safe primes

Yannick Seurin (ANSSI) Trapdoor DDH Groups PKC 2013 25 / 27

slide-56
SLIDE 56

Application to Convertible Undeniable Signatures

Instantiations

The Chaum-van Antwerpen scheme can be instantiated with the two proposed static TDDH groups: RSA-based static TDDH group JN: → scheme similar to the one by Gennaro, Rabin, and Krawczyk [GRK00] factoring-based static TDDH group J+

N:

→ scheme similar to the one by Galbraith and Mao [GM03] Key generation must be done with care. One needs to certify that: Z∗

N has no small order subgroup

G is a generator of the specified group → demand that the signer proves in ZK that N is a product of safe primes

Yannick Seurin (ANSSI) Trapdoor DDH Groups PKC 2013 25 / 27

slide-57
SLIDE 57

Application to Convertible Undeniable Signatures

Instantiations

The Chaum-van Antwerpen scheme can be instantiated with the two proposed static TDDH groups: RSA-based static TDDH group JN: → scheme similar to the one by Gennaro, Rabin, and Krawczyk [GRK00] factoring-based static TDDH group J+

N:

→ scheme similar to the one by Galbraith and Mao [GM03] Key generation must be done with care. One needs to certify that: Z∗

N has no small order subgroup

G is a generator of the specified group → demand that the signer proves in ZK that N is a product of safe primes

Yannick Seurin (ANSSI) Trapdoor DDH Groups PKC 2013 25 / 27

slide-58
SLIDE 58

Application to Convertible Undeniable Signatures

Instantiations

The Chaum-van Antwerpen scheme can be instantiated with the two proposed static TDDH groups: RSA-based static TDDH group JN: → scheme similar to the one by Gennaro, Rabin, and Krawczyk [GRK00] factoring-based static TDDH group J+

N:

→ scheme similar to the one by Galbraith and Mao [GM03] Key generation must be done with care. One needs to certify that: Z∗

N has no small order subgroup

G is a generator of the specified group → demand that the signer proves in ZK that N is a product of safe primes

Yannick Seurin (ANSSI) Trapdoor DDH Groups PKC 2013 25 / 27

slide-59
SLIDE 59

Conclusion

Conclusion

Open problems: build a TDDH group with perfect soundness and a way to securely hash into it build a TDDH group with prime order

  • ther applications of TDDH groups?

→ suggested by a PKC reviewer: generic construction of extractable hash proof system [Wee10] ⇒ CCA-secure KEM

Yannick Seurin (ANSSI) Trapdoor DDH Groups PKC 2013 26 / 27

slide-60
SLIDE 60

Thanks

Thanks for your attention! Comments or questions?

Damn! Where’s my wallet?

Yannick Seurin (ANSSI) Trapdoor DDH Groups PKC 2013 27 / 27