English

Simulation of Shor algorithm for discrete logarithm problems with comprehensive pairs of modulo p and order q

Quantum Physics 2025-10-06 v2

Abstract

The discrete logarithm problem (DLP) over finite fields, commonly used in classical cryptography, has no known polynomial-time algorithm on classical computers. However, Shor has provided its polynomial-time algorithm on quantum computers. Nevertheless, there are only few examples simulating quantum circuits that operate on general pairs of modulo pp and order qq. In this paper, we constructed such quantum circuits and solved DLPs for all 1,860 possible pairs of pp and qq up to 32 qubits using a quantum simulator with PRIMEHPC FX700. From this, we obtained and verified values of the success probabilities, which had previously been heuristically analyzed by Eker\r{a}. As a result, the detailed waveform shape of the success probability of Shor's algorithm for solving the DLP, known as a periodic function of order qq, was clarified. Additionally, we generated 1,015 quantum circuits for larger pairs of pp and qq, extrapolated the circuit sizes obtained, and compared them for p=2048p=2048 bits between safe-prime groups and Schnorr groups. While in classical cryptography, the cipher strength of safe-prime groups and Schnorr groups is the same if pp is equal, we quantitatively demonstrated how much the strength of the latter decreases to the bit length of pp in the former when using Shor's quantum algorithm. In particular, it was experimentally and theoretically shown that when a ripple carry adder is used in the addition circuit, the cryptographic strength of a Schnorr group with p=2048p=2048 bits under Shor's algorithm is almost equivalent to that of a safe-prime group with p=1024p=1024 bits.

Keywords

Cite

@article{arxiv.2503.23939,
  title  = {Simulation of Shor algorithm for discrete logarithm problems with comprehensive pairs of modulo p and order q},
  author = {Kaito Kishi and Junpei Yamaguchi and Tetsuya Izu and Noboru Kunihiro},
  journal= {arXiv preprint arXiv:2503.23939},
  year   = {2025}
}