fbpx
Wikipedia

Index calculus algorithm

In computational number theory, the index calculus algorithm is a probabilistic algorithm for computing discrete logarithms. Dedicated to the discrete logarithm in where is a prime, index calculus leads to a family of algorithms adapted to finite fields and to some families of elliptic curves. The algorithm collects relations among the discrete logarithms of small primes, computes them by a linear algebra procedure and finally expresses the desired discrete logarithm with respect to the discrete logarithms of small primes.

Description edit

Roughly speaking, the discrete log problem asks us to find an x such that  , where g, h, and the modulus n are given.

The algorithm (described in detail below) applies to the group   where q is prime. It requires a factor base as input. This factor base is usually chosen to be the number −1 and the first r primes starting with 2. From the point of view of efficiency, we want this factor base to be small, but in order to solve the discrete log for a large group we require the factor base to be (relatively) large. In practical implementations of the algorithm, those conflicting objectives are compromised one way or another.

The algorithm is performed in three stages. The first two stages depend only on the generator g and prime modulus q, and find the discrete logarithms of a factor base of r small primes. The third stage finds the discrete log of the desired number h in terms of the discrete logs of the factor base.

The first stage consists of searching for a set of r linearly independent relations between the factor base and power of the generator g. Each relation contributes one equation to a system of linear equations in r unknowns, namely the discrete logarithms of the r primes in the factor base. This stage is embarrassingly parallel and easy to divide among many computers.

The second stage solves the system of linear equations to compute the discrete logs of the factor base. A system of hundreds of thousands or millions of equations is a significant computation requiring large amounts of memory, and it is not embarrassingly parallel, so a supercomputer is typically used. This was considered a minor step compared to the others for smaller discrete log computations. However, larger discrete logarithm records[1][2] were made possible only by shifting the work away from the linear algebra and onto the sieve (i.e., increasing the number of equations while reducing the number of variables).

The third stage searches for a power s of the generator g which, when multiplied by the argument h, may be factored in terms of the factor base gsh = (−1)f0 2f1 3f2···prfr.

Finally, in an operation too simple to really be called a fourth stage, the results of the second and third stages can be rearranged by simple algebraic manipulation to work out the desired discrete logarithm x = f0logg(−1) + f1logg2 + f2logg3 + ··· + frloggprs.

The first and third stages are both embarrassingly parallel, and in fact the third stage does not depend on the results of the first two stages, so it may be done in parallel with them.

The choice of the factor base size r is critical, and the details are too intricate to explain here. The larger the factor base, the easier it is to find relations in stage 1, and the easier it is to complete stage 3, but the more relations you need before you can proceed to stage 2, and the more difficult stage 2 is. The relative availability of computers suitable for the different types of computation required for stages 1 and 2 is also important.

Applications in other groups edit

The lack of the notion of prime elements in the group of points on elliptic curves makes it impossible to find an efficient factor base to run index calculus method as presented here in these groups. Therefore this algorithm is incapable of solving discrete logarithms efficiently in elliptic curve groups. However: For special kinds of curves (so called supersingular elliptic curves) there are specialized algorithms for solving the problem faster than with generic methods. While the use of these special curves can easily be avoided, in 2009 it has been proven that for certain fields the discrete logarithm problem in the group of points on general elliptic curves over these fields can be solved faster than with generic methods. The algorithms are indeed adaptations of the index calculus method.[3]

The algorithm edit

Input: Discrete logarithm generator  , modulus   and argument  . Factor base  , of length  .
Output:   such that  .

  • relations ← empty_list
  • for  
    • Using an integer factorization algorithm optimized for smooth numbers, try to factor   (Euclidean residue) using the factor base, i.e. find  's such that  
    • Each time a factorization is found:
      • Store   and the computed  's as a vector   (this is a called a relation)
      • If this relation is linearly independent to the other relations:
        • Add it to the list of relations
        • If there are at least   relations, exit loop
  • Form a matrix whose rows are the relations
  • Obtain the reduced echelon form of the matrix
    • The first element in the last column is the discrete log of   and the second element is the discrete log of   and so on
  • for  
    • Try to factor   over the factor base
    • When a factorization is found:
      • Output  

Complexity edit

Assuming an optimal selection of the factor base, the expected running time (using L-notation) of the index-calculus algorithm can be stated as  .

History edit

