DOI QR코드

DOI QR Code

Baby-Step 2k-ary Adult-Step Algorithm for Symmetric-Key Decryption

대칭키 해독을 위한 아기걸음 2k-ary 성인걸음 알고리즘

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

Abstract

The baby-step giant-step algorithm seeks b in a discrete logarithm problem when a,c,p of $a^b{\equiv}c$(mod p) are already given. It does so by dividing p by m block of $m={\lceil}{\sqrt{p}}{\rceil}$ length and letting one giant walk straight toward $a^0$ with constant m strides in search for b. In this paper, I basically reduce $m={\lceil}{\sqrt{p}}{\rceil}$ to p/l, $a^l$ > p and replace a giant with an adult who is designed to walk straight with constant l strides. I also extend the algorithm to allow $2^k$ adults to walk simultaneously. As a consequence, the proposed algorithm quarters the execution time of the basic adult-walk method when applied to $2^k$, (k=2) in the range of $1{\leq}b{\leq}p-1$. In conclusion, the proposed algorithm greatly shorten the step number of baby-step giant-step.

$a^b{\equiv}c$(mod p)에서 a,c,p가 주어졌을 때 b를 구하는 이산대수 문제를 푸는 아기걸음-거인걸음 알고리즘은 p를 $m={\lceil}{\sqrt{p}}{\rceil}$개의 원소를 가진 m개의 블록으로 분할하고 거인 1명이 보폭 m으로 단방향으로만 $a^0$로 걸어가면서 찾는 방법이다. 본 논문은 기본적으로 p를 p/l, $a^l$ > p로 분할하고, 성인 1명이 보폭 l로 단방향으로 걸어가는 방법으로 변형시켰다. 또한, 성인 $2^k$명이 동시에 걸어가면서 b를 빠르게 찾는 방법으로 확장시켰다. 제안된 알고리즘을 $1{\leq}b{\leq}p-1$의 범위에서 $2^k$, (k=2)를 적용한 결과 기본적인 성인걸음수의 1/4로 감소시키는 효과를 얻었다. 결론적으로, 제안된 알고리즘은 아기걸음-거인걸음 알고리즘의 보폭 수를 획기적으로 단축시킬 수 있었다.

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. D. R. Stinson, "Cryptography: Theory and Practice," 3rd ed., London, CRC Press, 2006.
  3. M. Alfred, P. C. Oorschot, and S. A. Vanstone, "Handbook of Applied Cryptography", CRC Press, 1996.
  4. R. Rivest, A. Shamir, and L. Adleman, "A Method for Obtaining Digital Signatures and Public-Key Cryptosystems", Communications of the ACM, Vol. 21, No. 2, pp. 120-126, 1978. https://doi.org/10.1145/359340.359342
  5. B. Raiter, "How the RSA Cipher Works", http://www.tutorialized.com/tutorial/How-the-RSA-Cipher-Works/42395, 2009.
  6. K. Ford, "The Number of Solutions of ${\phi}(x)=m$", Annals of Mathematics, Vol. 150, No. 1, pp. 283-311, 1999. https://doi.org/10.2307/121103
  7. D. Boneh, "The Decision Diffie-Hellman Problem", Lecture Notes in Computer Science Vol.1423, pp. 48-63, 1998.
  8. W. Diffie and M. E. Hellman, "New Directions in Cryptography", IEEE Trans. on Information Theory, Vol. IT-22, pp. 644-654, 1976.
  9. T. ElGamal, "A Public-Key Cryptosystem and a Signature Scheme Based on Discrete Logarithms", IEEE Transactions on Information Theory, Vol.31 No. 4, pp. 469-472. 1985. https://doi.org/10.1109/TIT.1985.1057074
  10. A. Stein and E. Teske, "Optimized Baby step-Giant step Methods," Journal of the Ramanujan Mathematical Society, Vol. 20, No. 1, pp. 1-32, 2005.
  11. D. C. Terr, "A modification of Shanks' Baby-step Giant-step algorithm," Mathematics of Computation, Vol. 69, pp. 767-773, 2000.
  12. J. Pollard, "Monte Carlo Methods for Index Computation mod p", Mathematics of Computation, Vol.32, 1978.
  13. A. A. Razborov and S. Rudich, "Natural Proofs", Journal of Computer and System Sciences, Vol. 55, pp. 24-35, 1997. https://doi.org/10.1006/jcss.1997.1494