다항식 근 최적화를 통한 수체계 체인 분해

다항식 근 최적화를 통한 수체계 체인 분해

초록

본 논문은 일반 수체계 체인 분해(GNFS)의 첫 단계인 다항식 선택에서 근 특성을 최적화하는 새로운 알고리즘들을 제시한다. 크기와 근 특성을 정량화하는 모델을 기반으로, 근의 모듈러 제곱합을 최소화하는 탐색 기법과 다항식 계수 조정 방법을 결합하여 기존 방법보다 훨씬 높은 루트 스코어를 얻는다. 실험 결과는 제안된 알고리즘이 실제 100~200자리 정수에 대해 기존 선택 기법 대비 평균 15 % 이상의 효율 향상을 보임을 확인한다.

상세 분석

GNFS는 현재 알려진 가장 빠른 정수 분해 알고리즘이며, 전반적인 실행 시간은 다항식 선택 단계에서 얻어지는 다항식의 품질에 크게 좌우된다. 품질 평가는 크게 두 축, 즉 크기(size)와 근(root) 특성으로 나뉜다. 크기 특성은 선택된 다항식이 목표 정수를 얼마나 잘 근사하는가를 나타내며, 근 특성은 다항식이 작은 소수 모듈러에 대해 얼마나 많은 작은 근을 갖는가를 측정한다. 기존 연구에서는 크기 특성을 최적화하는 방법이 비교적 잘 정립돼 있었지만, 근 특성에 대한 체계적인 최적화는 아직 미비했다.

본 논문은 근 특성을 정량화하기 위해 “루트 스코어(root score)”라는 지표를 도입한다. 이는 각 소수 p에 대해 다항식 f(x)와 g(x)의 근의 개수를 p‑adic valuation 형태로 합산한 값이며, p가 작을수록 기여도가 크게 가중된다. 저자들은 이 스코어를 최소화하는 것이 GNFS 전체 복잡도 감소에 직접 연결된다는 수학적 근거를 제시한다.

알고리즘 설계는 크게 두 단계로 구성된다. 첫 번째 단계는 “근 탐색(roots search)” 단계로, 주어진 후보 다항식에 대해 작은 소수 집합 S={p₁,…,p_k}에 대한 근을 빠르게 찾기 위해 선형 대수와 CRT(중국 나머지 정리)를 활용한다. 여기서 중요한 혁신은 “다항식 변형(polynomial transformation)” 기법이다. 기존의 선형 변환 a·f(x)+b·g(x) 형태를 일반화하여, 다항식 계수의 정수 격자 내에서 이동하면서 근 스코어를 직접 계산한다. 이때 격자 기반 최적화 기법인 LLL 알고리즘을 변형해 사용함으로써, 후보 공간을 효율적으로 탐색한다.

두 번째 단계는 “근 스코어 최적화(root score optimization)” 단계이다. 여기서는 앞 단계에서 얻은 후보들을 기반으로, 목표 스코어 이하가 되도록 다항식 계수를 미세 조정한다. 저자들은 이를 “가중 평균 가중치(weighted average weighting)” 기법이라 부르며, 각 소수 p에 대해 근의 개수와 p‑의 로그 가중치를 고려해 목표 함수를 정의한다. 이 목표 함수를 최소화하는 문제는 비선형 정수 최적화 문제이지만, 근사 해를 얻기 위해 차분 진화 알고리즘(differential evolution)과 그리디 힐 클라이밍(greedy hill climbing)을 결합한 하이브리드 메타휴리스틱을 적용한다.

실험에서는 100~200자리 RSA 모듈러에 대해 기존 “Kelley–Meyer” 및 “Murphy” 선택 기법과 비교하였다. 제안된 알고리즘은 평균 루트 스코어를 0.85배 수준으로 감소시켰으며, 전체 GNFS 실행 시간은 평균 15 % 이상 단축되었다. 특히, 150자리 이상에서는 20 %에 육박하는 시간 절감 효과를 보였으며, 이는 근 특성 최적화가 큰 규모의 정수에 대해 더욱 큰 영향을 미친다는 것을 시사한다.

결론적으로, 본 논문은 근 특성을 정량화하고 이를 최적화하는 새로운 프레임워크를 제공함으로써, GNFS의 실용적 효율성을 크게 향상시켰다. 향후 연구에서는 더 큰 소수 집합에 대한 근 탐색을 병렬화하고, 다항식 변형 공간을 고차원 다변량 함수로 확장함으로써 추가적인 성능 향상을 기대할 수 있다.