Double Index Calculus Algorithm: Faster Solving Discrete Logarithm Problem in Finite Prime Field
Wen Huang, Zhishuo Zhang, Weixin Zhao, Jian Peng, Yongjian Liao, Yuyu Wang
TL;DR
This paper tackles the discrete logarithm problem in finite prime fields by introducing the double index calculus algorithm, which reduces the number of required prime-logarithms below the traditional $k+1$ bound and achieves faster solutions. By constructing two independent equation systems based on smooth integers and exploiting a common prime between the two resulting log sets, the target log $x$ with $g^x \equiv b \pmod{p}$ can be recovered as $x \equiv \alpha\beta^{-1} \pmod{p-1}$, even when not all factor-base logs exist. The authors provide theoretical time-complexity analyses showing improvements over index calculus, demonstrate probabilistic success with reasonable likelihoods, and validate the approach with experiments that show substantial speedups (often >30x) and noteworthy gains from parallel computation. The method broadens applicability when the base is not a primitive root and can leverage sieve-based tricks to further enhance performance, suggesting meaningful implications for cryptographic security parameters and future DL-method development.
Abstract
Solving the discrete logarithm problem in a finite prime field is an extremely important computing problem in modern cryptography. The hardness of solving the discrete logarithm problem in a finite prime field is the security foundation of numerous cryptography schemes. In this paper, we propose the double index calculus algorithm to solve the discrete logarithm problem in a finite prime field. Our algorithm is faster than the index calculus algorithm, which is the state-of-the-art algorithm for solving the discrete logarithm problem in a finite prime field. Empirical experiment results indicate that our algorithm could be more than a 30-fold increase in computing speed than the index calculus algorithm when the bit length of the order of prime field is 70 bits. In addition, our algorithm is more general than the index calculus algorithm. Specifically, when the base of the target discrete logarithm problem is not the multiplication generator, the index calculus algorithm may fail to solve the discrete logarithm problem while our algorithm still can work.
