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
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
1TU Darmstadt 2Saarland University, Center for IT-Security, Privacy, and Accountability
1actual results may vary
$
$
?
$
$
?
A
A H
R A H
R A H
R A H Rand Prog Prog(a, b) ⇒ H(a)
def
= Rand(b)
R A EUF-CMA Π
R M A EUF-CMA Π Π’
R M A EUF-CMA DL DLOM
R M A EUF-CMA DL DLOM
R M A EUF-CMA DL DLOM
R M A EUF-CMA DL DLOM
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)
else
DLOM M z0, z1 H
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)
else
R0 R1 DLOM z0 z1 M z0, z1 H
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)
else
R0 A0 A1 R1 pk0 pk1 DLOM z0 z1 M z0, z1 H
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)
else
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
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)
else
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
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)
else
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
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)
else
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
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)
else
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
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)
else
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
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)
else
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