대표적인 공개키 암호방식인 RSA에 사용되는 합성수 n=pq의 큰자리 소수 p,q를 소인수분해하여 구하는 것은 사실상 불가능하다. 공개키 e와 합성수 n은 알고 개인키 d를 모를 때, <TEX>${\phi}(n)=(p-1)(q-1)=n+1-(p+q)$</TEX>을 구하여 <TEX>$d=e^{-1}(mod{\phi}(n))$</TEX>의 역함수로 개인키 d를 해독할수 있다. 따라서 <TEX>${\phi}(n)$</TEX>을 알기위해 n으로부터 p,q를 구하는 수학적 난제인 소인수분해법을 적용하고 있다. 소인수분해법에는 n/p=q의 나눗셈 시행법보다는 <TEX>$a^2{\equiv}b^2(mod\;n)$</TEX>, a=(p+q)/2,b=(q-p)/2의 제곱합동법이 일반적으로 적용되고 있다. 그러나 다양한 제곱합동법이 존재함에도 불구하고 아직까지도 많은 RSA 수들이 해독되지 않고 있다. 본 논문은 <TEX>${\phi}(n)$</TEX>을 직접 구하는 알고리즘을 제안하였다. 제안된 알고리즘은 <TEX>$2^j{\equiv}{\beta}_j(mod\;n)$</TEX>, <TEX>$2^{{\gamma}-1}$</TEX> < n < <TEX>$2^{\gamma}$</TEX>, <TEX>$j={\gamma}-1,{\gamma},{\gamma}+1$</TEX>에 대해 <TEX>$2^k{\beta}_j{\equiv}2^i(mod\;n)$</TEX>, <TEX>$0{\leq}i{\leq}{\gamma}-1$</TEX>, <TEX>$k=1,2,{\ldots}$</TEX> 또는 <TEX>$2^k{\beta}_j=2{\beta}_j$</TEX>로 <TEX>${\phi}(n)$</TEX>을 구하였다. 제안된 알고리즘은 <TEX>$n-10{\lfloor}{\sqrt{n}}{\rfloor}$</TEX> < <TEX>${\phi}(n){\leq}n-2{\lfloor}{\sqrt{n}}{\rfloor}$</TEX>의 임의의 위치에 존재하는 <TEX>${\phi}(n)$</TEX>도 약 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 <TEX>${\phi}(n)=(p-1)(q-1)=n+1-(p+q)$</TEX> and then using a reverse function of <TEX>$d=e^{-1}(mod{\phi}(n))$</TEX>. Integer factorization from n to p,q is most widely used to produce <TEX>${\phi}(n)$</TEX>, which has been regarded as mathematically hard. Among various integer factorization methods, the most popularly used is the congruence of squares of <TEX>$a^2{\equiv}b^2(mod\;n)$</TEX>, 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 <TEX>${\phi}(n)$</TEX>. The proposed algorithm computes <TEX>$2^k{\beta}_j{\equiv}2^i(mod\;n)$</TEX>, <TEX>$0{\leq}i{\leq}{\gamma}-1$</TEX>, <TEX>$k=1,2,{\ldots}$</TEX> or <TEX>$2^k{\beta}_j=2{\beta}_j$</TEX> for <TEX>$2^j{\equiv}{\beta}_j(mod\;n)$</TEX>, <TEX>$2^{{\gamma}-1}$</TEX> < n < <TEX>$2^{\gamma}$</TEX>, <TEX>$j={\gamma}-1,{\gamma},{\gamma}+1$</TEX> to obtain the solution. It has been found to be capable of finding an arbitrarily located <TEX>${\phi}(n)$</TEX> in a range of <TEX>$n-10{\lfloor}{\sqrt{n}}{\rfloor}$</TEX> < <TEX>${\phi}(n){\leq}n-2{\lfloor}{\sqrt{n}}{\rfloor}$</TEX> much more efficiently than conventional algorithms.