DOI QR코드

DOI QR Code

A Consideration on Verification and Extension of Fermat's Factorization

페르마 인수분해 방법의 확장과 검증에 대한 고찰

  • 정서현 (숭실대학교 전자공학과) ;
  • 정수환 (숭실대학교 정보통신전자공학부)
  • Received : 2009.07.13
  • Accepted : 2010.04.15
  • Published : 2010.06.30

Abstract

There are some efficient brute force algorithm for factorization. Fermat's factorization is one of the way of brute force attack. Fermat's method works best when there is factor near the square-root. This paper shows that why Fermat's method is effective and verify that there are only one answer. Because there are only one answer, we can start Fermat's factorization anywhere. Also, we convert from factorization to finding square number.

인수분해에 관한 여러 가지 전수공격이 알려져 있다. 페르마의 인수분해 방법은 여러 가지 공격 중에 두 인수가 비슷한 크기인 경우에 가장 잘 동작한다고 알려져 있다. 본 논문에서는 페르마의 방법이 위와 같은 상황에서 잘 동작하는지 보이고, 그 해가 유일함을 증명한다. 이러한 증명을 이용하여 임의의 심작점에서 페르마의 정리를 시작 할 수 있다. 또한 본 증명은 "인수분해하다"는 명제와 "제곱수를 찾다"라는 명제가 동일함을 의미한다.

Keywords

Ⅰ.서론

빠른 인수분해 문제는 아직까지 풀리지 않은 난제로 남아 있다. 따라서 이를 기반으로 한 암호 알고리즘들이 아직까지 상대적으로 안전하다고 알려져 있다. 현재까지 소수와 관련되어 소수 판정 알고리즘으로 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

  1. 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
  2. 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
  3. 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
  4. C. Mcintosh, "Finding prime numbers : Miller rabin and beyond," Furman University Electronic, vol. 12, pp. 1-4, 2007.
  5. 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
  6. 김종국, "Fermat의 定理에 關한 硏究," 박사학위논문, 성균관대학교, 1989년 8월.
  7. 이민섭, 현대암호학, 2판, 敎友社, pp. 272-292, 2007년 3월.
  8. 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
  9. D.M. Burton, Elementary number theory, McGRAW HILL, pp. 82-88, Sep. 1998.