Limitations of the Meta-Reduction Technique: The Case of Schnorr - - PowerPoint PPT Presentation

limitations of the meta reduction technique the case of
SMART_READER_LITE
LIVE PREVIEW

Limitations of the Meta-Reduction Technique: The Case of Schnorr - - PowerPoint PPT Presentation

Limitations of the Meta-Reduction Technique: The Case of Schnorr Signatures Marc Fischlin 1 Nils Fleischhacker 2 1 TU Darmstadt 2 Saarland University, Center for IT-Security, Privacy, and Accountability June 5, 2014 (Informal) Main Results 1


slide-1
SLIDE 1

Limitations of the Meta-Reduction Technique: The Case of Schnorr Signatures

Marc Fischlin 1 Nils Fleischhacker 2

1TU Darmstadt 2Saarland University, Center for IT-Security, Privacy, and Accountability

June 5, 2014

slide-2
SLIDE 2

(Informal) Main Results1

◮ Schnorr Signatures are provably secure under the DLOG

assumption in the weakly programmable ROM.

◮ Under the one-more DLOG assumption there does not exist a

”single instance” reduction from the DLOG assumption in the non-programmable ROM.

◮ Eliminating the one-more DLOG assumption from our

meta-reduction is highly unlikely.

1actual results may vary

slide-3
SLIDE 3

Schnorr Signatures [Sch90,Schn91] G = g, H Kgen(1κ) sk

$

← Zq pk := gsk return (sk, pk) Sign(sk, m) r

$

← Zq R := gr c := H(R, m) y := r + sk · c return σ = (c, y) Vrfy(pk, m, σ) parse σ as (c, y) if c

?

= H(pk−cgy, m)

  • utput 1

else

  • utput 0
slide-4
SLIDE 4

Schnorr Signatures [Sch90,Schn91] G = g, H Kgen(1κ) sk

$

← Zq pk := gsk return (sk, pk) Sign(sk, m) r

$

← Zq R := gr c := H(R, m) y := r + sk · c return σ = (c, y) Vrfy(pk, m, σ) parse σ as (c, y) if c

?

= H(pk−cgy, m)

  • utput 1

else

  • utput 0

◮ Provably secure under DLOG assumption in the ROM [PS96,

PS00].

◮ Previous impossibility results for algebraic reductions

[PV05,GBL08,Seu12].

slide-5
SLIDE 5

Random Oracle Model

with(out) programmability [FLR+10]

A

slide-6
SLIDE 6

Random Oracle Model

with(out) programmability [FLR+10]

A H

slide-7
SLIDE 7

Random Oracle Model

with(out) programmability [FLR+10]

R A H

slide-8
SLIDE 8

Random Oracle Model

with(out) programmability [FLR+10]

R A H

slide-9
SLIDE 9

Random Oracle Model

with(out) programmability [FLR+10]

R A H Rand Prog Prog(a, b) ⇒ H(a)

def

= Rand(b)

slide-10
SLIDE 10

Meta-Reductions [BV98]

R A EUF-CMA Π

slide-11
SLIDE 11

Meta-Reductions [BV98]

R M A EUF-CMA Π Π’

slide-12
SLIDE 12

Meta-Reductions [BV98]

R M A EUF-CMA DL DLOM

slide-13
SLIDE 13

Meta-Reductions [BV98]

R M A EUF-CMA DL DLOM

slide-14
SLIDE 14

EUF-CMA (sk, pk) ← Kgen(1κ) pk (m∗, σ∗)

slide-15
SLIDE 15

EUF-CMA Sign(sk, m) m σ (sk, pk) ← Kgen(1κ) pk (m∗, σ∗)

slide-16
SLIDE 16

EUF-CMA Sign(sk, m) m σ The attacker wins if Vrfy(pk, m∗, σ∗) = 1 and m = m∗ (sk, pk) ← Kgen(1κ) pk (m∗, σ∗)

slide-17
SLIDE 17

Meta-Reductions

R M A EUF-CMA DL DLOM

slide-18
SLIDE 18

Meta-Reductions

R M A EUF-CMA DL DLOM

slide-19
SLIDE 19

The One-More discrete log problem [BNPS03] z1 = gx1, z2 = gx2 x1, x2

slide-20
SLIDE 20

The One-More discrete log problem [BNPS03] logg y′ z′ = gx′ x′ z1 = gx1, z2 = gx2 x1, x2

slide-21
SLIDE 21

In the non-programmable ROM

Sign(sk, m) r

$

← Zq R := gr c := H(R, m) y := r + sk · c return σ = (c, y) Vrfy(pk, m, σ) parse σ as (c, y) if c

?

= H(pk−cgy, m)

  • utput 1

else

  • utput 0

DLOM M z0, z1 H

slide-22
SLIDE 22

In the non-programmable ROM

Sign(sk, m) r

$

← Zq R := gr c := H(R, m) y := r + sk · c return σ = (c, y) Vrfy(pk, m, σ) parse σ as (c, y) if c

?

= H(pk−cgy, m)

  • utput 1

else

  • utput 0

R0 R1 DLOM z0 z1 M z0, z1 H

slide-23
SLIDE 23

In the non-programmable ROM

Sign(sk, m) r

$

← Zq R := gr c := H(R, m) y := r + sk · c return σ = (c, y) Vrfy(pk, m, σ) parse σ as (c, y) if c

?

= H(pk−cgy, m)

  • utput 1

else

  • utput 0

R0 A0 A1 R1 pk0 pk1 DLOM z0 z1 M z0, z1 H

