rounding and chaining lll
play

Rounding and Chaining LLL: Finding Faster Small Roots of Univariate - PowerPoint PPT Presentation

Rounding and Chaining LLL: Finding Faster Small Roots of Univariate Polynomial Congruences J. Bi, J-S. Coron, J-C. Faug` ere, P . Nguyen, G. Renault, R. Zeitoun Public Key Cryptography 2014 26-28 March, 2014 - Buenos Aires, Argentina


  1. Rounding and Chaining LLL: Finding Faster Small Roots of Univariate Polynomial Congruences J. Bi, J-S. Coron, J-C. Faug` ere, P . Nguyen, G. Renault, R. Zeitoun Public Key Cryptography 2014 26-28 March, 2014 - Buenos Aires, Argentina

  2. Coppersmith’s Method 1 2 Speeding up Coppersmith’s Algorithm by Rounding Speeding up Exhaustive Search by Chaining 3 PKC 2014 2 / 27

  3. Core Ideas of Rounding and Chaining Rounding: f − → b • The problem: a ☞ Rather consider a / c instead of a . Chaining: f f f − → b 1 , a 2 → b 2 , − − → b 3 , . . . • The problem: a 1 a 3 f f f − → b 1 , f ′ ( b 1 ) − → b 2 , f ′ ( b 2 ) − → b 3 , . . . ☞ Rather do a 1 ☞ Rounding and Chaining can also be combined. PKC 2014 3 / 27

  4. Coppersmith’s Theorem The Problem (Univariate Modular Case): • Input: • A polynomial f ( x ) = x δ + a δ − 1 x δ − 1 + · · · + a 1 x + a 0 . • N an integer of unknown factorization. • Find: • All integers x 0 such that f ( x 0 ) ≡ 0 mod N . PKC 2014 4 / 27

  5. Coppersmith’s Theorem The Problem (Univariate Modular Case): • Input: • A polynomial f ( x ) = x δ + a δ − 1 x δ − 1 + · · · + a 1 x + a 0 . • N an integer of unknown factorization. • Find: • All integers x 0 such that f ( x 0 ) ≡ 0 mod N . Coppersmith’s Method (1996) • Find small integer roots. PKC 2014 4 / 27

  6. Coppersmith’s Theorem The Problem (Univariate Modular Case): • Input: • A polynomial f ( x ) = x δ + a δ − 1 x δ − 1 + · · · + a 1 x + a 0 . • N an integer of unknown factorization. • Find: • All integers x 0 such that f ( x 0 ) ≡ 0 mod N . Coppersmith’s Theorem for the Univariate Modular case • The solutions x 0 can be found in time poly ( log N , δ ) if: | x 0 | < N 1 /δ . PKC 2014 4 / 27

  7. Coppersmith’s Theorem The Problem (Univariate Modular Case): • Input: • A polynomial f ( x ) = x δ + a δ − 1 x δ − 1 + · · · + a 1 x + a 0 . • N an integer of unknown factorization. • Find: • All integers x 0 such that f ( x 0 ) ≡ 0 mod N . The problem is easy without the modulo N . ☞ Find a polynomial g such that g ( x 0 ) = 0 over Z . PKC 2014 4 / 27

  8. Applications in cryptology Cryptanalysis of RSA • Factoring with high bits known. Coppersmith, 1996. • Security proof of RSA-OAEP . Shoup, 2001. • Equivalence: factoring / computing d . Coron, May, 2007. • Stereotyped messages. Coppersmith, 1996. • RSA Pseudorandom Generator Fischlin, Schnorr, 2000. • Affine Padding. Coppersmith, Franklin, Patarin, Reiter, 1996. • Polynomially related messages (Hastad). Coppersmith, 1997. • Finding smooth numbers and Factoring. Boneh, 2001. • Coppersmith in the wild. Bernstein et al., 2013. PKC 2014 5 / 27

  9. About Coppersmith’s Method Euclidean Lattices Find a new small polynomial equation ☞ LLL Reduction . A matter of Bound Coppersmith’s bound | x 0 | < N 1 /δ ☞ Exhaustive search . PKC 2014 6 / 27

  10. About Coppersmith’s Method Euclidean Lattices Find a new small polynomial equation ☞ LLL Reduction . A matter of Bound Coppersmith’s bound | x 0 | < N 1 /δ ☞ Exhaustive search . In practice • The LLL-reduction can be costly. • The exhaustive search can be prohibitive. PKC 2014 6 / 27

  11. Rounding and Chaining LLL Our Approach • Use structure to improve Coppersmith’s method. Two Speedups: Rounding and Chaining • Asymptotical speed-up of LLL-reduction: δ − 2 log 9 N → log 7 N • Heuristic speed-up of the exhaustive search. Core Ideas of Rounding and Chaining • Rounding: Apply LLL on a matrix with smaller coefficients ☞ Divide all coefficients in Coppersmith’s matrix. • Chaining: Reuse previous computation ☞ Apply a small transformation on the last reduced matrix. PKC 2014 7 / 27

  12. Rounding and Chaining LLL Our Approach • Use structure to improve Coppersmith’s method. Two Speedups: Rounding and Chaining • Asymptotical speed-up of LLL-reduction: δ − 2 log 9 N → log 7 N • Heuristic speed-up of the exhaustive search. Timings for a typical instance ( ⌈ log 2 ( N ) ⌉ = 2048 and δ = 3) • Original method: 4 years. • Our new method: 2.6 days. PKC 2014 7 / 27

  13. Coppersmith’s Method (Howgrave-Graham) The problem: find all small integers x 0 s.t. f ( x 0 ) ≡ 0 mod N . The idea: find a small polynomial g s.t. g ( x 0 ) = 0 over Z . How to find the polynomial g : g     LLL Family of B R Polynomials B     (with parameter h ) • g ( x 0 ) ≡ 0 mod N h − 1 � ⇒ g ( x 0 ) = 0 over Z . • g ( x 0 ) < N h − 1 PKC 2014 8 / 27

  14. Complexity / Practical Results of Coppersmith’s Method State-of-the-art Analysis O ( log 9 ( N ) /δ 2 ) . • Complexity using L 2 : In practice, for ⌈ log 2 ( N ) ⌉ = 1024 and δ = 2 2 492 2 496 2 500 2 503 2 504 2 505 2 512 Upper bound for x 0 ... Lattice Dimension n = h δ + 1 29 35 51 71 77 87 ... NA 15360 18432 26624 36864 39936 45056 ... NA Size of elements in B (bits) Time for LLL (seconds) 10.6 35.2 355 2338 4432 11426 ... NA Remark: All tests were performed using Magma V2.19-5. [ L 2 ] An LLL Algorithm with Quadratic Complexity. P . Q. Nguyen and D. Stehl´ e, SIAM J. of Computing, 2009 . PKC 2014 9 / 27

  15. Using Structure: A First Result State-of-the-art Analysis O ( log 9 ( N ) /δ 2 ) . • Complexity using L 2 : New Preliminary Result Using Structure [1] O ( log 8 ( N ) /δ ) . • Complexity using L 2 : [1] An Upper Bound on the Average Number of Iterations of the LLL Algorithm. Herv´ e Daud´ e, Brigitte Vall´ ee, 1994. PKC 2014 10 / 27

  16. Speeding up Coppersmith’s Algorithm by Rounding ☞ Use Coppersmith’s matrix structure. PKC 2014 11 / 27

  17. Speeding up Coppersmith’s Algorithm by Rounding The idea: Perform computations with most significant bits         A B  A B ⇒  � �    � � c c        PKC 2014 12 / 27

  18. Speeding up Coppersmith’s Algorithm by Rounding N h − 1   XN h − 1 Largest ...     X δ − 1 N h − 1       a 0 N h − 2 X δ N h − 2   . . .   a 0 XN h − 2 X δ + 1 N h − 2  . . .  ... ...     B = a 0 X δ − 1 N h − 2 X 2 δ − 1 N h − 2   Smallest . . .       ...   . . . . . .      a δ X δ ( h − 1 )  0 . . . . . .   a δ X δ ( h − 1 )+ 1 0 X   . . . . . .  ... ...  a δ 0 X δ − 1 X δ h − 1 . . . . . . δ , all diagonal elements lie between N h − 2 and N h . 1 ☞ Since X < N PKC 2014 13 / 27

  19. Speeding up Coppersmith’s Algorithm by Rounding First step of rounding method • Size-reduce B so that subdiagonal coefficients are smaller than diagonal coefficients.   b 1 < b 1 b 2    < b 1 < b 2 b 3    < b 1 < b 2 < b 3   B = Size-Reduce ( B ) =   ...   . . .       < b 1 < b 2 < b 3 . . . b n PKC 2014 14 / 27

  20. Speeding up Coppersmith’s Algorithm by Rounding Second step of the rounding method • Create a new rounded matrix ⌊ B / c ⌋ . • Apply LLL on ⌊ B / c ⌋           / c LLL  ⌊ B / c ⌋  ⌊ B / c ⌋ R B T  ,        PKC 2014 15 / 27

  21. Speeding up Coppersmith’s Algorithm by Rounding Second step of the rounding method • Create a new rounded matrix ⌊ B / c ⌋ . • Apply LLL on ⌊ B / c ⌋           / c LLL  ⌊ B / c ⌋  ×  ⌊ B / c ⌋ B T        PKC 2014 15 / 27

  22. Speeding up Coppersmith’s Algorithm by Rounding Second step of the rounding method • Create a new rounded matrix ⌊ B / c ⌋ . • Apply LLL on ⌊ B / c ⌋ : first vector of unimodular matrix is x . • Compute v = x B and solve v over Z .           / c LLL x  ⌊ B / c ⌋  ×  ⌊ B / c ⌋ B T           = ) × ( x B ( v )  PKC 2014 15 / 27

  23. Complexity of Rounding Method Theorem: Rounding Method O ( log 7 N ) . • Complexity using L 2 : Remainder on Coppersmith’s method complexity: O ( log 9 ( N ) /δ 2 ) . • State-of-the-art complexity: O ( log 8 ( N ) /δ ) . • New preliminary complexity: PKC 2014 16 / 27

  24. Timings with Rounding Improvement In practice, for ⌈ log 2 ( N ) ⌉ = 1024 and δ = 2 2 492 2 496 2 500 2 503 2 504 2 505 2 512 . . . Upper bound for x 0 Lattice Dimension 29 35 51 71 77 87 . . . NA Size of elements in B (bits) 15360 18432 26624 36864 39936 45056 ... NA Size of elements in ⌊ B / c ⌋ 2131 2127 2119 2119 2120 2123 ... NA Original LLL (seconds) 10.6 35.2 355 2338 4432 11426 . . . NA Rounding LLL (seconds) 1.6 3.5 18.8 94 150 436 . . . NA Dim 77: Speed-up of ≈ 30. ☞ PKC 2014 17 / 27

  25. Speeding up Exhaustive Search by Chaining ☞ Use hidden algebraic structure. PKC 2014 18 / 27

  26. Exhaustive Search Performing exhaustive search • Split the variable x into α and x ′ . x ′ x α • The new variable is x ′ . • Perform an exhaustive search on α . PKC 2014 19 / 27

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