The basic idea of the algorithm is due to Western and Miller (1968),[4] which ultimately relies on ideas from Kraitchik (1922).[5] The first practical implementations followed the 1976 introduction of the Diffie-Hellman cryptosystem which relies on the discrete logarithm. Merkle's Stanford University dissertation (1979) was credited by Pohlig (1977) and Hellman and Reyneri (1983), who also made improvements to the implementation.[6][7] Adleman optimized the algorithm and presented it in the present form.[8]

The Index Calculus family edit

Index Calculus inspired a large family of algorithms. In finite fields   with   for some prime  , the state-of-art algorithms are the Number Field Sieve for Discrete Logarithms,  , when   is large compared to  ,[9] the function field sieve,  ,[9] and Joux,[10]   for  , when   is small compared to   and the Number Field Sieve in High Degree,   for   when   is middle-sided. Discrete logarithm in some families of elliptic curves can be solved in time   for  , but the general case remains exponential.

External links edit

  • Discrete logarithms in finite fields and their cryptographic significance, by Andrew Odlyzko
  • Discrete Logarithm Problem, by Chris Studholme, including the June 21, 2002 paper "The Discrete Log Problem".
  • A. Menezes; P. van Oorschot; S. Vanstone (1997). Handbook of Applied Cryptography. CRC Press. pp. 107–109. ISBN 0-8493-8523-7.

Notes edit

  1. ^ Thorsten Kleinjung, Claus Diem, Arlen K. Lenstra, Christine Priplata, Colin Stahlke, "Computation of a 768-bit prime field discrete logarithm", IACR sprint, 2017
  2. ^ Joshua Fried, Pierrick Gaudry, Nadia Heninger, Emmanuel Thome, "A kilobit hidden snfs discrete logarithm computation", IACR spring, July 2016
  3. ^ Diem, C (2010). "On the discrete logarithm problem in elliptic curves". Compositio Mathematica.
  4. ^ Western and Miller (1968) Tables of indices and primitive roots, Royal Society Mathematical Tables, vol 9, Cambridge University Press.
  5. ^ M. Kraitchik, Théorie des nombres, Gauthier--Villards, 1922
  6. ^ Pohlig, S. Algebraic and combinatoric aspects of cryptography. Tech. Rep. No. 6602-1, Stanford Electron. Labs., Stanford, Calif., Oct. 1977.
  7. ^ M.E. Hellman and J.M. Reyneri, Fast computation of discrete logarithms in GF(q), Advances in Cryptology – -Proceedings of Crypto, 1983
  8. ^ L. Adleman, A subexponential algorithm for the discrete logarithm problem with applications to cryptography, In 20th Annual Symposium on Foundations of Computer Science, 1979
  9. ^ a b Barbulescu, Razvan (2013). Algorithms for discrete logarithm in finite fields (PhD). University of Lorraine.
  10. ^ Joux, Antoine (August 2013). Lange, Tanja; Lauter, Kristin; Lisoněk, Petr (eds.). A new index calculus algorithm with complexity   in very small characteristic. Selected Areas in Cryptography—SAC 2013. Lecture Notes in Computer Science. Vol. 8282. Burnaby, BC, Canada: Springer. pp. 355–379. doi:10.1007/978-3-662-43414-7_18. ISBN 978-3-662-43414-7.