slide-24
SLIDE 24

In the non-programmable ROM

Sign(sk, m) r

$

← Zq R := gr c := H(R, m) y := r + sk · c return σ = (c, y) Vrfy(pk, m, σ) parse σ as (c, y) if c

?

= H(pk−cgy, m)

  • utput 1

else

  • utput 0

R0 A0 A1 R1 pk0 pk1 DLOM m0 m1 (c0, y0) (c1, y1) m0, m1

$

← {0, 1}κ m0 = m1 z0 z1 M z0, z1 H

slide-25
SLIDE 25

In the non-programmable ROM

Sign(sk, m) r

$

← Zq R := gr c := H(R, m) y := r + sk · c return σ = (c, y) Vrfy(pk, m, σ) parse σ as (c, y) if c

?

= H(pk−cgy, m)

  • utput 1

else

  • utput 0

R0 A0 A1 R1 pk0 pk1 DLOM m0 m1 (c0, y0) (c1, y1) m0, m1

$

← {0, 1}κ m0 = m1 z0 z1 M z0, z1 H

slide-26
SLIDE 26

In the non-programmable ROM

Sign(sk, m) r

$

← Zq R := gr c := H(R, m) y := r + sk · c return σ = (c, y) Vrfy(pk, m, σ) parse σ as (c, y) if c

?

= H(pk−cgy, m)

  • utput 1

else

  • utput 0

R0 A0 A1 R1 DLOM π = pk0pk−1

1

pk0 pk1 m0 m1 (c0, y0) (c1, y1) m0, m1

$

← {0, 1}κ m0 = m1 z0 z1 π δ = sk0 − sk1 M z0, z1 H

slide-27
SLIDE 27

In the non-programmable ROM

Sign(sk, m) r

$

← Zq R := gr c := H(R, m) y := r + sk · c return σ = (c, y) Vrfy(pk, m, σ) parse σ as (c, y) if c

?

= H(pk−cgy, m)

  • utput 1

else

  • utput 0

R0 A0 A1 R1 DLOM π = pk0pk−1

1

pk0 pk1 m0 m1 (c0, y0) (c1, y1) y′

0 = y0 − δ · c0

y′

1 = y1 + δ · c1

m0, m1

$

← {0, 1}κ m0 = m1 z0 z1 π δ = sk0 − sk1 M z0, z1 H

slide-28
SLIDE 28

In the non-programmable ROM

Sign(sk, m) r

$

← Zq R := gr c := H(R, m) y := r + sk · c return σ = (c, y) Vrfy(pk, m, σ) parse σ as (c, y) if c

?

= H(pk−cgy, m)

  • utput 1

else

  • utput 0

R0 A0 A1 R1 DLOM π = pk0pk−1

1

pk0 pk1 m0 m1 (c0, y0) (c1, y1) y′

0 = y0 − δ · c0

y′

1 = y1 + δ · c1

(c1, y′

1)

(c0, y′

0)

m0, m1

$

← {0, 1}κ m0 = m1 z0 z1 π δ = sk0 − sk1 M z0, z1 H

slide-29
SLIDE 29

In the non-programmable ROM

Sign(sk, m) r

$

← Zq R := gr c := H(R, m) y := r + sk · c return σ = (c, y) Vrfy(pk, m, σ) parse σ as (c, y) if c

?

= H(pk−cgy, m)

  • utput 1

else

  • utput 0

R0 A0 A1 R1 DLOM π = pk0pk−1

1

pk0 pk1 m0 m1 (c0, y0) (c1, y1) y′

0 = y0 − δ · c0

y′

1 = y1 + δ · c1

(c1, y′

1)

(c0, y′

0)

m0, m1

$

← {0, 1}κ m0 = m1 z0 z1 π δ = sk0 − sk1 M z0, z1 H x0, x1 x0 x1

slide-30
SLIDE 30

In the non-programmable ROM

Sign(sk, m) r

$

← Zq R := gr c := H(R, m) y := r + sk · c return σ = (c, y) Vrfy(pk, m, σ) parse σ as (c, y) if c

?

= H(pk−cgy, m)

  • utput 1

else

  • utput 0

MR R0 A0 A1 R1 DLOM π = pk0pk−1

1

pk0 pk1 m0 m1 (c0, y0) (c1, y1) y′

0 = y0 − δ · c0

y′

1 = y1 + δ · c1

(c1, y′

1)

(c0, y′

0)

m0, m1

$

← {0, 1}κ m0 = m1 z0 z1 π δ = sk0 − sk1 M z0, z1 H x0, x1 x0 x1

slide-31
SLIDE 31

Can we do better?

◮ Probably not. ◮ Going one (meta-)level deeper and using a

meta-meta-reduction, we can show that removing the

  • ne-more discrete log assumption would (constructively) imply

an adversary against the signature scheme.

slide-32
SLIDE 32

So, what does this mean? Under the One-More Discrete Log Assumption, no single instance reductions from the discrete log Problem can exist for Schnorr signatures, if they do not program the random oracle. A relaxed notion of programmability, however, is sufficient. The result is optimal in the sense that removing the assumption proves to be extremely unlikely.

slide-33
SLIDE 33

Open Problems

◮ We rule out DLOG reductions, but what about CDH,... ◮ Possibly even interactive assumptions?

slide-34
SLIDE 34

Thank You!

Nils Fleischhacker fleischhacker@cs.uni-saarland.de Full version available on eprint http://eprint.iacr.org/2013/140