DOI QR코드

DOI QR Code

RSA의 오일러 함수 𝜙(n) 해독 2kβ 알고리즘

A 2kβ Algorithm for Euler function 𝜙(n) Decryption of RSA

  • 이상운 (강릉원주대학교 멀티미디어공학과)
  • Lee, Sang-Un (Dept. of Multimedia Eng., Gangneung-Wonju National University)
  • 투고 : 2014.05.21
  • 심사 : 2014.07.09
  • 발행 : 2014.07.31

초록

대표적인 공개키 암호방식인 RSA에 사용되는 합성수 n=pq의 큰자리 소수 p,q를 소인수분해하여 구하는 것은 사실상 불가능하다. 공개키 e와 합성수 n은 알고 개인키 d를 모를 때, ${\phi}(n)=(p-1)(q-1)=n+1-(p+q)$을 구하여 $d=e^{-1}(mod{\phi}(n))$의 역함수로 개인키 d를 해독할수 있다. 따라서 ${\phi}(n)$을 알기위해 n으로부터 p,q를 구하는 수학적 난제인 소인수분해법을 적용하고 있다. 소인수분해법에는 n/p=q의 나눗셈 시행법보다는 $a^2{\equiv}b^2(mod\;n)$, a=(p+q)/2,b=(q-p)/2의 제곱합동법이 일반적으로 적용되고 있다. 그러나 다양한 제곱합동법이 존재함에도 불구하고 아직까지도 많은 RSA 수들이 해독되지 않고 있다. 본 논문은 ${\phi}(n)$을 직접 구하는 알고리즘을 제안하였다. 제안된 알고리즘은 $2^j{\equiv}{\beta}_j(mod\;n)$, $2^{{\gamma}-1}$ < n < $2^{\gamma}$, $j={\gamma}-1,{\gamma},{\gamma}+1$에 대해 $2^k{\beta}_j{\equiv}2^i(mod\;n)$, $0{\leq}i{\leq}{\gamma}-1$, $k=1,2,{\ldots}$ 또는 $2^k{\beta}_j=2{\beta}_j$${\phi}(n)$을 구하였다. 제안된 알고리즘은 $n-10{\lfloor}{\sqrt{n}}{\rfloor}$ < ${\phi}(n){\leq}n-2{\lfloor}{\sqrt{n}}{\rfloor}$의 임의의 위치에 존재하는 ${\phi}(n)$도 약 2배 차이의 수행횟수로 찾을 수 있었다.

There is to be virtually impossible to solve the very large digits of prime number p and q from composite number n=pq using integer factorization in typical public-key cryptosystems, RSA. When the public key e and the composite number n are known but the private key d remains unknown in an asymmetric-key RSA, message decryption is carried out by first obtaining ${\phi}(n)=(p-1)(q-1)=n+1-(p+q)$ and then using a reverse function of $d=e^{-1}(mod{\phi}(n))$. Integer factorization from n to p,q is most widely used to produce ${\phi}(n)$, which has been regarded as mathematically hard. Among various integer factorization methods, the most popularly used is the congruence of squares of $a^2{\equiv}b^2(mod\;n)$, a=(p+q)/2,b=(q-p)/2 which is more commonly used then n/p=q trial division. Despite the availability of a number of congruence of scares methods, however, many of the RSA numbers remain unfactorable. This paper thus proposes an algorithm that directly and immediately obtains ${\phi}(n)$. The proposed algorithm computes $2^k{\beta}_j{\equiv}2^i(mod\;n)$, $0{\leq}i{\leq}{\gamma}-1$, $k=1,2,{\ldots}$ or $2^k{\beta}_j=2{\beta}_j$ for $2^j{\equiv}{\beta}_j(mod\;n)$, $2^{{\gamma}-1}$ < n < $2^{\gamma}$, $j={\gamma}-1,{\gamma},{\gamma}+1$ to obtain the solution. It has been found to be capable of finding an arbitrarily located ${\phi}(n)$ in a range of $n-10{\lfloor}{\sqrt{n}}{\rfloor}$ < ${\phi}(n){\leq}n-2{\lfloor}{\sqrt{n}}{\rfloor}$ much more efficiently than conventional algorithms.

키워드

참고문헌

  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. B. Raiter, "How the RSA Cipher Works", http://www.tutorialized.com/tutorial/How-the-RSA-Cipher-Works/42395, 2009.
  4. M. Seysen, "A probabilistic factorization algorithm with quadratic forms of negative discriminant", Mathematics of Computation, Vol. 48, No. 178, pp. 757-780, Apr. 1987. https://doi.org/10.1090/S0025-5718-1987-0878705-X
  5. C. P. Schnorr, "Refined analysis and improvements on some factoring algorithms", Journal of Algorithms, Vol. 3, No. 2, pp. 101-127, Jun. 1982. https://doi.org/10.1016/0196-6774(82)90012-8
  6. Wikipedia, "Integer Factorization," http://en.wikipedia.org/wiki/Integer_factorization, 2014.
  7. Wikipedia, "RSA Factoring Challenge," http://en.wikipedia.org/wiki/RSA_Factoring_challenge, 2014.
  8. K. Ford, "The Number of Solutions of ${\phi}$ (x)=m", Annals of Mathematics, Vol. 150, No. 1, pp. 283-311, Jan. 1999. https://doi.org/10.2307/121103
  9. A. A. Razborov and S. Rudich, "Natural proofs", Journal of Computer and System Sciences, Vol. 55, No. 1, pp. 24-35, Aug. 1997. https://doi.org/10.1006/jcss.1997.1494
  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, Jan. 2005.
  11. D. C. Terr, "A modification of Shanks' Baby-step Giant-step algorithm," Mathematics of Computation, Vol. 69, No. 230, pp. 767-773, Apr. 2000.
  12. S. U. Lee, "Square-and-Divide Modular Exponentiation," Journal of Korea Society of Computer Information, Vol. 18, No. 4, pp. 123-129, Apr. 2013. https://doi.org/10.9708/jksci.2013.18.4.123
  13. S. U. Lee, "Modified Baby-Step Giant-Step Algorithm for Discrete Logarithm," Journal of Korea Society of Computer Information, Vol. 18, No. 8, pp. 87-93, Aug. 2013. https://doi.org/10.9708/jksci.2013.18.8.087

피인용 문헌

  1. 공인전자문서 소통을 위한 Document-HTML 문서 생성 기법의 설계 vol.44, pp.1, 2021, https://doi.org/10.11627/jkise.2021.44.1.051