DOI QR코드

DOI QR Code

Cycle Detection in Discrete Logarithm Using a Queue

큐를 이용한 이산대수의 사이클 검출

  • Lee, Sang-Un (Dept. of Multimedia Eng., Gangneung-Wonju National University)
  • 이상운 (강릉원주대학교 과학기술대학 멀티미디어공학과)
  • Received : 2017.04.13
  • Accepted : 2017.06.09
  • Published : 2017.06.30

Abstract

This paper proposes a discrete logarithm algorithm that largely reduces execution times of Pollard's Rho and Brent's algorithm in obtaining ${\gamma}$ from ${\alpha}^{\gamma}{\equiv}{\beta}$(mod p). The proposed algorithm can be distinguished from the conventional Brent's algorithm by three major features: it sets an initial value as $x_0={\alpha}{\beta}$ in lieu of $x_0=1$; replaces $y=x_i$, ($i=2^k$) pointer with $y_j{\leftarrow}x_i$, ($i=2^k$, $1{\leq}j{\leq}10$) for a Queue the size 10; and detects collision of ${\beta}_{\gamma}$, ${\beta}_{{\gamma}^{\prime}}$, ${\beta}_{{\gamma}^{-1}}$ instead of ${\beta}_{\gamma}$. This Queue method has reduced the execution time of Pollard's Rho algorithm with $x_0=y_0=1$ by 65.02%, and that of Brent's algorithm with $x_0=1$ by 47.80%.

본 논문은 ${\alpha}^{\gamma}{\equiv}{\beta}$(mod p)에서 ${\gamma}$를 구하는 Pollard의 Rho와 Brent의 이산대수 알고리즘의 수행횟수를 크게 감소시키는 알고리즘을 제안하였다. 제안된 방법은 Brent 방법으로 충돌을 검출하였다. 차이점은 $x_0=1$ 대신 $x_0={\alpha}{\beta}$을, $y=x_i$, ($i=2^k$) 대신 크기가 10인 Queue에 $y_j{\leftarrow}x_i$, ($i=2^k$, $1{\leq}j{\leq}10$)를 저장하는 방법을, ${\beta}_{\gamma}$ 대신 ${\beta}={\beta}_{\gamma}$, ${\beta}_{{\gamma}^{\prime}}$, ${\beta}_{{\gamma}^{-1}}$의 충돌을 찾는 방법을 적용하였다. 제안된 Queue 적용법은 $x_0=y_0=1$${\beta}_{\gamma}$의 충돌을 검출하는 Pollard의 Rho 알고리즘의 수행횟수를 65.02%, $x_0=1$으로 ${\beta}_{\gamma}$의 충돌을 검출하는 Brent 알고리즘의 수행횟수를 47.80% 감소시켰다.

Keywords

References

  1. T. H. Cormen, C. E. Leiserson, R. L. Rivest, and C. Stein, "Introduction to Algorithms, Section 31.7 The RSA Public-key Cryptosystem", 2nd Ed., MIT Press and McGraw-Hill, ISBN: 0-262-03293-7, pp. 881-887, 2001.
  2. D. R. Stinson, "Cryptography: Theory and Practice," 3rd ed., London, CRC Press, ISBN-10:1584885084, 2006.
  3. S. U. Lee, "Multiple Parallel-Pollard's Rho Discrete Logarithm Algorithm," Journal of KSCI, Vol. 20, No. 8, pp. 29-33, Aug. 2015. DOI: https://doi.org/10.9708/jksci.2015.20.8.029
  4. D. Shanks, "The Infrastructure of a Real Quadratic Field and its Applications", Proceedings of the 1972 Number Theory Conference, University of Colorado, Boulder, pp. 217-224, MR 389842, 1972.
  5. J. M. Pollard, "Monte Carlo Methods for Index Computation (mod p)," Mathematics of Computation, Vol. 32, No. 143, pp. 918-924, Jul. 1978. DOI: https://doi.org/10.2307/2006496
  6. R. P. Brent, "An Improved Monte Carlo Factorization Algorithm," Bit Numerical Mathematics (BIT), Vol. 20, No. 2, pp. 176-184, Jun. 1980. DOI: https://doi.org/10.1007/BF01933190
  7. S. Bai and R. P. Brent, "On the Efficiency of Pollard's Rho Method for Discrete Logarithms," Computing: The Australasian Theory Symposium (CATS), Vol. 77, pp. 125-131, 2008.
  8. E. Teske, "Speeding Up Pollard's Rho Method for Computing Discrete Logarithms," Lecture Notes in Computer Science, Vol. 1423, pp. 541-554, Jun. 1998. DOI: https://doi.org/10.1007/BFb0054891
  9. J. H. Cheon, J. Hong, and M. K. Kim, "Speeding Up the Pollard Rho Method on Finite Fields," ASIACRYPT, pp. 471-488, 2008.
  10. G. Nivasch, "Cycle Detection Using a Stack," Information Processing Letters, Vol. 90, No. 3, pp. 135-140, May 2004. DOI: https://doi.org/10.1016/j.ipl.2004.01.016
  11. A. Shamir, "Random Graphs in Cryptography," 7th Haifa Workshop on Interdisciplinary Applications of Graph Theory, Combinatorics and Algorithms, 2007.
  12. Wikipedia, "Cycle Detection", http://en.wikipedia.org/wiki/Cycle_detection, Wikimedia Foundation, Inc, 2015.