a heuristic quasi polynomial algorithm for discrete
play

A heuristic quasi-polynomial algorithm for discrete logarithm in - PowerPoint PPT Presentation

ECC, Chennai October 8, 2014 A heuristic quasi-polynomial algorithm for discrete logarithm in small characteristic Razvan Barbulescu 1 Pierrick Gaudry 2 Antoine Joux 3 e 2 Emmanuel Thom IMJ-PRG, Paris Loria, Nancy LIP6, Paris R.


  1. ECC, Chennai — October 8, 2014 A heuristic quasi-polynomial algorithm for discrete logarithm in small characteristic Razvan Barbulescu 1 Pierrick Gaudry 2 Antoine Joux 3 e 2 Emmanuel Thom´ IMJ-PRG, Paris Loria, Nancy LIP6, Paris R. Barbulescu, P. Gaudry, A. Joux, E. Thom´ e — A quasi-polynomial algorithm 0 / 28

  2. Context The discrete logarithm problem (DLP) In a cyclic group G , given a generator g and an element g a , FIND a . We can search the smallest positive integer solution a or, more common, the residue of a modulo a prime factor ℓ of # G . Choices for G 1. elliptic curves (estimated of exponential difficulty); 2. multiplicative group of finite fields (subexponential) 2.1 small characteristic, e.g. F 2 n and F 3 n , 2.2 non-small characteristic, e.g. F p and F p 2 Example When G = ( F p ) ∗ , given two integers g and h , if it exists, FIND x in g x ≡ h mod p . R. Barbulescu, P. Gaudry, A. Joux, E. Thom´ e — A quasi-polynomial algorithm 1 / 28

  3. Motivation same complexity discrete log. in F p factorization analogous discrete log. in F 2 n relies on pairings inversion over F 2 n relies on elliptic curves discrete log. over F 2 n F Q is the field of Q elements, Q prime power. R. Barbulescu, P. Gaudry, A. Joux, E. Thom´ e — A quasi-polynomial algorithm 2 / 28

  4. Shanks’ baby-step giant-step algorithm √ Let K ≈ N and write the discrete log of x as x = x 0 + K x 1 , with 0 ≤ x 0 < K and 0 ≤ x 1 < N / K . Algorithm 1. Compute Baby Steps : For all i in [0 , K − 1], compte g i . Store in a hash table the resulting pairs ( g i , i ). 2. Compute Giant Steps : For all j in [0 , ⌊ N / K ⌋ ], compute hg − Kj . If the resulting element is in the BS table, then get the corresponding i , and return x = i + Kj . Theorem √ Discrete logarithms in a cyclic group of order N can be computed in less than 2 ⌈ N ⌉ operations. R. Barbulescu, P. Gaudry, A. Joux, E. Thom´ e — A quasi-polynomial algorithm 3 / 28

  5. Shanks’ baby-step giant-step algorithm √ Let K ≈ N and write the discrete log of x as x = x 0 + K x 1 , with 0 ≤ x 0 < K and 0 ≤ x 1 < N / K . Algorithm 1. Compute Baby Steps : For all i in [0 , K − 1], compte g i . Store in a hash table the resulting pairs ( g i , i ). 2. Compute Giant Steps : For all j in [0 , ⌊ N / K ⌋ ], compute hg − Kj . If the resulting element is in the BS table, then get the corresponding i , and return x = i + Kj . Theorem √ Discrete logarithms in a cyclic group of order N can be computed in less than 2 ⌈ N ⌉ operations. Multiplicative group of finite fields is not a generic groups! R. Barbulescu, P. Gaudry, A. Joux, E. Thom´ e — A quasi-polynomial algorithm 3 / 28

  6. History For two constatnts α ∈ [0 , 1] and c > 0, we put � c + o (1))(log Q ) α (log log Q ) 1 − α � L Q ( α, c ) = exp Put n = log Q . • L Q (0) = n O (1) i.e. polynomial; • L Q (1) = 2 O ( n ) i.e. exponential; √ n ; DLP algorithms invented in 1979 − 1994. • L Q (1 / 2) ≈ 2 √ n ; DLP algorithms invented in 1984 − 2006. 3 • L Q (1 / 3) ≈ 2 R. Barbulescu, P. Gaudry, A. Joux, E. Thom´ e — A quasi-polynomial algorithm 4 / 28

  7. Smoothness Definition A polynomial in F q [ t ] is m -smooth if it factors into polynomials of degree less than or equal to m . Computation One can test if a polynomial is smooth by factoring it (probabilistic polynomial). Theorem (Panario–Gourdon–Flajolet) The probability that a degree- n polynomial is m -smooth is 1 / u u (1+ o (1)) where u = n m . Cases: ◮ n = D , m = D / 6 gives a constant probability; ◮ n = D , m = 1 gives a probability 1 / D ! ≈ 1 / D D . ◮ n = log q L x ( α, · ), m = log q L x ( β, · ) gives a probability of 1 / L x ( α − β, · ); R. Barbulescu, P. Gaudry, A. Joux, E. Thom´ e — A quasi-polynomial algorithm 5 / 28

  8. Obtaining relations The finite field F q k is represented as F q [ t ] /ϕ for an irreducible polynomial ϕ ∈ F q [ t ] of degree k . Example Take q = 3, k = 5, ϕ = t 5 + t 4 + 2 t 3 + 1, g = t ∈ F 3 5 . We have t 5 ≡ 2( t + 1)( t 3 + t 2 + 2 t + 1) mod ϕ R. Barbulescu, P. Gaudry, A. Joux, E. Thom´ e — A quasi-polynomial algorithm 6 / 28

  9. Obtaining relations The finite field F q k is represented as F q [ t ] /ϕ for an irreducible polynomial ϕ ∈ F q [ t ] of degree k . Example Take q = 3, k = 5, ϕ = t 5 + t 4 + 2 t 3 + 1, g = t ∈ F 3 5 . We have t 5 ≡ 2( t + 1)( t 3 + t 2 + 2 t + 1) mod ϕ t 6 ≡ 2( t 2 + 1)( t 2 + t + 2) mod ϕ R. Barbulescu, P. Gaudry, A. Joux, E. Thom´ e — A quasi-polynomial algorithm 6 / 28

  10. Obtaining relations The finite field F q k is represented as F q [ t ] /ϕ for an irreducible polynomial ϕ ∈ F q [ t ] of degree k . Example Take q = 3, k = 5, ϕ = t 5 + t 4 + 2 t 3 + 1, g = t ∈ F 3 5 . We have t 5 ≡ 2( t + 1)( t 3 + t 2 + 2 t + 1) mod ϕ t 6 ≡ 2( t 2 + 1)( t 2 + t + 2) mod ϕ t 7 ≡ 2( t + 2)( t + 1)( t + 1) mod ϕ R. Barbulescu, P. Gaudry, A. Joux, E. Thom´ e — A quasi-polynomial algorithm 6 / 28

  11. Obtaining relations The finite field F q k is represented as F q [ t ] /ϕ for an irreducible polynomial ϕ ∈ F q [ t ] of degree k . Example Take q = 3, k = 5, ϕ = t 5 + t 4 + 2 t 3 + 1, g = t ∈ F 3 5 . We have t 5 ≡ 2( t + 1)( t 3 + t 2 + 2 t + 1) mod ϕ t 6 ≡ 2( t 2 + 1)( t 2 + t + 2) mod ϕ t 7 ≡ 2( t + 2)( t + 1)( t + 1) mod ϕ The last relation gives: 7 log g t ≡ log g 2 + 1 log g ( t + 2) + 2 log g ( t + 1) mod 11 R. Barbulescu, P. Gaudry, A. Joux, E. Thom´ e — A quasi-polynomial algorithm 6 / 28

  12. Obtaining relations The finite field F q k is represented as F q [ t ] /ϕ for an irreducible polynomial ϕ ∈ F q [ t ] of degree k . Example Take q = 3, k = 5, ϕ = t 5 + t 4 + 2 t 3 + 1, g = t ∈ F 3 5 . We have t 5 ≡ 2( t + 1)( t 3 + t 2 + 2 t + 1) mod ϕ t 6 ≡ 2( t 2 + 1)( t 2 + t + 2) mod ϕ t 7 ≡ 2( t + 2)( t + 1)( t + 1) mod ϕ The last relation gives: 7 log g t ≡ 1 log g ( t + 2) + 2 log g ( t + 1) mod 11 Proposition q and ℓ is a factor of q k − 1 coprime to ( q − 1), then log a ≡ 0 mod ℓ . If a ∈ F ∗ R. Barbulescu, P. Gaudry, A. Joux, E. Thom´ e — A quasi-polynomial algorithm 6 / 28

  13. Obtaining relations The finite field F q k is represented as F q [ t ] /ϕ for an irreducible polynomial ϕ ∈ F q [ t ] of degree k . Example Take q = 3, k = 5, ϕ = t 5 + t 4 + 2 t 3 + 1, g = t ∈ F 3 5 . We have t 5 ≡ 2( t + 1)( t 3 + t 2 + 2 t + 1) mod ϕ t 6 ≡ 2( t 2 + 1)( t 2 + t + 2) mod ϕ t 8 ≡ . . . The last relation gives: 7 log g t ≡ 1 log g ( t + 2) + 2 log g ( t + 1) mod 11 8 log g ( t + 1) = 1 log g ( t + 2) mod 11 9 log g ( t + 2) = 2 log g t mod 11 We find log g ( t + 1) ≡ 158 mod 11 and log g ( t + 2) ≡ 54 mod 11. Proposition q and ℓ is a factor of q k − 1 coprime to ( q − 1), then log a ≡ 0 mod ℓ . If a ∈ F ∗ R. Barbulescu, P. Gaudry, A. Joux, E. Thom´ e — A quasi-polynomial algorithm 6 / 28

  14. Descent Example (cont’d) Let us compute log g P for an arbitrary polynomial, say P = t 4 + t + 2. We have P 2 ≡ t 4 + t 3 + 2 t 2 + 2 t + 2 mod ϕ P 3 ≡ 2( t + 1)( t + 2)( t 2 + 1) mod ϕ P 4 ≡ ( t + 1)( t + 2) t 2 mod ϕ. R. Barbulescu, P. Gaudry, A. Joux, E. Thom´ e — A quasi-polynomial algorithm 7 / 28

  15. Descent Example (cont’d) Let us compute log g P for an arbitrary polynomial, say P = t 4 + t + 2. We have P 2 ≡ t 4 + t 3 + 2 t 2 + 2 t + 2 mod ϕ P 3 ≡ 2( t + 1)( t + 2)( t 2 + 1) mod ϕ P 4 ≡ ( t + 1)( t + 2) t 2 mod ϕ. By taking discrete logarithms we obtain 4 log g P = 1 log g ( t + 1) + 1 log g ( t + 2) + 2 log g t . So log g P = 114. R. Barbulescu, P. Gaudry, A. Joux, E. Thom´ e — A quasi-polynomial algorithm 7 / 28

  16. Discrete logarithms of constants Here ℓ is a prime factor of the group order q k − 1, larger than q − 1. Elements of F q Elements of F q ⊂ F q k are represented in F q [ t ] / � ϕ � by constants a . They satisfy a q − 1 = 1, so we have log g ( a q − 1 ) ≡ log g (1) ≡ 0 mod ℓ. Hence, ( q − 1) log g a ≡ 0 mod ℓ . Since ℓ is prime and larger than q − 1, log g a ≡ 0 mod ℓ. R. Barbulescu, P. Gaudry, A. Joux, E. Thom´ e — A quasi-polynomial algorithm 8 / 28

  17. Comments Index calculus family All L (1 / 2) and L (1 / 3) DLP algorithms follow the same scheme (of Kraitchik 1922): • Relation collection; • Linear algebra to get logs of factor base elements; • Individual log, to handle any element. New algorithms Joux’s L (1 / 4) algorithm still uses this terminology (but very different in nature). Quasi-polynomial time algorithm: it’s time to stop speaking about factor base! R. Barbulescu, P. Gaudry, A. Joux, E. Thom´ e — A quasi-polynomial algorithm 9 / 28

  18. Records for fields F 2 n with prime n Let us compare to the factoring record: 768 bits in 2009. FFS is the choice in practice, and its variants • Coppersmith (inseparable polynomials); • Two rational sides FFS (Joux-Lercier). GIPS=giga instructions per second date GIPS year algo. author n 401 1992 0 . 2 Copp. Gordon,McCurley 512 1 2002 0 . 4 FFS Joux,Lercier 607 2002 20 Copp. Thom´ e 607 2005 1 . 6 FFS Joux,Lercier 613 2005 1 . 6 FFS Joux,Lercier 619 2012 ≈ 0 FFS Caramel 809 2013 16 FFS Caramel 1 Using the same algorithm as for prime degrees. R. Barbulescu, P. Gaudry, A. Joux, E. Thom´ e — A quasi-polynomial algorithm 10 / 28

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