DOI QR코드

DOI QR Code

Modified Baby-Step Giant-Step Algorithm for Discrete Logarithm

최단 보폭-최장 보폭 이산대수 알고리즘의 변형

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

Abstract

A baby-step giant-step algorithm divides n by n blocks that possess $m={\lceil}\sqrt{n}{\rceil}$ elements, and subsequently computes and stores $a^x$ (mod n) for m elements in the 1st block. It then calculates mod n for m blocks and identifies each of them with those in the 1st block of an identical elemental value. This paper firstly proposes a modified baby-step giant-step algorithm that divides ${\lceil}m/2{\rceil}$ blocks with m elements applying $a^{{\phi}(n)/2}{\equiv}1(mod\;n)$ and $a^x(mod\;n){\equiv}a^{{\phi}(n)+x}$ (mod n) principles. This results in a 50% decrease in the process of the giant-step. It then suggests a reverse baby-step giant step algorithm that performs and saves ${\lceil}m/2{\rceil}$ blocks firstly and computes $a^x$ (mod n) for m elements. The proposed algorithm is found to successfully halve the memory and search time of the baby-step giant step algorithm.

최단 보폭-최장 보폭 알고리즘은 n을 $m={\lceil}\sqrt{n}{\rceil}$개의 원소를 가진 m개의 블록으로 분할하고 첫 번째 블록의 m개에 대해 $a^x$ (mod n) 값을 저장한다. 다음으로 m개의 블록에 대한 mod n을 계산하여 첫 번째 블록의 원소 값을 검색하여 일치하는 블록을 찾는 방법이다. 본 논문에서는 첫 번째로, $a^{{\phi}(n)/2}{\equiv}1(mod\;n)$$a^x(mod\;n){\equiv}a^{{\phi}(n)+x}$ (mod n)의 특징을 적용하여 m개의 원소를 가진 ${\lceil}m/2{\rceil}$개의 블록으로 분할하는 방법을 적용하여 최장보폭의 수행횟수를 50% 감소시켰다. 두 번째로, ${\lceil}m/2{\rceil}$개의 최단 보폭을 먼저 수행하여 저장하고, 첫 번째 블록의 m개 원소를 수행하는 최단 보폭을 수행하는 방법으로 최단 보폭-최장 보폭 알고리즘을 역으로 수행하는 방법을 제안하였다. 이 알고리즘은 최단 보폭-최장 보폭 알고리즘의 m개 저장과 검색을 ${\lceil}m/2{\rceil}$개로 50% 감소시키는 특징이 있다.

Keywords

References

  1. T. H. Cormen, C. E. Leiserson, R. L. Rivest, and C. Stein, "Introduction to Algorithms," 2nd Ed., MIT Press and McGraw-Hill. pp. 887-896, 2001.
  2. Wikipedia, "Discrete Logarithm," http://en. wikipedia.org/wiki/Discrete_logarithm, 2013.
  3. D. R. Stinson, "Cryptography: Theory and Practice," 3rd ed., London, CRC Press, 2006.
  4. A. Stein and E. Teske, "Optimized Baby step- Giant step Methods," Journal of the Ramanujan Mathematical Society, Vol. 20, No. 1, pp. 1-32, Jan. 2005.
  5. D. C. Terr, "A modification of Shanks' Baby-step Giant-step algorithm," Mathematics of Computation, Vol. 69, No. 230, pp. 767-773, Apr. 2000.
  6. J. S. Coron, D. Lefranc, and G. Poupard, "A new baby-step giant-step algorithm and some applications to cryptanalysis," 7th International Workshop, Vol. 3659, pp. 47-60, Aug. 2005.
  7. B. K. Oh, K. C. Ha, and J. H. Oh, "An Improved Baby-Step-Giant-Step Method For Certain Elliptic Curves," Journal of Applied Mathematics & Computing, Vol. 20, No. 1-2, pp. 485-489, 2006.
  8. S. U. Lee, "Square-and-Divide Modular Exponentiation," Journal of Korean Society of Computer Information, Vol. 18, No. 4, pp. 123-129, Apr. 2013. https://doi.org/10.9708/jksci.2013.18.4.123

Cited by

  1. RSA의 오일러 함수 ��(n) 해독 2kβ 알고리즘 vol.19, pp.7, 2013, https://doi.org/10.9708/jksci.2014.19.7.071