Ⅰ.서론
빠른 인수분해 문제는 아직까지 풀리지 않은 난제로 남아 있다. 따라서 이를 기반으로 한 암호 알고리즘들이 아직까지 상대적으로 안전하다고 알려져 있다. 현재까지 소수와 관련되어 소수 판정 알고리즘으로 Eratosthenes방법, Fermat방법, Wilson방법〔]丄 APR방법, Solovay-Strassen방법〔2〕, Lehman n-Peralta 방법, Miller-Rabin 방법〔3〜4〕이 있고, 소인수 분해 알고리즘으로는 Eratosthenes방법 , Fermat방법, Pollard Rho방법〔5〕, Pollard p-1 방법 등이 알려져 있다. 그중 페르마〔6〕의 인수분해 방법은 두 인수가 비슷할 때 빠른 인수분해 방법을 제시한다. 하지만 알고리즘이 가지는 장점에 대한 정확한 해석과 역 성립과정에 대한 검증이 충분하지 않다.
이미 몇몇 논문에서는 페르마의 알고리즘에서 요구하는 완전제곱수에 관한 연구를 개재한 바이지만, 완전제곱수 조건이 성립할 때 인수분해 성공여부에 관한 증명, 즉 역 성립에 관한 논리적 연결이 부족한 상태이다. 따라서 본 논문에서는 페르마 인수분해에서 변수가 가지는 의미를 상이한 방법으로 해석하고, 역으로 사용이 타당함을 보임으로써 , 인수분해문제가 제곱근을 찾는 문제로 귀결될 수 있음을 보인다.
본 논문의 구성을 다음과 같다. 2장에서는 페르마 정리에 관해서 요약 및 분석하고 관련지식을 살펴보도록 한다. 이어서 3장에서는 분석을 위하여 사용될 수학적 알고리즘을 소개하고, 4장에서는 이를 이용하여 역이 성 립함을 보인다. 마지막으로 5장에서 본 논문의 결말을 맺는다.
Ⅱ. 관련 연구
2.1 페르마의 인수분해 방법
본 논문의 근간이 되는 페르마의 인수분해에 관하여 설명하면 다음과 같다〔7~8〕. n = ab 로 정의 되는 합성 수라 하면 n은 t2-s2 (t와 s는 정수) 와 같이 나타낼 수 있다. t와 s를 t = (a + b)/2, s = (a-b)/2 로 정의 하면 砂-扌 =几이다. 주어진 n을 인수분해하기 위하여 이들 t와 s를 구하는 알고리즘은[표 1]과 같다.
[표 1] 페르마의 인수분해 순서
2.1.1 변수의 의미와 구성
페르마의 인수분해 방법이 수행되는 방법에 대해서는 잘 알려져 있으나 두 수가 비슷할 때 알고리즘의 수행이 빠른 이유에 관한 해석이 없다. 따라서 두수가 비슷한 경우 인수를 찾는다는 가정에서부터 알고리즘의 설계를 시작하여, 비슷한 결론의 수식이 생성됨을 보이고, 결론적으로 페르마 알고리즘이 두수가 비슷할 때 효과적임을 보이도록 한다.
pXq=n이고, a는 n의 제곱근에서 정수 부([.而])라고 정의 한다.[그림 1]에서 a와 p와의 사이를 至라고 정의 하였다. n = a2+c3. 표현 할 수 있다.
[그림 1] 변수의 정의
각 변수의 정의에 의하여 정의 된 식을 T에 대하여 정리하면 다음식이 성립한다.
#(1)
식 1을 만족하는 해를 s 라고 정의하고. 근의 공식으로 풀이한다. 우리가 구하고자 하는 방정식은 p와 q 에 관한 식이므로 p에 관하여 정리하면 다음과 같다.
#(2)
#(3)
#(4)
식 3에 대하여 적당한 s값을 구해서 을 더한 값이 어떤 수의 제곱이 된다면. 구해진 두 수를 이용하여 근을 구할 수 있다.
[그림 2] 두 값(s, #)가 가지는 기하학적 해답
두 값을 구하기 위해 적당히 두 값을 늘리거나 줄일 필요가 있다. 알고리즘으로 나타내면 다음과 같다.
[그림 3] 전체 알고리즘
2.1.2 변수의 의미 해석
0<q<a<p<zi인 관계에서 에 대하여 다음 공식이 성립한다.
#(5)
같은 방식으로 q=a-g로 정의하고 식 5의 공식을 풀면 다음과 같은 결론을 얻을 수 있다.
#(6)
식 6에서 q가 양수이기 때문에 应는 양수이다. 또한 k = s라면 p = q=a가 되므로 p尹q가 성립하려면 毋s 임을 알 수 있다. 식 6에서 k< VD= v々?+4n이므로 T에 대해서도 항상 (가 양수이다. k=-s로 정의 될 때 다음과 같이 정의 될 수 있다.
#(7)
#(8)
반드시 k=-s라는 정의를 성립 할 수 없으며, 본 논문에서는 p와 q가 소수일 때 식 3이 유일한 해를 가짐을 보임으로써, p와 g가 소수일 때 반드시 A;=-s임을 증명하였다.
2.2 완전 제곱수를 찾는 알고리즘
페르마의 인수분해 방법이 제시하고 있는 단계 중 3 단계에서 까 완전 제곱수의 판별을 하나의 단계로 기술하고 있으나, 실제로 어떻게 판별 할 것인가에 대한 기술은 없다. 따라서 몇 가지 연구에서 완전제곱수를 찾는 방법을 제시하고 있다〔9〕.
어떠한 수로 나머지 연산을 취했을 때 완전제곱수는 몇 개의 특정한 나머지를 갖는 특징을 보인다. 만약 나머지가 해당사항에 있지 아니할 때는 완전제곱수임을 확인하는 전체 알고리즘을 구현할 필요가 없어진다. 다음은 그 예를 모아둔 것이다.
[표 2] 나머지 연산을 적용했을 때, 완전제곱수의 나머지
페르마의 인수분해 방법을 적용한다고 했을 때, n (mod 20. 16 또는 9)에 대한 값이 정해지므로 페르마의 인수분해 알고리즘의 2단계의 식에 들어갈 수 있는 수가 제한적이 된다.
Ⅲ.검증을 위한 수학적 도구
식을 분석하기에 앞서 완전 제곱수가 되는 수열들이 가지는 특징을 분석할 필요가 있다. 다음은 초기수열이 가지는 특징을 분석한 표이다.
[표 3]의 내용을 바탕으로[그림 4]를 작성하였다.
[표 3] 완전 제곱수 누적관계 예시
[그림 4] 수학적 도구로써 기하학적 표현방법
〔그림 4〕에서 H죽은[표 3]의 )1에 해당하고 g죽은 n2 에 해당한다. 커다란 삼각형의 넓이는 완전 제곱수의 크기를 의미하고 $축은 제곱수의 제곱근을 의미한다. 커다란 삼각형은 두 개의 작은 삼각형과, 하나의 직사각형으로 이루어져 있고. 2개의 작은 삼각형은 커다란 삼각형과 닮음이므로, 작은 삼각형의 넓이는 완전제곱수가 된다. 각각의 작은 넓이들을 더하면 큰 넓이가 되므로 다음 식이 성립한다.
#(9)
Ⅳ.역 성립 과정 검증
알고리즘이 S2 = 를 만족하는 수를 찾았을 때, 찾아진 e와 帝의 값으로 인수분해가 가능하다고 하였다. 하지만 찾은 두 값이 두 인수와 관계가 없을 수도 있다. 만약, 관계없는 두 수가 찾아진다고 했을 때, 제시된 알고리즘이 엉뚱한 결과를 초래할 수도 있기 때문에, 또 다른 해가 존재 하지 않음을 증명해야 한다.
다른 해가 존재할 경우에 대한 해석은[그림 5]와같다. 찾고자 하는 두 값 (s, Z= J万)를 적당히 조절하여 芝 -/2 =4«을 만족하는 경우이다.
[그림 5] 다른 해를 만족하는 경우
(쁠')2 - (母)2 = p啓 정의 되므로 淨 - 或 = 4n 이 되는 최소 1개의 식이 존재한다. 먼저 최소의 경우부터 시작하여 하나의 정당한 식을 찾았다고 가정하고 〔그림 5)와 같이 s와 z를 적당하게 조절하여 또 다른 해를 찾는다고 가정해 보자. 찾은 해는 가장 작은 해가 된다.[그림 5]에서의 s->s, 给、치환되고, 〔식 3〕에 의해서 다음이 성립한다.
#(10)
y「B-s = k로 정의한다.
#(11)
조건이 만족하는 化, s)쌍과 또 다른 조건을 만족하는 쌍 (昌, s')가 있다고 가정할 때 두식의 좌변은 모두 4n이 되어야 하므로 다음식이 성립한다.
#(12)
以과 s'은 각각 料s에서의 이동이므로 k' = k+kx, s' = s + &으로 정의한다. 각각을 대입해서 n으로 정리하면 다음과 같다. 단, 知, s拼0이라고 가정한다.
#(13)
식 12에서(昌, s')쌍이 존재하기 위해서는 식 13에서 우변 2항인 J(s + s*)2+2展;+炉가 정수이어야 한다. 식 13의 우변 2항이 정수이기 위한 조건을 만족하는지 알아보기 위하여 다음과 같이 식을 수정할 필요가 있다.
#(14)
S와 k에 관하여 s + k = p+q, s =p~q 이므로 다음 〔그림 6〕이 성립한다.
4q = 2(p + q) — 2(p—q)이고〔그림 기과같이 勺 =勺 十% 라고 정의 될 때,
#(15)
식 15에서 gcd(허, sj = t « 启 1/W力라고 정의하고, $]'= 妈 sj = 於2로 대입한다,
#(16)
식 16에서 勺'는 K와 서로소이므로 气'인자를 갖지 않는 q.2q 또는 사q의 값을 가져야만 한다. 각각의 경우에 다음과 같이 요약되는데, 식 17, 18, 19는 각각 力' = 4일 때, sj = 2q일 때, 엇'=4q일 때이다.
[그림 7] 제곱수 만족을 위한 조건 (보라색 영역의 넓이 = 붉은색 영역의 넓이)
#(17)
#(18)
#(19)
최소의 해로부터의 거리 勻는 항상 양수이므로 泌 는 항상 양수이고. 이므로 식 17에서 t=l일 경우를 제외하고는 모두 성립하지 않는다. 식 17에서 t=1일 경우
#(20)
이므로 竜'이 정수가 아니므로 햬가 존재하지 않는다. 따라서 모든 S2 = /万2 一 4几에 관하여 단 한 개의 해만이 존재한다.
Ⅴ.결론
근래에 많이 쓰이는 RSA를 바탕으로 하는 PKI 시스템은 인수분해라는 난제를 기반으로 설계되었다. 본 논문에서 많은 인수분해 방법 중에서 페르마의 인수분해 방법에 대하여 고찰하였다. 페르마의 인수분해 방법은 두 인수가 비슷한 경우에 인수분해가 빠르다고 알려져 있다. 페르마의 인수분해 방법은 ”인수는 특정 제곱 식으로 주어진다「라는 명제에서 시작하는데 본 논문에서는 이를 역을 증명함으로써 페르마 정리에 사용된 인수분해 과정과 제곱수 찾기라는 문제가 동치 임을 보였다. 또한 본 논문에서는 제곱수와 또 다른 제곱수와의 관계를 기하학적으로 기술하여 정확하면서도 빠르게 제곱수의 조건을 판별하는 방법을 제시하였다. 이와 같은 논리적 기반은 페르마의 인수분해 방법이 임의의 시작점 설정이 가능함을 제시한다. 한 발 더 나아가 임의의 시작점 보다 작거나 큰 부분에 해가 존재하지 않는다는 것을 증명한다면 보다 효율적인 인수분해가 가능하게 된다는 결론을 얻게 된다.
References
- G. Wilson, "Factorization of the covariance generating function of a pure moving average process," SIAM J. Numer. Anal. pp. 1-7, Mar. 1969. https://doi.org/10.1137/0706001
- R. Solovay and V. Strassen, "A fast Monte-Carlo test for primality," SIAM Journal on Computing, vol. 6. no. 1 pp. 84-85, 1977. https://doi.org/10.1137/0206006
- O. Rabin, "Probabilistic algorithm for testing primality," Journal of Number Theory, vol. 12, no. 1, pp. 128-138, Feb. 1980. https://doi.org/10.1016/0022-314X(80)90084-0
- C. Mcintosh, "Finding prime numbers : Miller rabin and beyond," Furman University Electronic, vol. 12, pp. 1-4, 2007.
- E. Bach, "Toward a theory of Pollard's rho method," Information and Computation, vol. 90, no. 2, pp. 139-155, Feb. 1991. https://doi.org/10.1016/0890-5401(91)90001-I
- 김종국, "Fermat의 定理에 關한 硏究," 박사학위논문, 성균관대학교, 1989년 8월.
- 이민섭, 현대암호학, 2판, 敎友社, pp. 272-292, 2007년 3월.
- J. McKee, "Speeding Fermat's factoring method," Mathematics of Computation, pp. 1729-1737, Mar. 1999. https://doi.org/10.1090/S0025-5718-99-01133-3
- D.M. Burton, Elementary number theory, McGRAW HILL, pp. 82-88, Sep. 1998.