SLIDE 1 On Tight Security Proofs for Schnorr Signatures
Nils Fleischhacker1 Tibor Jager2 Dominique Schr¨
1Saarland University 2Horst G¨
- rtz Institute for IT Security, Ruhr-University Bochum
December 9, 2014
SLIDE 2
(Informal) main Result The security of Schnorr signatures cannot be tightly reduced to any natural assumption using a generic reduction. The result holds unconditionally.
SLIDE 3 Schnorr Signatures [Sch90,Schn91] G = g, H Kgen(1κ) x
$
← Zq X := gx return (x, X) Sign(x, m) r
$
← Zq R := gr c := H(R, m) y := r + x · c return σ = (R, y) Vrfy(X, m, σ) parse σ as (R, y) c := H(R, m) return gy
?
= Xc · R
◮ Provably secure under DLOG assumption in the ROM [PS96,
PS00].
◮ Previous impossibility results for tight proofs for DLOG and
algebraic reductions [PV05,GBL08,Seu12].
SLIDE 4 Schnorr Signatures [Sch90,Schn91] G = g, H Kgen(1κ) x
$
← Zq X := gx return (x, X) Sign(x, m) r
$
← Zq R := gr c := H(R, m) y := r + x · c return σ = (R, y) Vrfy(X, m, σ) parse σ as (R, y) c := H(R, m) return gy
?
= Xc · R
◮ Provably secure under DLOG assumption in the ROM [PS96,
PS00].
◮ Previous impossibility results for tight proofs for DLOG and
algebraic reductions [PV05,GBL08,Seu12].
SLIDE 5 Schnorr Signatures [Sch90,Schn91] G = g, H Kgen(1κ) x
$
← Zq X := gx return (x, X) Sign(x, m) r
$
← Zq R := gr c := H(R, m) y := r + x · c return σ = (R, y) Vrfy(X, m, σ) parse σ as (R, y) c := H(R, m) return gy
?
= Xc · R
◮ Provably secure under DLOG assumption in the ROM [PS96,
PS00]. Not tight!
◮ Previous impossibility results for tight proofs for DLOG and
algebraic reductions [PV05,GBL08,Seu12].
SLIDE 6
Why do we care about tightness? Π UUNF − NM R gx x′ pk, m σ
SLIDE 7
Why do we care about tightness? Π UUNF − NM R gx x′ pk, m σ Weaker Definition of Security = Stronger Negative Result
SLIDE 8
Why do we care about tightness? Π UUNF − NM R gx x′ pk, m σ t
SLIDE 9
Why do we care about tightness? Π UUNF − NM R gx x′ pk, m σ t f(t) = t
SLIDE 10
Why do we care about tightness? Π UUNF − NM R gx x′ pk, m σ t f(t) = 2t
SLIDE 11
Why do we care about tightness? Π UUNF − NM R gx x′ pk, m σ R′, m′ H(R′, m′) q t f(t, q) = q · t
SLIDE 12 Meta-Reductions [BV98]
R A UUNF − NM Π
SLIDE 13 Meta-Reductions [BV98]
R M A UUNF − NM Π Π’
SLIDE 14
Previous Work on Lower Bounds PV05 Bound
1 q1/2
Reduction algebraic (OM)DL Assumption OMDL
SLIDE 15
Previous Work on Lower Bounds PV05 GBL08 Bound
1 q1/2 1 q2/3
Reduction algebraic algebraic (OM)DL (OM)DL Assumption OMDL OMDL
SLIDE 16
Previous Work on Lower Bounds PV05 GBL08 Seurin12 Bound
1 q1/2 1 q2/3
O( 1
q)
Reduction algebraic algebraic algebraic (OM)DL (OM)DL (OM)DL Assumption OMDL OMDL OMDL
SLIDE 17
Previous Work on Lower Bounds PV05 GBL08 Seurin12 Our Work Bound
1 q1/2 1 q2/3
O( 1
q)
O( 1
q)
Reduction algebraic algebraic algebraic generic (OM)DL (OM)DL (OM)DL representation invariant Assumption OMDL OMDL OMDL none
SLIDE 18 Algebraic vs. Generic Reductions An algebraic reduction only computes group elements using group operations. G, g R gx1, gx2 gy Ext (x1, x2), gy y A generic reduction works regardless of the representation
φ : G → {0, 1}2n R φ(gx1), φ(gx2) φ(gy) O
φ(ga), φ(gb), ◦ φ(ga ◦ gb)
SLIDE 19
So... GGM? No!
R O φ(A), φ(B) (φ(i), φ(j), ◦) φ(i ◦ j) φ(C), φ(D)
SLIDE 20
So... GGM? No!
R A O φ(A), φ(B) (φ(i), φ(j), ◦) φ(i ◦ j) φ(C), φ(D)
SLIDE 21
So... GGM? No!
R A O A, B φ(A), φ(B) (φ(i), φ(j), ◦) φ(i ◦ j) φ(X), m, ω X, m, ω (R, y) (φ(R), y) C, D φ(C), φ(D)
SLIDE 22
So... GGM? No!
R A O A, B φ(A), φ(B) (φ(i), φ(j), ◦) φ(i ◦ j) φ(X), m, ω X, m, ω (R, y) (φ(R), y) C, D φ(C), φ(D)
SLIDE 23
Ok, so how does it work?
Vanilla Reductions
proc A(X, m, ω) (R1, . . . , Rq) ← Gq for all i ∈ [q] ci = H(Ri, m) α ← [q] y := logg XcαRα return (Rα, y).
SLIDE 24
Ok, so how does it work?
Vanilla Reductions
Vanilla Reduction:
◮ Runs A once ◮ Does not rewind
Result:
◮ Rules out all generic
vanilla reductions
◮ Even tight reductions
SLIDE 25
Ok, so how does it work?
Vanilla Reductions
proc A(X, m, ω) (R1, . . . , Rq) ← Gq for all i ∈ [q] ci = H(Ri, m) α ← [q] y := logg XcαRα return (Rα, y).
SLIDE 26
Ok, so how does it work?
Vanilla Reductions
LG LE C1 E1 . . . . . . Cu Eu R1 Eu+1 . . . . . . Rq Eu+q
A O M R C1, . . . , Cu, C′ φ(C1), . . . , φ(Cu), C′
SLIDE 27
Ok, so how does it work?
Vanilla Reductions
LG LE C1 E1 . . . . . . Cu Eu R1 Eu+1 . . . . . . Rq Eu+q A Eu+q+1
A O M R C1, . . . , Cu, C′ φ(C1), . . . , φ(Cu), C′ (Ei, Ej, ×) Eu+q+1
SLIDE 28
Ok, so how does it work?
Vanilla Reductions
LG LE C1 E1 . . . . . . Cu Eu R1 Eu+1 . . . . . . Rq Eu+q A Eu+q+1
A O M R C1, . . . , Cu, C′ φ(C1), . . . , φ(Cu), C′ (Ei, Ej, ×) Eu+q+1 φ(X), m (φ(R), y)
SLIDE 29
Ok, so how does it work?
Vanilla Reductions
LG LE LV C1 E1 (1, 0, ...) . . . . . . . . . Cu Eu (..., 0, 1, 0, ...) R1 Eu+1 (..., 0, 1, 0, ...) . . . . . . . . . Rq Eu+q (..., 0, 1) A Eu+q+1 Vi + Vj
A O M R C1, . . . , Cu, C′ φ(C1), . . . , φ(Cu), C′ (Ei, Ej, ×) Eu+q+1 φ(X), m (φ(R), y)
SLIDE 30
Ok, so how does it work?
Vanilla Reductions
LG LE LV . . . . . . . . . Rα Eu+α Vu+α . . . . . . . . . Gu+q+1 Eu+q+1 Vu+q+1
proc A(φ(X), m, ω) : for all i ∈ [q] ci = R.H(φ(Ri), m) α ← [q] y := logg XcαRα
SLIDE 31
Ok, so how does it work?
Vanilla Reductions
LG LE LV . . . . . . . . . Rα Eu+α Vu+α . . . . . . . . . Gu+q+1 Eu+q+1 Vu+q+1
proc A(φ(X), m, ω) : for all i ∈ [q] ci = R.H(φ(Ri), m) α ← [q] y ← Zp ; R∗
α := gyX−cα
SLIDE 32 Ok, so how does it work?
Vanilla Reductions
LG LE LV . . . . . . . . . R∗
α
Eu+α Vu+α . . . . . . . . . Gu+q+1 Eu+q+1 Vu+q+1
proc A(φ(X), m, ω) : for all i ∈ [q] ci = R.H(φ(Ri), m) α ← [q] y ← Zp ; R∗
α := gyX−cα
SLIDE 33 Ok, so how does it work?
Vanilla Reductions
LG LE LV . . . . . . . . . R∗
α
Eu+α Vu+α . . . . . . . . . Gu+q+1 Eu+q+1 Vu+q+1
proc A(φ(X), m, ω) : for all i ∈ [q] ci = R.H(φ(Ri), m) α ← [q] y ← Zp ; R∗
α := gyX−cα
for j = 1, . . . , |LG| do Gi :=
u+q
V j
i · Gj
return (y, φ(R∗
α))
SLIDE 34
Will this not trip up the Reduction? R is only able to notice the reprogramming if there exist i, j such that Gi = Gj before the reprogramming and Gi = Gj after reprogramming, or the other way round. This happens with probability at most 2(u + q + tR)2 p ≤ negl
SLIDE 35
Summary & Conclusion The security of Schnorr signatures cannot be reduced to any representation invariant assumption tighter than O(1/q) using a generic fully blackbox reduction.
SLIDE 36
Thank You!
Nils Fleischhacker fleischhacker@cs.uni-saarland.de