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

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend