limitations of the meta reduction technique the case of
play

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


  1. 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

  2. (Informal) Main Results 1 ◮ 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. 1 actual results may vary

  3. Schnorr Signatures [Sch90,Schn91] G = � g � , H Kgen (1 κ ) Sign ( sk , m ) Vrfy ( pk , m, σ ) $ $ parse σ as ( c, y ) sk ← Z q ← Z q r ? pk := g sk R := g r = H ( pk − c g y , m ) if c c := H ( R, m ) output 1 return ( sk , pk ) y := r + sk · c else return σ = ( c, y ) output 0

  4. Schnorr Signatures [Sch90,Schn91] G = � g � , H Kgen (1 κ ) Sign ( sk , m ) Vrfy ( pk , m, σ ) $ $ parse σ as ( c, y ) sk ← Z q ← Z q r ? pk := g sk R := g r = H ( pk − c g y , m ) if c c := H ( R, m ) output 1 return ( sk , pk ) y := r + sk · c else return σ = ( c, y ) output 0 ◮ Provably secure under DLOG assumption in the ROM [PS96, PS00]. ◮ Previous impossibility results for algebraic reductions [PV05,GBL08,Seu12].

  5. Random Oracle Model with(out) programmability [FLR+10] A

  6. Random Oracle Model with(out) programmability [FLR+10] A H

  7. Random Oracle Model with(out) programmability [FLR+10] R A H

  8. Random Oracle Model with(out) programmability [FLR+10] R A H

  9. Random Oracle Model with(out) programmability [FLR+10] Prog R Prog ( a, b ) ⇒ A H def H ( a ) = Rand ( b ) Rand

  10. Meta-Reductions [BV98] Π R A EUF - CMA

  11. Meta-Reductions [BV98] M Π Π ’ R A EUF - CMA

  12. Meta-Reductions [BV98] M DL OM DL R A EUF - CMA

  13. Meta-Reductions [BV98] M DL OM DL R A EUF - CMA

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

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

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

  17. Meta-Reductions M DL OM DL R A EUF - CMA

  18. Meta-Reductions M DL OM DL R A EUF - CMA

  19. The One-More discrete log problem [BNPS03] z 1 = g x 1 , z 2 = g x 2 x 1 , x 2

  20. The One-More discrete log problem [BNPS03] z 1 = g x 1 , z 2 = g x 2 z ′ = g x ′ log g y ′ x ′ x 1 , x 2

  21. In the non-programmable ROM Sign ( sk , m ) Vrfy ( pk , m, σ ) $ parse σ as ( c, y ) ← Z q r ? R := g r if c = H ( pk − c g y , m ) c := H ( R, m ) output 1 DL OM y := r + sk · c else z 0 , z 1 return σ = ( c, y ) output 0 M H

  22. In the non-programmable ROM Sign ( sk , m ) Vrfy ( pk , m, σ ) $ parse σ as ( c, y ) ← Z q r ? R := g r if c = H ( pk − c g y , m ) c := H ( R, m ) output 1 DL OM y := r + sk · c else z 0 , z 1 return σ = ( c, y ) output 0 z 0 M z 1 R 0 R 1 H

  23. In the non-programmable ROM Sign ( sk , m ) Vrfy ( pk , m, σ ) $ parse σ as ( c, y ) ← Z q r ? R := g r if c = H ( pk − c g y , m ) c := H ( R, m ) output 1 DL OM y := r + sk · c else z 0 , z 1 return σ = ( c, y ) output 0 z 0 M z 1 pk 0 pk 1 R 0 A 0 A 1 R 1 H

  24. In the non-programmable ROM Sign ( sk , m ) Vrfy ( pk , m, σ ) $ parse σ as ( c, y ) ← Z q r ? R := g r if c = H ( pk − c g y , m ) c := H ( R, m ) output 1 DL OM y := r + sk · c else z 0 , z 1 return σ = ( c, y ) output 0 z 0 M z 1 pk 0 pk 1 m 0 m 1 $ m 0 , m 1 ← { 0 , 1 } κ R 0 A 0 A 1 R 1 m 0 � = m 1 ( c 0 , y 0 ) ( c 1 , y 1 ) H

  25. In the non-programmable ROM Sign ( sk , m ) Vrfy ( pk , m, σ ) $ parse σ as ( c, y ) ← Z q r ? R := g r if c = H ( pk − c g y , m ) c := H ( R, m ) output 1 DL OM y := r + sk · c else z 0 , z 1 return σ = ( c, y ) output 0 z 0 M z 1 pk 0 pk 1 m 0 m 1 $ m 0 , m 1 ← { 0 , 1 } κ R 0 A 0 A 1 R 1 m 0 � = m 1 ( c 0 , y 0 ) ( c 1 , y 1 ) H

  26. In the non-programmable ROM Sign ( sk , m ) Vrfy ( pk , m, σ ) $ parse σ as ( c, y ) ← Z q r ? R := g r if c = H ( pk − c g y , m ) c := H ( R, m ) output 1 DL OM y := r + sk · c else z 0 , z 1 return σ = ( c, y ) output 0 π δ = sk 0 − sk 1 z 0 M z 1 π = pk 0 pk − 1 1 pk 0 pk 1 m 0 m 1 $ m 0 , m 1 ← { 0 , 1 } κ R 0 A 0 A 1 R 1 m 0 � = m 1 ( c 0 , y 0 ) ( c 1 , y 1 ) H

  27. In the non-programmable ROM Sign ( sk , m ) Vrfy ( pk , m, σ ) $ parse σ as ( c, y ) ← Z q r ? R := g r if c = H ( pk − c g y , m ) c := H ( R, m ) output 1 DL OM y := r + sk · c else z 0 , z 1 return σ = ( c, y ) output 0 π δ = sk 0 − sk 1 z 0 M z 1 π = pk 0 pk − 1 1 pk 0 pk 1 m 0 m 1 $ m 0 , m 1 ← { 0 , 1 } κ R 0 A 0 A 1 R 1 m 0 � = m 1 ( c 0 , y 0 ) ( c 1 , y 1 ) y ′ y ′ 0 = y 0 − δ · c 0 1 = y 1 + δ · c 1 H

  28. In the non-programmable ROM Sign ( sk , m ) Vrfy ( pk , m, σ ) $ parse σ as ( c, y ) ← Z q r ? R := g r if c = H ( pk − c g y , m ) c := H ( R, m ) output 1 DL OM y := r + sk · c else z 0 , z 1 return σ = ( c, y ) output 0 π δ = sk 0 − sk 1 z 0 M z 1 π = pk 0 pk − 1 1 pk 0 pk 1 m 0 m 1 $ m 0 , m 1 ← { 0 , 1 } κ R 0 A 0 A 1 R 1 m 0 � = m 1 ( c 0 , y 0 ) ( c 1 , y 1 ) ( c 1 , y ′ ( c 0 , y ′ 1 ) 0 ) y ′ y ′ 0 = y 0 − δ · c 0 1 = y 1 + δ · c 1 H

  29. In the non-programmable ROM Sign ( sk , m ) Vrfy ( pk , m, σ ) $ parse σ as ( c, y ) ← Z q r ? R := g r if c = H ( pk − c g y , m ) c := H ( R, m ) output 1 DL OM y := r + sk · c else z 0 , z 1 return σ = ( c, y ) output 0 π δ = sk 0 − sk 1 z 0 M z 1 π = pk 0 pk − 1 1 pk 0 pk 1 m 0 m 1 $ m 0 , m 1 ← { 0 , 1 } κ R 0 A 0 A 1 R 1 m 0 � = m 1 ( c 0 , y 0 ) ( c 1 , y 1 ) ( c 1 , y ′ ( c 0 , y ′ 1 ) 0 ) x 0 x 1 y ′ y ′ 0 = y 0 − δ · c 0 1 = y 1 + δ · c 1 x 0 , x 1 H

  30. In the non-programmable ROM Sign ( sk , m ) Vrfy ( pk , m, σ ) $ parse σ as ( c, y ) ← Z q r ? R := g r if c = H ( pk − c g y , m ) c := H ( R, m ) output 1 DL OM y := r + sk · c else z 0 , z 1 return σ = ( c, y ) output 0 π δ = sk 0 − sk 1 M R z 0 M z 1 π = pk 0 pk − 1 1 pk 0 pk 1 m 0 m 1 $ m 0 , m 1 ← { 0 , 1 } κ R 0 A 0 A 1 R 1 m 0 � = m 1 ( c 0 , y 0 ) ( c 1 , y 1 ) ( c 1 , y ′ ( c 0 , y ′ 1 ) 0 ) x 0 x 1 y ′ y ′ 0 = y 0 − δ · c 0 1 = y 1 + δ · c 1 x 0 , x 1 H

  31. Can we do better? ◮ Probably not. ◮ Going one (meta-)level deeper and using a meta-meta-reduction, we can show that removing the one-more discrete log assumption would (constructively) imply an adversary against the signature scheme.

  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.

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

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

Recommend


More recommend