index, calculus, algorithm, computational, number, theory, index, calculus, algorithm, probabilistic, algorithm, computing, discrete, logarithms, dedicated, discrete, logarithm, displaystyle, mathbb, mathbb, where, displaystyle, prime, index, calculus, leads, . In computational number theory the index calculus algorithm is a probabilistic algorithm for computing discrete logarithms Dedicated to the discrete logarithm in Z q Z displaystyle mathbb Z q mathbb Z where q displaystyle q is a prime index calculus leads to a family of algorithms adapted to finite fields and to some families of elliptic curves The algorithm collects relations among the discrete logarithms of small primes computes them by a linear algebra procedure and finally expresses the desired discrete logarithm with respect to the discrete logarithms of small primes Contents 1 Description 1 1 Applications in other groups 2 The algorithm 3 Complexity 4 History 5 The Index Calculus family 6 External links 7 NotesDescription editRoughly speaking the discrete log problem asks us to find an x such that g x h mod n displaystyle g x equiv h pmod n nbsp where g h and the modulus n are given The algorithm described in detail below applies to the group Z q Z displaystyle mathbb Z q mathbb Z nbsp where q is prime It requires a factor base as input This factor base is usually chosen to be the number 1 and the first r primes starting with 2 From the point of view of efficiency we want this factor base to be small but in order to solve the discrete log for a large group we require the factor base to be relatively large In practical implementations of the algorithm those conflicting objectives are compromised one way or another The algorithm is performed in three stages The first two stages depend only on the generator g and prime modulus q and find the discrete logarithms of a factor base of r small primes The third stage finds the discrete log of the desired number h in terms of the discrete logs of the factor base The first stage consists of searching for a set of r linearly independent relations between the factor base and power of the generator g Each relation contributes one equation to a system of linear equations in r unknowns namely the discrete logarithms of the r primes in the factor base This stage is embarrassingly parallel and easy to divide among many computers The second stage solves the system of linear equations to compute the discrete logs of the factor base A system of hundreds of thousands or millions of equations is a significant computation requiring large amounts of memory and it is not embarrassingly parallel so a supercomputer is typically used This was considered a minor step compared to the others for smaller discrete log computations However larger discrete logarithm records 1 2 were made possible only by shifting the work away from the linear algebra and onto the sieve i e increasing the number of equations while reducing the number of variables The third stage searches for a power s of the generator g which when multiplied by the argument h may be factored in terms of the factor base gsh 1 f0 2f1 3f2 prfr Finally in an operation too simple to really be called a fourth stage the results of the second and third stages can be rearranged by simple algebraic manipulation to work out the desired discrete logarithm x f0logg 1 f1logg2 f2logg3 frloggpr s The first and third stages are both embarrassingly parallel and in fact the third stage does not depend on the results of the first two stages so it may be done in parallel with them The choice of the factor base size r is critical and the details are too intricate to explain here The larger the factor base the easier it is to find relations in stage 1 and the easier it is to complete stage 3 but the more relations you need before you can proceed to stage 2 and the more difficult stage 2 is The relative availability of computers suitable for the different types of computation required for stages 1 and 2 is also important Applications in other groups edit The lack of the notion of prime elements in the group of points on elliptic curves makes it impossible to find an efficient factor base to run index calculus method as presented here in these groups Therefore this algorithm is incapable of solving discrete logarithms efficiently in elliptic curve groups However For special kinds of curves so called supersingular elliptic curves there are specialized algorithms for solving the problem faster than with generic methods While the use of these special curves can easily be avoided in 2009 it has been proven that for certain fields the discrete logarithm problem in the group of points on general elliptic curves over these fields can be solved faster than with generic methods The algorithms are indeed adaptations of the index calculus method 3 The algorithm editInput Discrete logarithm generator g displaystyle g nbsp modulus q displaystyle q nbsp and argument h displaystyle h nbsp Factor base 1 2 3 5 7 11 p r displaystyle 1 2 3 5 7 11 ldots p r nbsp of length r 1 displaystyle r 1 nbsp Output x displaystyle x nbsp such that g x h mod q displaystyle g x h mod q nbsp relations empty list for k 1 2 displaystyle k 1 2 ldots nbsp Using an integer factorization algorithm optimized for smooth numbers try to factor g k mod q displaystyle g k bmod q nbsp Euclidean residue using the factor base i e find e i displaystyle e i nbsp s such that g k mod q 1 e 0 2 e 1 3 e 2 p r e r displaystyle g k bmod q 1 e 0 2 e 1 3 e 2 cdots p r e r nbsp Each time a factorization is found Store k displaystyle k nbsp and the computed e i displaystyle e i nbsp s as a vector e 0 e 1 e 2 e r k displaystyle e 0 e 1 e 2 ldots e r k nbsp this is a called a relation If this relation is linearly independent to the other relations Add it to the list of relations If there are at least r 1 displaystyle r 1 nbsp relations exit loop Form a matrix whose rows are the relations Obtain the reduced echelon form of the matrix The first element in the last column is the discrete log of 1 displaystyle 1 nbsp and the second element is the discrete log of 2 displaystyle 2 nbsp and so on for s 1 2 displaystyle s 1 2 ldots nbsp Try to factor g s h mod q 1 f 0 2 f 1 3 f 2 p r f r displaystyle g s h bmod q 1 f 0 2 f 1 3 f 2 cdots p r f r nbsp over the factor base When a factorization is found Output x f 0 log g 1 f 1 log g 2 f r log g p r s displaystyle x f 0 log g 1 f 1 log g 2 cdots f r log g p r s nbsp Complexity editAssuming an optimal selection of the factor base the expected running time using L notation of the index calculus algorithm can be stated as L n 1 2 2 o 1 displaystyle L n 1 2 sqrt 2 o 1 nbsp History editThe basic idea of the algorithm is due to Western and Miller 1968 4 which ultimately relies on ideas from Kraitchik 1922 5 The first practical implementations followed the 1976 introduction of the Diffie Hellman cryptosystem which relies on the discrete logarithm Merkle s Stanford University dissertation 1979 was credited by Pohlig 1977 and Hellman and Reyneri 1983 who also made improvements to the implementation 6 7 Adleman optimized the algorithm and presented it in the present form 8 The Index Calculus family editIndex Calculus inspired a large family of algorithms In finite fields F q displaystyle mathbb F q nbsp with q p n displaystyle q p n nbsp for some prime p displaystyle p nbsp the state of art algorithms are the Number Field Sieve for Discrete Logarithms L q 1 3 64 9 3 textstyle L q left 1 3 sqrt 3 64 9 right nbsp when p displaystyle p nbsp is large compared to q displaystyle q nbsp 9 the function field sieve L q 1 3 32 9 3 textstyle L q left 1 3 sqrt 3 32 9 right nbsp 9 and Joux 10 L q 1 4 e c displaystyle L q left 1 4 varepsilon c right nbsp for c gt 0 displaystyle c gt 0 nbsp when p displaystyle p nbsp is small compared to q displaystyle q nbsp and the Number Field Sieve in High Degree L q 1 3 c displaystyle L q 1 3 c nbsp for c gt 0 displaystyle c gt 0 nbsp when p displaystyle p nbsp is middle sided Discrete logarithm in some families of elliptic curves can be solved in time L q 1 3 c displaystyle L q left 1 3 c right nbsp for c gt 0 displaystyle c gt 0 nbsp but the general case remains exponential External links editDiscrete logarithms in finite fields and their cryptographic significance by Andrew Odlyzko Discrete Logarithm Problem by Chris Studholme including the June 21 2002 paper The Discrete Log Problem A Menezes P van Oorschot S Vanstone 1997 Handbook of Applied Cryptography CRC Press pp 107 109 ISBN 0 8493 8523 7 Notes edit Thorsten Kleinjung Claus Diem Arlen K Lenstra Christine Priplata Colin Stahlke Computation of a 768 bit prime field discrete logarithm IACR sprint 2017 Joshua Fried Pierrick Gaudry Nadia Heninger Emmanuel Thome A kilobit hidden snfs discrete logarithm computation IACR spring July 2016 Diem C 2010 On the discrete logarithm problem in elliptic curves Compositio Mathematica Western and Miller 1968 Tables of indices and primitive roots Royal Society Mathematical Tables vol 9 Cambridge University Press M Kraitchik Theorie des nombres Gauthier Villards 1922 Pohlig S Algebraic and combinatoric aspects of cryptography Tech Rep No 6602 1 Stanford Electron Labs Stanford Calif Oct 1977 M E Hellman and J M Reyneri Fast computation of discrete logarithms in GF q Advances in Cryptology Proceedings of Crypto 1983 L Adleman A subexponential algorithm for the discrete logarithm problem with applications to cryptography In 20th Annual Symposium on Foundations of Computer Science 1979 a b Barbulescu Razvan 2013 Algorithms for discrete logarithm in finite fields PhD University of Lorraine Joux Antoine August 2013 Lange Tanja Lauter Kristin Lisonek Petr eds A new index calculus algorithm with complexity L 1 4 o 1 displaystyle L 1 4 o 1 nbsp in very small characteristic Selected Areas in Cryptography SAC 2013 Lecture Notes in Computer Science Vol 8282 Burnaby BC Canada Springer pp 355 379 doi 10 1007 978 3 662 43414 7 18 ISBN 978 3 662 43414 7 Retrieved from https en wikipedia org w index php title Index calculus algorithm amp oldid 1195773535, wikipedia, wiki, book, books, library,

article

, read, download, free, free download, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, picture, music, song, movie, book, game, games.