DOI QR코드

DOI QR Code

An Application Study of PPO-Based Exploration for GNFS Polynomial Selection in RSA Analys

RSA 분석을 위한 GNFS 다항식 선택에서의 PPO 기반 탐색 기법 적용 연구

  • Received : 2026.01.23
  • Accepted : 2026.05.15
  • Published : 2026.06.30

Abstract

The security of RSA cryptography is based on the computational difficulty of integer factorization, and the General Number Field Sieve (GNFS) is known as the most efficient general-purpose factorization algorithm. In particular, the qualityof polynomials selected during the Polynomial Selection stage significantly affects overall performance, but existingapproaches rely on empirical rules and limited search methods, resulting in inefficient parameter exploration. In this paper, we apply a reinforcement learning-based approach to the parameter search problem in GNFS polynomial selection. Specifically, Proximal Policy Optimization (PPO) is used to explore CADO-NFS polyselect parameters, with Murphy's Escore serving as the optimization criterion. Experimental results show that the PPO-based approach tends to discover polynomials with Murphy's E scores comparable to or higher than those of existing settings. This study demonstrates the applicability of learning-based search techniques to the GNFS polynomial selection problem.

RSA 암호의 안전성은 큰 정수의 소인수분해 문제의 계산적 난이도에 기반하며, General Number Field Sieve(GNFS)는 현재 가장 효율적인 범용 인수분해 알고리즘으로 알려져 있다. 특히 Polynomial Selection 단계에서 선택되는 다항식의 품질은 전체 성능에 큰 영향을 미치지만, 기존 방식은 경험적 규칙과 제한적인 탐색에 의존하여 효율적인 파라미터 탐색에 한계가 존재한다. 본 논문에서는 GNFS polynomial selection의 파라미터 탐색 문제에 강화학습 기반 접근을 적용하였다. 이를 위해 Proximal Policy Optimization(PPO)을 활용하여 CADO-NFS polyselect 파라미터를 탐색하고, Murphy's E scor를 기준으로 학습을 수행하였다. 실험 결과, PPO 기반 탐색은 기존 설정과 유사하거나 더 높은 Murphy's E score를 갖는 다항식을 발견하는 경향을 보였다. 본 연구는 GNFS polynomial selection 문제에 대해 학습 기반 탐색 기법을 적용한 사례로서, 파라미터 탐색 문제에 대한 하나의 접근 가능성을 제시한다.

Keywords

I. 서론

현대 정보보안의 핵심은 안전한 암호화 기법에 있으며, 그중에서도 공개키 기반 암호(Public Key Cryptography)는 인터넷 통신, 금융 서비스, 블록체인 등 다양한 분야에서 핵심적인 역할을 수행한다. 특히 RSA(Rivest–Shamir–Adleman) 알고리즘은 가장 널리 사용되는 공개키 암호 체계 중 하나로, 큰 정수의 소인수분해(Factoring) 문제의 계산적 난이도에 기반하여 안전성을 확보한다 [1]. 그러나 연산 능력의 지속적인 향상과 소인수분해 알고리즘의 발전 가능성으로 인해 RSA의 장기적인 안전성에 대한 재평가 필요성이 점차 증가하고 있다.

큰 정수의 소인수분해를 해결하기 위한 대표적인 알고리즘으로는 General Number Field Sieve(GNFS)가 알려져 있으며 [2], 이는 Polynomial Selection, Sieving, Linear Algebra, Square Root의 단계로 구성된다. 이 중 Polynomial Selection 단계는 이후 단계의 효율성을 결정짓는 핵심 요소로, 선택된 다항식의 품질이 전체 인수분해 성능에 직접적인 영향을 미친다. 낮은 품질의 다항식이 선택될 경우 Sieving 단계에서의 관계 수집 효율이 저하되고, Linear Algebra 단계의 계산 부담 증가로 이어져 전체 수행 시간이 증가할 수 있다. 기존의 다항식 선택 과정은 경험적 규칙이나 제한적인 탐색에 기반하여 수행되어 왔으며, Murphy’s E score [3]를 통해 다항식의 품질을 평가한다. 그러나 해당 과정은 다양한 파라미터 조합으로 이루어진 큰 탐색 공간을 가지며, 특히 인수분해 결과가 알려져 있지 않은 입력에 대해서는 명확한 파라미터 설정 기준이 존재하지 않는다. 이로 인해 최고차항 계수를 일정 간격으로 변화시키며 반복적으로 탐색하는 전수조사에 가까운 방식이 사용되며, 입력 크기가 증가할수록 계산 비용이 급격히 증가하는 한계가 있다. 이러한 문제는 대형 모듈러스에서 더욱 두드러지며, 현실적인 시간 내에 충분한 탐색을 수행하기 어렵게 만든다.

한편, 최근 강화학습은 복잡한 탐색 공간에서의 정책 학습 기법으로 다양한 최적화 문제에 적용되고 있다 [5]. 본 연구에서 다루는 polynomial selection의 파라미터 탐색 문제는 각 평가가 실제 CADO-NFS 실행을 수반하는 고비용 black-box optimization 문제이며, 연속적인 파라미터 공간을 갖는다는 특징을 가진다. 이러한 문제 구조를 고려하여, 본 연구에서는 강화학습을 하나의 탐색 전략으로 적용한다. 특히 정책 기반 강화학습 기법인Proximal Policy Optimization(PPO)을 적용하였다. PPO는 연속적인 파라미터 공간에서 안정적인 정책 학습이 가능하고, gradient 기반 탐색을 통해 무작위 탐색보다 구조적인 탐색을 수행할 수 있다는 점에서 본 문제에 적합한 탐색 기법으로 선택하였다. 다만 PPO와 다른 최적화 기법간의 정량적 비교 향후 연구 과제로 남는다. 본 연구의 목적은 PPO 기반 GNFS polyselect 환경에서 학습 기반 탐색이 실제 파라미터 탐색 문제에 적용될 수 있는지 확인하고, 해당 접근이 다항식 선택 과정에 미치는 영향을 실험적으로 분석하는 데 있다.

본 논문의 주요 기여는 다음과 같다. 첫째, GNFS의 Polynomial Selection 문제를 고비용 black-box 파라미터 탐색 문제로 재정의하고, 이를 학습 기반 탐색 문제로 모델링하였다. 본 문제는 상태 전이가 존재하지 않는 구조를 가지므로 전형적인 Markov Decision Process(MDP)보다는 stateless black-box optimization 문제로 해석하는 것이 적절하며, 이에 따라 PPO를 순차적 의사결정 모델이 아닌 확률적 정책 기반 탐색 기법으로 활용하였다. 둘째, CADO-NFS의 polyselect 모듈을 실제 실행 환경으로 활용하고, Murphy’s Escore를 보상으로 사용하는 PPO 기반 탐색 프레임워크를 설계 및 구현하였다. 제안한 방법은 별도의 근사 모델 없이 실제 GNFS 실행 결과를 직접 활용한다는 점에서 실험적 의의를 가진다. 셋째, 다양한 크기의 합성수에 대한 실험을 통해 PPO 기반 탐색이 기존 설정과 비교하여 유사하거나 일부 경우 더 높은 Murphy’s E score를 갖는 다항식을 탐색하는 경향을 확인하였다. 또한 일부 입력에 대해서는 이러한 차이가 GNFS 수행 시간에 영향을 미칠 가능성을 관찰하였다. 마지막으로, RSA-1024와 같은 대형 모듈러스에 대해서는 일반적인 성능 향상을 입증하기보다는, 제한된 탐색 과정에서 유망한 파라미터 영역을 탐색하기 위한 실험적 참조점을 제시하였다. 본 연구는 통계적 유의성 기반의 성능 비교나 강화 학습 효과의 일반화를 목표로 하기보다는, GNFS polynomial selection 문제에 대한 학습 기반 탐색 기법의 적용 가능성을 탐색적으로 분석하는 데 목적이 있다. 또한 본 연구는 RSA의 이론적 안전성을 변화시키는 결과를 제시하는 것이 아니라, GNFS 수행 과정에서의 파라미터 탐색 전략에 대한 하나의 실험적 접근을 제시하는 데 의의를 둔다.

본 논문의 구성은 다음과 같다. 제2장에서는 RSA 암호와 GNFS 알고리즘의 기본 원리를 설명하고, Polynomial Selection과 Murphy’s E score를 중심으로 기존 접근법을 정리한다. 제3장에서는 강화 학습과 PPO 알고리즘을 소개한다. 제4장에서는 제안하는 탐색 방법과 구현을 설명하고, 실험 결과를 분석한다. 마지막으로 제5장에서는 본 연구의 기여와 한계를 정리하고 향후 연구 방향을 논의한다.

II. General Number Fields Sieve

2.1 RSA와 인수분해 문제

RSA 암호 알고리즘은 1977년 Rivest, Shamir, Adleman에 의해 제안된 최초의 실용적인 공개키 암호화 기법으로, 정수 소인수분해 문제(Integer Factorization Problem)의 계산적 난이도에 기반하여 안전성을 보장한다 [1]. RSA는 키생성, 암호화, 복호화의 세 단계로 구성되며, 그 과정은 다음과 같이 요약된다.

키 생성: 큰 소수 p,q를 선택하고 N=pq, e, d = e-1mod ∅(N)을 계산한다.

암호화: 평문 M에 대해 암호문 C = Me modN를 계산한다.

복호화: M = CdmodN을 계산하여 복호화한다.

상기의 알고리즘으로부터 RSA의 안전성은 큰 정수 N = p · q의 소인수분해 난이도에 의존한다는 것을 쉽게 알 수 있다. N의 크기가 증가함에 따라 기존 소인수분해 알고리즘의 연산 복잡도는 하지수(sub-exponential) 시간으로 증가하며, 현재까지 다항시간 알고리즘은 존재하지 않는다. 그러나 GNFS(General Number Field Sieve)와 같은 알고리즘은 대규모 RSA를 빠르게 인수분해할 수 있는 잠재적 위협 요소로 작용한다 [2]. GNFS는 현재까지 알려진 가장 효율적인 대규모 정수 소인수분해 알고리즘으로, 특히 100자리 이상의 큰 반소수(semi-prime)에 대해 가장 빠른 분해 속도를 제공한다. GNFS는 1990년 Lenstra, Lenstra, Manasse, Pollard가 제안한 Number Field Sieve(NFS) 알고리즘을 기반으로 발전하였다 [2]. 초기에는 특정 형태의 정수에 특화된 Special Number Field Sieve(SNFS)로 제안되었으나, 이후 연구자들의 확장을 통해 일반 정수에도 적용할 수 있는 GNFS로 발전하였다 [2].

이러한 이유로 RSA는 키 크기의 점진적 확장을 통해 안전성을 강화해왔으며, 오늘날 2048 비트 이상의 키 길이가 실용적 표준으로 채택되고 있다. RSA 암호의 안전성은 소인수분해 알고리즘의 발전 속도와 사용 가능한 연산 자원의 규모에 따라 지속적으로 재평가된다. 현재까지 가장 효율적인 정수 인수분해 알고리즘으로 알려진 GNFS는 실제 RSA에 대한 공격 실험에서 꾸준히 성능을 개선해왔으며, 여러 대규모 인수분해 기록을 통해 RSA의 보안 한계를 입증하고 있다 [3]. 대표적인 사례로, 2009년 수행된 RSA-768 인수분해 실험은 768비트(232자리)의 N을 GNFS로 분해하는 데 수개월 이상의 계산 시간을 필요로 했다 [3]. 이는 GNFS의 실용적 효용성을 최초로 대규모 RSA에 입증한 사례로 평가된다. 이후 2019년에는 RSA-240(795비트)가 CADO-NFS 기반의 연구를 통해 인수분해 되었으며, 2020년에는 RSA-250(829비트) 분석이 발표되었다[4].

따라서 RSA의 안전성을 평가하는 과정은 곧 GNFS의 성능 향상과 직결되며, 특히 Polynomial Selection 단계 최적화는 RSA 암호 분석의 핵심 과제로 자리잡고 있다. 본 논문은 이러한 문제를 강화학습 기반 접근법을 통해 개선하고자 한다.

2.2 GNFS 알고리즘 기술

정수 인수분해 알고리즘 GNFS는 하지수(sub-exponential) 시간 복잡도를 가지며, 그 계산 복잡도는 다음과 같이 표현된다[2]:

Ln[1/3, (64/9)1/3] = e(((64/9)1/3 + o(1))(log N)1/3(loglog N)2/3)

이는 기존의 Quadratic Sieve보다 효율적이며, 실제로 RSA-768(232자리) [3] 및 RSA-250(829비트) [4] 등의 큰 정수 N에 대한 인수분해 기록에서 GNFS가 사용되었다.

GNFS는 Polynomial Selection, Sieving, Filtering, Linear Algebra, Square root 다섯단계로 구성되며, 이는 다음과 같다.

Polynomial Selection 단계는 GNFS 전체 알고리즘의 효율성을 결정짓는 가장 중요한 초기 단계이다. 이 단계에서는 정수 N을 소인수분해하기 위해 특정 조건을 만족하는 두 개의 다항식 f(x), g(x)를 선택하며, 이에 대해서는 2.3 절에 자세히 기술한다.

Sieving 단계는 선택된 다항식에 대해 정수 쌍 (a, b)를 탐색하면서, 이에 대한 두 다항식 값이 모두 미리 정의된 소수 집합 (factor base)에 대해 smooth 하도록 하는 관계(relation)를 수집하는 단계이다. 이 단계는 GNFS에서 가장 많은 연산량을 요구하는 부분으로, 전체 GNFS 알고리즘 실행 중 많은 시간이 소요된다. Sieving은 일반적으로 large prime variation을 포함한 line sieving이나 lattice sieving 기법을 활용된다.

Filtering 단계에서는 Sieving에서 얻은 대량의 관계 중 중복되거나 불필요한 데이터를 제거하고, 독립적인 관계 집합을 추출하여 희소 행렬(sparse matrix)을 형성하는 단계이다. 관계 그래프를 구성하고 singleton 제거, 연결 요소 정리 등을 통해 최적의 행렬 구조를 만든다.

Linear Algebra 단계는 Filtering 결과로 얻은 희소 행렬에 대해 modulo 2에서의 선형 종속성을 계산하는 단계이다. Block Lanczos [8] 및 Block Wiedemann 알고리즘[9]이 주로 사용되며, 이 과정은 매우 높은 메모리와 병렬 컴퓨팅 자원을 요구한다.

Square Root 단계는 Linear Algebra 단계에서 도출된 관계를 사용하여 실제 소인수를 계산하는 최종 단계이다. 이 단계에서는 x2 ≡ y2 mod N 조건을 만족하는 x, y를 이용하여 gcd(x−y, N) 또는 gcd(x + y, N)을 계산하고, 이 결과가 N의 비자명한 인수(non-trivial factor)가 될 경우 소인수분해가 성공하게 된다. 이와 같이 GNFS는 다섯 단계로 구성되며, 각 단계의 효율적인 구현은 전체 알고리즘의 성능에 결정적인 영향을 미친다. 특히 Polynomial Selection 단계에서 양질의 다항식을 선택하는 과정은 이후 단계의 효율성과 인수분해 성공 가능성에 직결되므로, 본 논문에서는 Polynomial Selection 단계의 최적화를 중심으로 연구를 진행한다.

2.3 다항식 선택 (Polynomial Selection) 방법

Polynomial Selection 단계는 GNFS 알고리즘의 초기 과정으로, 이후 Sieving, Filtering, Linear Algebra 단계의 효율성을 결정짓는 핵심 단계 중 하나이다. 선택된 다항식 쌍의 품질은 관계(Relation) 수집 속도, smooth number 발생 빈도, 그리고 전체 소인수분해 수행 시간에 직접적인 영향을 미친다. 따라서 Polynomial Selection은 GNFS의 성공 가능성과 효율성을 높이기 위해 필수적인 과정이며, 일반적으로 PolynomialGeneration, Size Optimization, Root Optimization, Polynomial Evaluation & Selection 네 단계로 구성된다. 이와 관련한 자세한 내용은 참조문헌 [2][3]에 상세히 기술되어 있으며, 본 논문에서는 주요 내용만을 요약하여 서술한다.

Polynomial Generation 단계에서는 소인수분해 대상 정수 N에 대해 서로 공통근을 갖는 두개의 다항식 f(x), g(x)를 생성한다. 일반적으로 g(x) = x - m과 같은 선형 다항식이rational side로 사용되며, f(x)는 차수가 4 이상인 고차 다항식으로 algebraic side에 해당한다. 이 두 다항식은 f(m)≡0 mod N, g(m)≡0 mod N을 만족해야 한다. 다항식 생성은 일반적으로 무작위 계수 선택, root를 중심으로 한 backward construction, 또는 lattice 기반의 coefficient selection 등 다양한 방식으로 수행되며, 생성된 후보 다항식은 이후 단계에서 품질 평가를 거쳐 최적의 후보로 수렴된다.

Size Optimization 단계는 생성된 다항식의 계수 크기를 최적화하여, Sieving 단계에서 계산되는 norm 값이 작아지도록 유도하는 과정이다. 다항식의 계수 크기가 크면 f(a, b), g(a, b)의 절댓값이 커지고, 이로 인해 smooth number가 될 확률이 급격히 감소하게 된다. 계수 크기를 줄이기 위한 주요 기법으로는 skew 파라미터 조정, coefficientrotation, translation 등이 존재한다. Skew 파라미터 조정은 계수 간의 크기 불균형을 조정하여 다항식 전체 norm 분포를 평준화한다. Coefficientrotation은 계수를 회전시켜 특정 계수를 작게 만드는 방향으로 최적화한다. Translation은 다항식의 root 위치를 x ↦ x+k 형태로 변형하여 계수 구성을 조정한다. 실제 구현에서는 이 단계에서 많은 후보 다항식을 비교하면서, 계수 절댓값의 평균 또는 최대값을 최소화하는 방향으로 탐색이 수행된다. 전체 다항식 품질 향상을 위한 기초 작업에 해당한다.

Root Optimization 단계는 다항식의 root 구조를 개선하여 small prime들로 나누어 떨어지는 확률을 높이는 과정이다. 이는 Sieving 단계에서 smooth number가 생성될 가능성을 높이는 데 매우 중요하며, 특히 Murphy’s E score를 향상시키는 핵심 요인 중 하나이다. 주요 기법으로는 root property, translation, rotation 및 skew 파라미터 조정등이 있다. Root property는 다항식 f(x)가 소수 p에 대해 다수의 root를 가지도록 설계하거나, 특정 modulus 상에서 좋은 분포를 가지도록 조정한다. Translation은 x ↦ x+k형태로 다항식을 이동시키며, root density가 높은 변환을 찾는다. Rotation 및 skew 파라미터 조정은 근의 품질이 좋은 방향으로 계수 배치를 회전시키면서 동시에 skew를 조절하여 균형 있는 다항식을 설계한다.

Polynomial Evaluation & Selection 단계에서는 생성된 후보 다항식의 품질을 평가하기 위해 Murphy’s E score가 사용된다. 이 평가지표는 다항식의 계수 크기(size property), root property, skew, norm 분포를 종합적으로 반영한다.Sieving 단계의 목적은 (a, b)의 많은 관계를 수집하는 것으로, 이때 α는 f(x)의 근(root)이며 a−bα가 선택된 소수 기저(prime basis)에 대해 smooth하도록 하는 것이다. 일반적으로 선택되는 소수 기저는 작은 소수들로 구성되므로, f(x)의 노름(norm) 값이 작을수록 이러한 기저에 의해 인수분해될 가능성이 높아진다. 또한, 다항식 f(x)가 작은 소수의 거듭제곱에 대해 많은 근을 가진다면, 해당 다항식의 값들은 같은 크기의 임의의 정수들보다 더 smooth할 것으로 기대할 수 있다. 이를 정량적으로 표현하기 위해, 정수 x의 expected p-valuation를 νp(x)로 정의한다. 여기서 νp(x)는 정수 집합 S에서 소수 p가 x를 나누는 최대 거듭제곱의 지수를 의미하며, νp(0) = ∞로 정의한다. 동일한 표기법을 다항식에도 적용하여, νp(f)는 집합 S에서의 p의 expected p-valuation를 의미한다. Murphy는 다항식 값들의 cumulated expected p-p-valuation를 비슷한 크기의 임의의 정수들과 비교하기 위해 α(F) 함수를 정의하였으며, 이는 다음과 같이 정의된다.

\(\begin{align}\begin{aligned} \alpha(F) & =\sum_{p \leq B}\left(\frac{1}{p-1}-\frac{n_{p} p}{p^{2}-1}\right) \log p \\ & =\sum_{p \leq B}\left(1-\frac{n_{p} p}{p+1}\right) \frac{\log p}{p-1}\end{aligned}\end{align}\)

위 식에서 np는 pe ≤ B를 만족하는 소수 거듭제곱 pe에 대해, f(x)가 가지는 단순 근(simple root) 또는 중복근(multiple root)의 개수를 의미한다. f(x)와 g(x)를 함께 고려하면, sieving 단계에서 생성될 것으로 기대되는 sieving report의 개수는 다음 식으로 근사할 수 있다.

\(\begin{align}\begin{array}{r}\frac{6}{\pi^{2}} \iint \rho\left(\frac{\log |F(x, y)|+\alpha(F)}{\log B_{1}}\right) \\ \rho\left(\frac{\log |G(x, y)|+\alpha(G)}{\log B_{2}}\right) d x d y\end{array}\end{align}\)

이 측정값을 다항식 쌍의 Murphy’s Escore이라고 한다. Sieving 단계의 목표는 가능한 한 많은 relation를 수집하는 것이므로, Murphy’sEscore가 클수록 sieving 단계에서 더 많은 sieving report가 생성될 가능성이 높다. Murphy는 이 평가식을 통해 다항식의 품질을 수치적으로 비교할 수 있음을 보였으며 [3], 이후 Stahlke와 Kleinjung 등의 연구는 Murphy’s Escore가 실제 Sieving 단계에서 관찰되는 smoothnumber 발생률과 높은 상관관계를 가짐을 실험적으로 입증하였다[10]. 따라서 Murphy’s E score 값이 큰 f(x)와 g(x)의 쌍을 선택하는데 초점을 둔다.

기존 연구에서는 polyselect 단계의 파라미터가 주로 경험적 규칙이나 제한된 범위내에서수작업으로 조정되어 왔다. 특히 최고차항 계수와 같은 주요 파라미터는 탐색 공간이 매우 넓음에도 불구하고, 이를 체계적으로 탐색하는 방법론이 충분히 정립되지 않았다. 그 결과, 실제 환경에서는 파라미터를 일정 간격으로 변화시키며 반복 실행하는 방식이 사용되었고, 이는 전수조사에 가까운 비효율적인 탐색으로 이어졌다. 이러한 문제는 입력 크기가 증가할수록 탐색 공간이 기하급수적으로 확장되면서 더욱 심화된다.

본 연구에서는 이러한 한계를 해결하기 위해 polyselect 파라미터 탐색을 학습 기반 최적화 문제로 재구성하고 강화학습을 적용하였다. 강화학습 에이전트는 다양한 파라미터 조합을 탐색하면서 Murphy’s E score를 보상으로 활용해 탐색 전략을 점진적으로 개선하며, 이를 통해 기존 수작업 기반 방식보다 효율적이고 체계적인 파라미터 탐색이 가능하다.

III. Proximal Policy Optimization 알고리즘

강화학습(Reinforcement Learning, RL)은 Fig.1.과 같이 에이전트(agent)가 환경(environment)과 상호작용하면서 누적 보상(expected cumulative reward)을 최대화하는 정책(policy)을 학습하는 기계학습 분야이다 [5]. 강화학습은 지도학습(supervised learning)이나 비지도학습(unsupervised learning)과 달리, trial-and-error 를 통한 학습 과정이 중심이 된다. 에이전트는 정책을 바탕으로 상태에서 행동을 선택하며, 그 결과 환경으로부터 보상을 받고 새로운 상태로 이동한다. 이 과정을 반복하면서, 장기적으로 누적 보상이 최대화되도록 정책을 점진적으로 개선한다.

JBBHCB_2026_v36n3_753_6_f0001.png 이미지

Fig. 1. Reinforcement Learning Framewor

Actor–Critic 방법은 강화학습에서 정책 기반 접근법(Policy Gradient)과 가치 기반 접근법(Value-based method)을 결합하여 안정적이고 효율적인 학습을 달성한다. Actor는 상태에서 행동 α를 선택하는 확률 분포를 학습하며, Critic은 상태–행동 쌍의 가치를 근사하는 함수를 통해 Actor가 학습한 정책을 평가한다. 정책 기반 학습은 확률적 정책을 직접 학습하므로 연속적 행동 공간에 적합하지만 학습 안정성이 떨어질 수 있다. 반대로 가치 기반 학습은 안정적이나 연속적·고차원 행동 공간에서는 한계를 가진다. Actor–Critic 구조는 Critic의 가치 함수 추정치를 기반으로 Actor의 정책을 점진적으로 개선함으로써 두 접근법의 장점을 결합하며, 이는 복잡한 탐색 문제에서 효율적 학습을 가능하게 한다.

Proximal Policy Optimization(PPO)은 Schulman 등이 제안한 정책 기반 강화학습 알고리즘으로, 기존 Policy Gradient 계열의 불안정한 정책 업데이트 문제를 완화하기 위해 고안되었다[7]. PPO는 기존 정책과의 변화량을 제한하는 proximal 접근과 Clipped Surrogate Objective를 통해 정책이 급격히 변하는 것을 방지하면서도 안정적이고 수렴성이 높은 학습을 보장한다. 구체적으로, PPO는 다음과 같은 clipped surrogate objective를 최대화하도록 정책 파라미터 θ를 업데이트한다.

LCLIP(θ) = Et[min(rt(θ)At, clip(rt(θ), 1 - ∊, 1 + ∊)At)]

이때, rt(θ) = πθ(at | st)/πθold(at | st)는 새로운 정책과 이전 정책 간의 확률 비율을 의미하며, At는 Critic이 추정한 advantage 함수이다. Clipping 연산은 정책 변화가 ∊으로 제한된 신뢰 구간을 벗어나지 않도록 하여 학습의 안정성을 확보한다. 본 연구에서는 Stable-Baselines3 구현을 사용하며, advantage 추정에는 Generalized Advantage Estimation(GAE)이 적용된다. 이러한 구조적 특성 덕분에 PPO는 Trust Region Policy Optimization(TRPO)의 안정성을 유지하면서도 구현 복잡도를 줄였으며, 샘플 효율성, 하이퍼파라미터 튜닝 용이성, 병렬 환경 확장성 측면에서 TRPO나 A2C 대비 우수한 성능을 보인다.

다양한 연속 제어 환경(Atari, 로봇 제어 등)에서 PPO의 안정성과 효율성에 대한 연구와 더불어 복잡한 조합 최적화 및 자원 최적화 문제에도 적용 범위가 확장되고 있다. Vloemans [11]은 물류 최적화 문제, 특히 Traveling Salesman Problem에 PPO를 적용하여 기존 휴리스틱을 능가하는 성능을 보고하였다. Wu 등 [12]은 분기 기반 조합 최적화(branch-and-bound) 문제에서 PPO가 최신 탐색 및 학습 기반 접근보다 우수한 결과를 보였음을 제시하였다. 또한 Idriss 등 [13]은 전력 시스템의 Economic Dispatch 문제를 PPO를 통해 해결함으로써 비선형 비용 함수와 제약 조건하에서도 효율적인 정책 학습이 가능함을 보여주었다.

이러한 선행 연구들은 PPO가 단순한 시뮬레이션 환경을 넘어 실제 고차원 최적화 문제에도 적용 가능한 도구임을 입증한다. GNFS의 Polynomial Selection 단계는 탐색 공간이 조합적으로 크고 각 후보의 평가지표 즉, Murphy’s Escore가 계산 비용이 큰 문제라는 점에서 이러한 조합 최적화 문제와 구조적으로 유사하다. 따라서 PPO를 적용함으로써 에이전트가 탐색 경험을 축적하고 이를 반영하여 점진적으로 더 높은 Murphy’s E score를 제공하는 다항식을 선택할 수 있다. GNFS의 polynomial selection 단계는 탐색 공간이 크고 각 평가 비용이 높은 최적화 문제로 볼 수 있다.

최근 암호 분석 분야에서도 인공지능 기반 접근에 대한 연구가 점차 확대되고 있다. 부채널 분석에서는 딥러닝 기반 기법이 비교적 뚜렷한 성과를 보였으며, 실제로 전력 소비 등의 정보를 이용한 프로파일링 공격에서 기존 기계학습 기반 방법이나 전통적 템플릿 공격에 비해 경쟁력 있는 결과가 보고되었다[14]. 대칭키 암호 분석에 대한 인공지능 적용은 주로 reduced-round 블록암호나 특정 구별기(distinguisher) 구성 문제를 중심으로 이루어졌고, Speck32/64와 같은 사례에서 의미 있는 개선이 제시[15]되었으나, 이러한 결과를 일반적인 암호 분석이나 전체 라운드에 대한 실질적 공격 성능 향상으로 판단하기에는 어렵다. 이와 같은 선행연구는 그 효과가 주로 물리적 정보가 존재하는 부채널 분석이나 제한된 조건의 대칭키 실험에 집중되어 있음을 보여준다. 특히 정수 인수분해와 같이 명확한 수학적 구조를 갖는 문제는 탐색 공간이 매우 크고, 각 후보해의 평가 비용 또한 높기 때문에, 인공지능이 문제 자체를 직접 해결하는 방식보다는 기존 알고리즘 내부의 일부 탐색 또는 최적화 절차를 보조하는 방식이 보다 현실적인 접근으로 볼 수 있다. 이러한 점에서 GNFS의 polynomial selection 단계는 전체 성능에 큰 영향을 미치면서도 여전히 경험적 파라미터 조정의 비중이 큰 구간이므로, 학습 기반 탐색 기법의 적용 가능성을 검토할 만한 대상으로 해석할 수 있다. 본 연구는 이러한 관점에서 강화학습을 이용해 polyselect 파라미터 탐색을 자동화하고, 인공지능을 암호 해독 자체가 아니라 암호 분석 알고리즘의 내부 최적화 문제에 적용하고자 한다는 점에서 의의를 가진다.

IV. PPO 기반 GNFS 다항식 선택 최적화

본 장에서는 앞서 설명한 PPO 기반의 GNFS 다항식 선택 방법 최적화를 위한 파라미터 설정 연구에 대해 기술한다. 제안하는 방법은 GNFS 알고리즘의 가장 중요한 단계 중 하나인 다항식 선택(polyselect)의 파라미터를 강화학습 기반으로 자동 최적화하는 것을 목표로 한다.

GNFS에서 Polynomial Selection 단계는 전체 알고리즘의 성능에 결정적인 영향을 미치며, 선택된 다항식의 품질이 이후 단계의 효율성에 직결된다. 낮은 품질의 다항식이 선택될 경우 sieving 단계에서 요구되는 시간과 연산량이 증가하고, linearalgebra 단계에서의 행렬 연산 시간 증가로 인해 인수분해 전체가 실패할 가능성도 커진다. 이에 따라 polynomial selection 단계에서의 다항식 품질은 곧 전체 인수분해 성공률과 직결되는 핵심 요소라 할 수 있다.

현재까지의 기술로는, 인수분해 결과가 알려져 있지 않은 큰 N에 대해서는 휴리스틱과 Murphy’sEscore를 기반으로 다항식 품질을 평가하고, 경험과 시행착오에 의존해 다양한 파라미터를 조정하는 방식이 일반적이다. 이 과정에서 다항식 선택 알고리즘의 수행 성능을 좌우하는 여러 변수들을 체계적으로 결정할 수 있는 방법이 부족하여, 소모적인 임의 실험을 반복해야 하는 문제가 존재한다. 본 장에서는 이러한 문제점을 해결하고자 본 연구의 제안 방법에 대한 전체 구조, 강화학습 환경 설계, 파라미터 자동 생성 모듈, CADO-NFS 실행 기반 보상 산출 방식, 그리고 PPO 학습 루프 구성을 세부적으로 다룬다.

4.1 CADO-NFS

GNFS는 복잡한 수론적 연산과 고성능 병렬 처리를 필요로 하기 때문에, 최적화된 구현과 자동화된 파이프라인을 제공하는 도구의 존재가 필수적이다. CADO-NFS(Computer Algebra for Discrete Optimization; Number Field Sieve)는 이러한 필요성을 충족시키는 대표적인 시스템으로, 정수 인수분해와 유한체에서의 이산 로그 계산을 위해 설계된 GNFS 기반 오픈소스 소인수분해 도구이다[4]. CADO-NFS는 GNFS 알고리즘의 각 단계를 담당하는 개별 프로그램들과, 이들을 적절한 순서로 호출하여 전체 인수분해 파이프라인을 자동으로 실행하는 상위 스크립트로 구성된다. 상위 스크립트는 단일머신 뿐 아니라 여러 대의 컴퓨터로 구성된 네트워크 환경에서 병렬 실행을 지원하여, 대규모 계산에 필요한 분산 처리 기능을 제공한다. 이러한 폭넓은 기여는 CADO-NFS가 단순한 연구용 프로토타입에 머무르지 않고, 실제 대형 인수분해 실험에서 반복적으로 사용될 수 있는 안정적이고 신뢰할 수 있는 프레임워크로 자리잡는 데 중요한 역할을 한다.

CADO-NFS는 2010년 버전 1.0이 제안된 이후 꾸준히 RSA 암호분석에 사용되었으며, 가장 최신의 RSA Challenge에 RSA-250(829비트) 분석을 성공한 성과에도 사용되었다[16]. 이외에도 보안 연구, 학술적 계산, 실무 사건 대응 등 다양한 분야에서 널리 사용되어 왔다. 특히 RSA 기반 시스템의 취약성을 분석하고, 실제 환경에서 부적절하게 사용되는 RSA 키의 위험성을 입증하는 데 있어 중요한 역할을 수행해 왔다. CADO-NFS는 현대 암호분석에서 가장 중요한 도구 중 하나로 자리잡고 있으며, 특히 RSA 및 Diffie-Hellman 기반 시스템의 안전 수준을 실험적으로 평가하는 데 핵심적인 역할을 수행해 왔다.

CADO-NFS는 각 단계의 세부 동작을 제어하기 위해 파라미터 파일을 사용한다. CADO-NFS의 파라미터 파일은 GNFS 파이프라인의 모든 모듈(polyselect, sieve, filter, linalg 등)에 대해 독립적인 설정을 제공하며, 정수 N의 비트 길이에 따라 최적화된 기본값이 포함된다. 예를 들어 params.c30, params.c90, params.c155 등은 각각 30자리, 90자리, 155자리 수준의 수를 인수분해하기 위한 대표적인 초기 설정이다. 파라미터 파일은 Table 1. 와 같다.

Table 1. CADO-NFS Parameters

JBBHCB_2026_v36n3_753_8_t0001.png 이미지

본 연구는 이러한 다수의 파라미터 중에서도 특히 P, admin, admax와 같이 다항식 f(x)와 g(x)의 최고차항 계수를 직접적으로 제어하거나, 그 탐색 범위를 규정하는 핵심 변수들에 주목하였다. 이 세 파라미터는 다항식의 구조적 특성을 결정하고, 결과적으로 Murphy’s E score에 큰 영향을 미치기 때문에 GNFS 성능 최적화에서 우선적으로 고려되어야 하는 요소들이다. 따라서 본 연구에서는 Polynomial Selection 단계의 품질을 향상시키기 위한 실험적 접근의 핵심 대상으로 P, admin, admax를 선정하여 이들 값이 GNFS 전체 성능에 미치는 영향을 정량적으로 분석하고, 강화학습 기반 최적화를 시도한다.

4.2 강화학습 기반 GNFS 다항식 선택 최적화 개요

본 연구에서 수행한 제안 방법은 CADO-NFS 상에서의 다항식 선택(polyselect) 단계에서 사용되는 파라미터를 강화학습을 통해 자동으로 최적화하는 시스템이다. 기존 CADO-NFS 환경에서는 파라미터 파일을 수작업으로 조정하거나, 단순 스크립트를 이용한 무작위 탐색에 의존해야 했으며, 이러한 방식은 탐색 효율이 낮고 일관된 성능개선을 보장하지 못한다. GNFS의 각 단계는 서로 밀접하게 연동되며, 그 중 Polynomial Selection 단계는 전체 알고리즘의 성능에 매우 큰 영향을 미치는 핵심 요소로 알려져 있다.

Polynomial Selection의 효율성은 앞서 2.3절에서 언급한 바와 같이, 다음 root property와 size property에 의해 결정된다. Root property는 다항식의 값이 소수의 거듭제곱으로 나누어 떨어질 가능성의 척도로서, 좋은 root property를 가진 다항식은 sieve 단계에서 smooth 값을 더 자주 생성하며, size property는 다항식에 의해 생성되는 정수들의 크기로서 값이 작을수록 smooth일 확률이 증가한다. 이에 따라 sieving에서 얻을 수 있는 smooth relation의 갯수, 시간, linear algebra 단계의 난이도, 인수 분해 전체의 성공 여부 등이 크게 달라진다. GNFS의 비용은 smooth relation을 얼마나 효율적으로 수집할 수 있는가에 대한 여부가 큰 영향을 끼치게 되므로 다항식의 품질은 전체 인수분해의 성패를 직접적으로 좌우하게 된다.

이 두 property를 동시에 수치화한 대표적인 산출물이 바로 Murphy’s E score이며, 이는 polyselect 알고리즘이 생성하는 polynomial 후보들의 품질을 비교하는 실용적 지표로 사용된다.

따라서 Polynomial Selection 단계에서 다항식의 구조를 정의하는 핵심 파라미터를 적절하게 조정하는 과정이 필수적이며, Table 2.는 CADO-NFS에서 사용되는 주요 polyselect 관련 파라미터들을 나타낸다. 이때 다항식 f(x)와 g(x)의 최고차항 계수를 결정하는 파라미터들이 Polynomial Selection 단계의 품질을 좌우하는 핵심 요소가 된다.

Table 2. Optimization Target Parameters

JBBHCB_2026_v36n3_753_9_t0001.png 이미지

본 연구에서 최적화를 시도하는 P, admin, admax는 최고차항 계수를 정의하거나 탐색 범위를 지정하는 파라미터이다. 먼저, P 값은 g(x) 선형다항식의 leading coefficient를 구성하는 소수 p1,p2,…의 탐색 구간을 정한다. g(x) = ax - b에서 a는 P ≤ p1,p2,…<2P 범위의 소수들의 곱으로 생성되는데, 이 구간 P를 어떻게 설정하느냐는 rational side norm의 구조와 크기를 결정하여 smoothness 확률에 영향을 미친다. 즉, P는 rational side polynomial의 형태를 규정하고, 결과적으로 f(x)와 g(x) 쌍이 생성 하 는 norm의 성질과 전체 Murphy's E score에 직접적으로 기여한다.

한편, admin과 admax는 f(x) 다항식의 최고차항계수의 탐색 구간을 의미하며, polyselect 알고리즘은 admin과 admax 범위에서 incr 간격으로 최고차항 계수의 값을 변화시키며 다양한 형태의 algebraic polynomial 후보를 생성한다. f(x)의 norm의 size property를 결정하므로 최고차항의 계수 범위에 대해 최솟값(admin) 과 최댓값(admax)를 정하는 것은 polyselect 단계의 품질을 좌우하는 핵심 변수가 된다. 최고차항 계수의 크기가 지나치게 크면 norm이 커져 smoothness 확률이 나빠지고, 반대로 너무 작은 값만 탐색하면 root property가 좋지 않은 다항식만 생성될 가능성이 있다. 따라서 admin과 admax는 탐색해야 할 다항식 범위를 정의하며, 해당 범위의 선택이 곧 다항식 품질의 상한을 결정하게 된다.

이와 같이 P가 rational side 구조와, admin/admax가 algebraic side 구조를 결정하므로 이 세 파라미터는 다항식 쌍이 만들어내는 norm의 분포, smoothness 가능성, 그리고 최종 Murphy‘s E score에 결정적인 영향을 미친다. 따라서, 이 값들을 어떻게 조정하느냐에 따라 GNFS 전체 실행 시간이 크게 차이가 날 수 있다. 전체 파라미터 공간을 동시에 최적화할 경우 탐색 공간이 급격히 증가하여 학습이 어려워지는 문제를 고려한 설계 선택이며, 제한된 계산 자원 내에서 학습 기반 탐색의 가능성을 검증하기 위한 단계적 접근으로 볼 수 있다.

기존 CADO-NFS 기반 GNFS 구현에서는 polyselect 파라미터가 주로 휴리스틱에 의존하여 설정되었으며, 정수 N의 구조에 따라 최적 파라미터가 크게 달라지기 때문에 일관적이고 재현성 있는 자동화된 탐색 방법이 부족하다. 이에 본 연구에서는 강화학습 기반 접근을 적용하여 P, admin, admax와 같은 leading coefficient 관련 파라미터를 자동으로 탐색한다. 특히 전체 파라미터 공간을 동시에 최적화할 경우 탐색 공간이 급격히 증가하여 학습이 어려워지는 점을 고려하여, 제한된 계산 자원내에서 탐색 가능성을 검증하기 위한 단계적 접근으로 주요 세 개의 파라미터에 한정하여 최적화를 수행하였다. 또한 polyselect의 품질 지표인 Murphy’s E score를 보상으로 사용하여, 다항식 선택 품질을 향상시키는 방향으로 탐색을 수행하도록 설계하였다.

제안하는 방법은 강화학습을 polyselect 파라미터 탐색 문제에 도입한다. 본 시스템은 polyselect를 하나의 강화학습 환경(Environment)으로 간주하고, PPO 기반 Actor–Critic 에이전트가 매 episode마다 새로운 파라미터 조합을 제안하며 polyselect를 실행하도록 설계되었다. polyselect가 출력한 다항식의 Murphy’s E score은 강화학습 에이전트가 받는 보상(reward)으로 사용되며, 정책 네트워크(Actor)는 이 보상을 통해 더 높은 E값을 산출하는 방향으로 점진적으로 업데이트된다.

4.3 강화학습 기반 GNFS 다항식 선택 최적화 구조

본 연구에서 제안하는 방법은 CADO-NFS의 Polynomial Selection 단계를 강화학습 기반으로 자동 최적화하기 위해 설계된 프레임워크로, 그 구조는 여러 독립적인 구성 요소가 순차적·반복적으로 상호작용하는 형태로 구성된다. 이러한 아키텍처는 강화학습의 정책 최적화 과정과 CADO-NFS의 높은 계산비용을 모두 고려하여 설계된다.

본 장에서 사용되는 강화학습 관련 용어는 다음과 같이 정의된다. 강화학습 에이전트(agent)는 polyselect 단계에서 사용될 파라미터 조합을 생성하는 정책 모델을 의미하며, 환경(environment)은 에이전트가 제안한 파라미터를 실제 CADO-NFS polyselect 실행으로 변환하고 그 결과로부터 보상을 산출하는 함수를 의미한다. 하나의 에피소드(episode)는 단일 polyselect 실행에 대응되며, 에이전트의 행동(action)은 polyselect 파라미터 조합이다. 보상(reward)은 polyselect 실행 결과에서 계산된 Murphy’s E score들 중 단일 실행에서의 최적 후보 탐색을 우선적으로 고려하여 최대값을 사용하여 정의하였다. 이는 최종적으로 가장 높은 품질의 다항식을 선택하는 polyselect의 목적과 일치하도록 설계된 것이다. 이러한 정의를 통해, 본 연구에서는 Fig. 2.와 같이 GNFS의 다항식 선택 문제를 강화학습의 상호작용 구조로 모델링한다.

JBBHCB_2026_v36n3_753_10_f0001.png 이미지

Fig. 2. Proposed Method Framework

4.3.1 강화학습 에이전트 (PPO Agent)

PPO Agent는 Stable-Baselines3 라이브러리에서 제공하는 PPO 구현체를 기반으로 한 강화학습 에이전트로, Actor–Critic 구조를 사용하여 polyselect 실행에 필요한 파라미터를 연속형 action 벡터 형태로 출력한다. Critic은 해당 파라미터 조합이 생성할 것으로 기대되는 보상을 예측하여 Advantage 계산에 활용된다.

PPO Agent의 수행 과정은 다음과 같다.

1. 상태(state)를 입력으로 받아 정책 네트워크(Actor)를 통해 polyselect 파라미터에 대응하는 연속형 action을 생성한다.

2. 생성된 action은 GNFS 기반 강화학습 환경으로 전달되어 실제 polyselect 실행을 위한 파라미터로 변환된다.

3. polyselect 실행 결과로부터 산출된 보상(Murphy’s E score)을 입력받아, Critic을 통해 Advantage를 계산한다.

4. 계산된 Advantage를 기반으로 PPO의 clipped surrogate objective를 사용하여 정책 파라미터를 업데이트한다.

4.3.2 GNFS 기반 강화학습 환경 (CadoEnv())

CadoEnv()는 강화학습 에이전트와 실제 CADO-NFS polyselect 실행을 연결하는 환경으로, Gymnasium 인터페이스를 기반으로 구현되었다. CadoEnv()의 수행 과정은 다음과 같다.

1. PPO Agent가 출력한 연속형 action을 polyselect 파라미터 범위에 맞도록 역정규화한다.

2. 변환된 파라미터를 이용하여 CADO-NFS 형식의 파라미터 파일을 자동 생성한다.

3. 생성된 파라미터 파일을 입력으로 polyselect 실행 모듈을 호출한다.

4. polyselect 실행 결과 로그에서 Murphy’s E score를 추출하여 보상으로 반환한다.

본 연구에서는 polyselect의 목적과 일치하도록, 단일 실행에서 얻어진 다항식 후보들 중 최대 Murphy’s E score를 보상으로 정의하였다. 이는 에이전트가 더 높은 품질의 다항식을 탐색하도록 유도하기 위한 설계이다.

다만 이러한 보상 정의는 특정 후보에 대한 편향을 유발할 가능성이 있으며, 평균 또는 분포 기반 보상 정의에 대한 비교는 향후 연구에서 추가적으로 검토할 필요가 있다.

CadoEnv()는 한 episode가 polyselect 한번의 실행으로 구성되도록 설계되어 있어 에이전트의 action—실행—보상—정책 업데이트 과정으로 운영된다. 또한 polyselect 실행이 실패하거나 Murphy's E score이 존재하지 않을 경우에는 페널티 보상을 부여하여, 에이전트가 비효율적 또는 비정상적인 파라미터 조합을 점차 회피하도록 유도한다. 이와 같이 CadoEnv()는 강화학습 알고리즘과 CADO-NFS의 실제 polyselect 계산을 연결하는 역할을 수행하며, 실험적 반복성과 자동화된 최적화 흐름을 가능하게 하는 시스템적 기반을 제공한다.

4.3.3 polyselect 실행 모듈

polyselect 실행 모듈은 강화학습 환경으로부터 전달된 파라미터를 기반으로 CADO-NFS의 polynomial selection 단계를 실제로 수행하는 실행 모듈이다. polyselect 실행 모듈의 수행 과정은 다음과 같다.

1. 전달받은 파라미터 파일과 작업 디렉토리를 기반으로 polyselect 실행 환경을 초기화한다.

2. CADO-NFS polyselect 엔진을 호출하여 다항식 후보들을 생성한다.

3. 각 다항식 후보에 대해 size property와 root property를 계산하고 Murphy’s E score를 로그에 기록한다.

4. 실행 결과 로그를 보상 산출기로 전달한다.

이 모듈은 구체적으로 에이전트가 출력한 P, admin, admax 값을 polyselect의 실제 파라미터 범위로 선형 변환한 뒤, 이를 기반으로 CADO-NFS에서 사용되는 파라미터 파일을 동적으로 생성한다. 파라미터 파일은 CADO-NFS polyselect 엔진이 읽는 표준 포맷으로, 내부에는 polyselect 단계에 필요한 설정값과 실험 환경에 따른 옵션들이 포함되어 있다. 이 중에서 P, admin, admax와 같이 다항식의 최고차항의 계수 구조를 직접 결정하는 핵심 변수들만을 조정하며, 나머지 파라미터는 고정하여 실험의 일관성을 유지한다.

이 자동 생성 모듈을 통해 사용자의 개입 없이도 polyselect 설정을 반복적으로 생성하고 실험할 수 있게 되며, 강화학습 기반 최적화의 핵심인 실험 자동화가 완전히 구현된다.

파라미터 파일이 생성되면 실행 스크립트는 CADO-NFS polyselect 작업을 단독 실행하게끔 설계된 실행기 역할을 한다. 일반적인 GNFS 파이프라인에서는 polynomial selection 이후 sieving, filtering, linear algebra 순으로 작업이 이어지지만, 본 연구에서는 polyselect 부분만을 추출하여 독립 모듈로 반복 실행한다. polyselect 실행기는 파라미터 파일과 작업 디렉토리를 입력으로 받아 CADO-NFS의 polynomial selection 알고리즘을 실행한다. 이 과정에서 CADO-NFS는 다양한 후보 polynomial을 생성하고, 각 후보에 대해 size property와 root property를 계산하여 Murphy's E score를 출력 로그에 기록한다. polyselect 계산은 f(x)와 g(x)의 구조를 바탕으로 많은 후보를 평가해야 하기 때문에 실행기는 오류 처리 및 로그 관리 기능을 포함한다. 또한 polyselect 실행기는 episode마다 독립적인 디렉토리를 생성하여 결과를 분리함으로써, 강화학습 에이전트가 다양한 파라미터 조합에 대해 동일한조건에서 공정하게 평가를 받을 수 있도록 한다. 이는 강화학습 과정에서의 재현성 확보와 실험 분석에 중요한 역할을 한다.

4.3.4 Murphy's E score 기반 보상 산출기

Murphy’s E score 기반 보상 산출기는 polyselect 실행 결과를 분석하여 강화학습 에이전트가 학습에 사용할 보상을 계산하는 모듈이다. 보상 산출기의 수행 과정은 다음과 같다.

1. polyselect 실행 로그 파일을 파싱하여 다항식 후보들의 Murphy’s E score를 추출한다.

2. 추출된 값 중 최대 Murphy’s Escore를 해당 에피소드의 보상으로 선택한다.

3. 보상의 분포를 완화하기 위해 로그 스케일 변환 및 정규화를 수행한다.

4. 최종 보상을 강화학습 환경을 통해 PPO Agent로 반환한다.

본 연구에서는 polyselect 실행 결과로 산출된 다항식 후보들 중 최대 Murphy’s Escore값을 해당 에피소드의 보상으로 정의하였다. Murphy’s E score는 다항식의 size property와 rootproperty를 종합적으로 반영하는 지표로서, sieving 단계에서 기대되는 smooth relation의 수와 높은 상관관계를 가지므로 다항식 품질을 평가하는 보상으로 적합하다. Murphy’s Escore는 크기가 매우 작고 분산이 큰 특성을 가지므로, 강화학습의 안정적인 학습을 위해 보상값에 대한 정규화를 수행하였다. 보상 값은 로그 스케일 변환을 통해 분포를 완화한 후, 사전에 정의된 범위로 클리핑하여 정책 업데이트 과정에서 과도한 gradient 변동이 발생하지 않도록 하였다. 이를 통해 보상의 스케일 차이로 인한 학습 불안정성을 완화하고, PPO 알고리즘의 수렴 특성을 유지하도록 설계하였다.

4.3.5 PPO 학습 루프

PPO 학습 루프는 episode 단위의 지속적인 학습을 수행한다. 학습 루프는 다음과 같은 순차적 흐름을 반복한다.

1. 환경 초기화

2. 에이전트가 action 생성

3. 파라미터 파일 생성 및 polyselect 실행

4. Murphy's E score 기반 보상 획득

5. PPO 알고리즘을 통한 정책 업데이트

6. 모델 저장 및 로그 기록

PPO는 정책의 안정적 개선을 위해 KL divergence 기반 클리핑을 적용하며, polyselect처럼 실행 비용이 크고 episode 단위로 구성된 환경에 적합하다. 강화학습 루프가 충분한 episode를 거치면 에이전트는 P, admin, admax 조합에 대한 경험을 축적하며, Murphy's E score 점수를 최대로 만드는 parameter selection 정책을 학습한다. 본 연구에서 제안한 방법은 반복 학습을 통해 polyselect에서 장기간 수작업 실험을 통해서도 찾기 어려운 고품질 다항식 후보를 자동으로 생성할 수 있는 능력을 갖추게 된다.

이와 같이 강화학습 에이전트, CADO-NFS 기반 환경, 파라미터 자동 생성 모듈, polyselect 실행기, Murphy's E score 보상 산출기, 그리고 PPO 학습 루프가 하나의 통합된 최적화 파이프라인을 형성한다. 에이전트는 환경으로부터 파라미터 조정의 결과를 지속적으로 피드백받고, 환경은 다시 polyselect 실행을 통해 에이전트의 선택이 실제 polynomial selection 품질에 어떤 영향을 미치는지를 정량적으로 평가한다. 이 과정이 episode에 걸쳐 반복되면서 점차 더 높은 Murphy's E score를 갖는 다항식을 탐색할 수 있는 방향으로 수렴하게 된다. 본 연구에서는 GNFS polynomial selection의 파라미터 탐색 문제를 강화학습 프레임워크 내에서 다룰 수 있도록 재구성하였다. 해당 문제는 고비용 평가 함수를 기반으로 하며, 각 파라미터 조합에 대한 반복적인 탐색과 평가가 중심이 되는 구조를 가진다. 이러한 특성을 고려하여, PPO는 다양한 파라미터 조합을 탐색하고 그 결과를 바탕으로 정책을 점진적으로 개선하는 학습 기반 탐색 기법으로 활용되었다.

V. 다항식 최적화 실험

5.1 실험 환경

본 실험에서는 CADO-NFS의 Polynomial Selection 단계를 강화학습 환경으로 모델링하기 위해, Python 기반의 CadoEnv을 구현한다. 이 환경은 Gymnasium(v2.2.1) 인터페이스를 상속받아 PPO 에이전트가 polyselect 파라미터를 조정하고, 실행 로그로부터 Murphy’s E score를 보상으로 수집하도록 설계된다. 실험은 Ubuntu24.04.2LTS 운영체제에서 수행하였으며, 하드웨어 환경은 4.0 GHz AMD Ryzen Threadripper PRO7975X 프로세서와 256 GB 메모리로 구성된다.

CADO-NFS(v2.3.0)[4]는 RSA 소인수분해용 표준 툴체인으로 사용하였으며, PPO 에이전트는 Stable Baselines3 라이브러리의 구현을 사용한다. 학습 환경(CadoEnv)은 polyselect 모듈의 파라미터를 조정하고, 각 실행 결과를 로그 파일에서 직접 파싱하여 강화학습의 보상으로 변환한다.

강화학습 환경은 Gymnasium 기반으로 정의되었으며, 상태 공간(state space)는 파라미터 벡터로 정의되지만, 각 episode가 독립적으로 수행되므로 상태 전이에 따른 장기 의존성은 존재하지 않는다. 행동(action)은 파라미터 조정, 보상(reward)은 polyselect 로그에서 추출한 Murphy’sEscore로 정의한다. 유효한 E score가 산출되지 않을 경우 패널티를 부여하였다. 환경은 ‘파라미터 파일 생성 → polyselect 실행 →로그 분석’의 과정을 하나의 에피소드(episode)로 처리한다.

학습 알고리즘은 Stable Baselines3의 PPO 구현을 사용하였으며, 정책 네트워크는 다층 퍼셉트론(Multi-Layer Perceptron)기반의 Actor–Critic 구조로 설계되었다. 학습률(learningrate)은 1 × 10⁻³, 배치 크기(batch size)는 64, 클리핑 계수(clipping coefficient)는 0.2, 감가율(discount factor)은 0.99로 설정한다. 이는 기존 PPO 연구 [7]에서 제시된 안정적 학습 구간을 참조한 값으로, polyselect 실행 비용과 보상 희소성(sparse reward)을 고려하여 조정한다. 또한 탐색(exploration) 균형을 유지하기 위해 entropy 계수를 설정하고, 학습이 진행됨에 따라 점진적으로 변경하여 정책의 수렴성을 높였다.

본 실험은 polyselect 실행 비용이 높은 특성상 다수의 반복 실험을 수행하기 어렵기 때문에, 평균 및 표준편차 기반의 통계적 분석은 포함하지 않는다. 대신 동일한 조건에서 관찰된 대표적인 실행 결과를 중심으로 성능 경향을 분석한다. 총 학습 횟수는 200 episode로 설정하였다. 본 실험은 polyselect 실행 비용의 제약으로 인해 다수의 반복 실험을 포함하지 않았으며, 향후 연구에서는 다양한 random seed 설정 및 반복 실험을 통한 통계적 분석이 추가적으로 필요하다. 본 실험에서는 강화학습 환경의 계산 비용을 고려하여 총 200 episode의 학습을 수행하였다. 각 episode는 polyselect의 단일 실행으로 구성되며, 하나의 파라미터 조합에 대한 평가를 의미한다. 최적화 대상 파라미터는 polyselect의 주요 변수인 P, admin, admax로 설정하였으며, 각각 P∈[106, 2 × 107], admin∈[5,000,80,000], admax∈[80,000,200,000] 범위에서 탐색이 이루어지도록 구성하였다. 각 파라미터는 정규화된 action space에서 샘플링된 값을 선형 변환하여 실제 값으로 매핑하였다. 다만 polyselect 실행 비용의 제약으로 인해 multiple random seed에 대한 반복 실험이나 평균 및 표준편차 기반의 통계적 분석은 수행하지 않았다. 따라서 본 연구의 결과는 특정 실험 설정 하에서 관찰된 경향으로 해석하는 것이 적절하며, 보다 체계적인 통계적 검증은 향후 연구에서 추가적으로 수행될 필요가 있다. 각 episode는 polyselect의 단일 실행으로 구성되며, 하나의 episode는 하나의 파라미터 조합에 대한 평가를 의미한다. 파라미터 탐색 범위는 admin, admax, P에 대해 사전에 정의된 구간 내에서 연속적으로 샘플링되며, 각 파라미터는 정규화된 action space를 통해 표현된다. 구체적으로 admin, admax는 각각 사전 정의된 최소값과 최대값 범위 내에서 선형 스케일링을 통해 결정된다. 학습 과정에서 각 step의 파라미터와 reward(Murphy’s E score)는 로그 파일로 저장되며, 이를 기반으로 학습 추이를 분석한다.학습 초기에는 무작위 탐색 수준의 파라미터 조합이 주로 선택되었으나, 학습이 진행됨에 따라 점차 높은 Murphy’s E score를 산출하는 방향으로 정책이 개선되는 경향을 보였다.

학습 결과는 각 polyselect 실행 로그에서 추출된 Murphy’s E score, CPU 사용률, 실행 시간정보와 함께 분석하였으며, E score 상위 10개의 파라미터 조합을 추출하여 평균 향상률을 산출한다.

5.2 실험 결과

본 연구에서는 강화학습 기반 다항식 선택 기법의 유효성을 다각적으로 검증하기 위해, 총 세 가지 유형의 실험을 단계적으로 설계하였다.

구체적으로, 본 실험은 세 가지 관점에서 제안 방법의 성능을 평가한다. 첫째, 서로 다른 크기의 입력에 대해 기본적인 성능 향상을 확인한다. 둘째, 동일한 크기의 다양한 입력에 대해 일관된 성능을 보이는지를 검증한다. 셋째, 기존 방식으로는 전수조사가 어려운 대형 입력(RSA-1024)에 대해 실용적인 탐색 가능성을 평가한다. 이러한 단계적 실험을 통해 제안한 방법의 성능, 일관성, 그리고 확장 가능성을 종합적으로 분석한다. 이러한 단계적 실험 설계를 통해, 제안하는 최적화 기법은 단순한 휴리스틱 개선이 아닌 GNFS 다항식 선택 단계에서 의미있는 대안이 될 수 있는지를 체계적으로 분석하고자 한다. 학습 과정에서 수집된 reward 값은 episode에 따라 기록되며, 이를 통해 학습이 진행됨에 따라 점진적으로 높은 Murphy’s E score를 갖는 파라미터가 선택되는 경향을 확인할 수 있었다.

5.2.1 실험 1 : 제안 방법의 성능분석

본 실험에서는 기존 CADO-NFS 기본 설정을 baseline으로 사용하여 제안한 방법의 성능을 비교하였다. 이는 실제 사용 환경에서 기본 설정 대비 개선 가능성을 평가하기 위한 것이다. 강화학습 기반 접근이 기존의 전통적인 다항식 선택 기법과 비교하여 최소한 경쟁력 있는 결과를 산출할 수 있는지를 검증하는 것을 목표로 한다.

이를 위해, 155자리, 158자리, 175자리 정수라는 서로 다른 크기의 입력을 선택하였다. 155자리(517비트), 158자리(523비트), 175자리(576비트) 정수를 각각 N155, N158, N175라 할 때, 실험 대상 정수 N은 다음과 같다.

N155 =365701538495517670780037130838592339140774526602507215800674135066696822817244646763584701711783112640030867172492182171738446305506315744911694701098774253,

N158 =20502196039238482647600916585992751056857435041970628955907159035339774478688513838799035353631169538091965031963514987962959472111908175512028517193697037171,

N175 =151378004849306074610629847360180892466652492484383576061596218339745992059562188316211804701072121291992842799946886012079005694906573877274284520342213735151517332030596049

해당 실험 결과를 정리하면 Table 3. 과 같으며, 전체적으로 기존의 CADO-NFS보다 더 높은 Murphy’s E score를 갖는 것을 확인할 수 있다. 특히, 158자리 수에 대해서는 실제 인수분해를 통해 Murphy’s E score가 전체적인 인수분해 속도에 얼마나 영향을 미치는지 확인하였다. Table 4.와 같이, Murphy's E score가 큰 다항식을 사용할 경우 수행시간은 약 9% 감소한 것을 확인할 수 있다. Murphy's E score가 크다는 의미는, Sieving 구간 내에서 relation을 많이 얻을 수 있다는 의미인데, 위의 표에서 확인할 수 있듯이, 본 연구에서 제안한 방식을 사용할 경우 더 짧은 시간에 많은 relation을 수집할 수 있음을 의미한다. 이 실험을 통해, 큰 수를 인수분해할수록 Murphy's Escore가 큰 다항식을 선택하는 것이 중요하다는 것을 확인할 수 있다. 또한, 다양한 크기의 수에 대해 기존 CADO-NFS와 다항식 선택을 비교한 결과, 제안한 방법이 기존 CADO-NFS 기본 설정 대비 더 높은 Murphy’s E score를 갖는 다항식을 발견하는 경향을 확인하였다. 이 결과는polynomial selection 단계에서의 다항식 품질이 GNFS 수행 시간에 영향을 미칠 수 있음을 보여주는 사례로 해석할 수 있다.

Table 3. Results in Experiment 1

JBBHCB_2026_v36n3_753_13_t0001.png 이미지

Table 4. Results for N158 in Experiment 1

JBBHCB_2026_v36n3_753_14_t0001.png 이미지

5.2.2 실험 2 : 동일 크기 N에 대한 성능 분석

두 번째 실험의 목적은, 첫 번째 실험에서 관찰된 성능 향상이 특정 정수에 의존한 결과가 아닌지를 검증하고, 제안한 방법의 성능이 CADO-NFS보다 우수할 수 있는지를 확인하기 위해 이를 위해 동일한 자리수 158자리(523비트)를 가지는 서로 다른 6개의 정수를 선택하여 실험을 수행하였다.

N158.1 =29297177490464701900253493122106674735725265923874398393515211867007561698520601092472478970325549248327576432864374664795257615286994117824649579102148287797

N158.2 =47522717340068127742565474425062339562466076116268347235000797332937286802765931720639566753161943067144185540805581827569823997299983822875332311048945919671

N158.3 =61250342461158230067517248255268101856947816532921210773744439939787557285375082380092499107374843631036159963775593659924400961138715728052623326915827175863

N158.4 =17524638991739955252494667844926476080158746176242498768051875827082962733515579234575315470491760868233609712154148993974855255357179014967774448869041227937

N158.5 =10628236712677503287164440389038394547598326234489349042481190611130303995866722940829670937162478860954268205853497111971377261587730827059564184643479128803

N158.6 =35707548880947522560346717732207569840036133096522509687510695640093657679993972823248038652501507790132510842678691836682506972437772092666988044831803842989

실험 수행 방법은 다음과 같다. 목표는 해당 수에 대해서 다항식을 선택하였을 때 얻은 Murphy's E score의 값을 비교한다. CADO-NFS의 경우 주어진 파라미터로 다항식 선택을 진행하고, 수행시간을 확인한다. 강화학습 기반 다항식 최적화 방식의 경우 다항식 선택이 CADO-NFS처럼 시작과 끝이 존재하는 것이 아니라, 주어진 구간에서 일부 탐색을진 행한 뒤 Murphy's E score를 보상으로 받아 다음 구간을 설정한 뒤 이를 반복적으로 진행한다. 따라서, 처음으로 CADO-NFS 보다 좋은 다항식이 선택될 경우 중단하고, 해당 다항식을 기록하였다. 만약 좋은 다항식을 계속해서 선택하지 못할 경우 CADO-NFS 수행시간보다 2배 이상이 걸리면 강제 종료하는 것으로 설정하였다. 마지막으로 다항식 선택 과정은 GNFS 알고리즘에 있어서 전처리 과정으로 여겨지는 만큼, 구체적인 시간을 측정하기보다 CADO-NFS보다 더 소요되었을 경우에만 확인하였다. 먼저 전체적인 실험 결과 요약은 다음과 같다. Table 5.에서 확인할 수 있듯이, 모든 수에 대해서 CADO-NFS 대비 더 높은 Murphy's Escore, 즉 더 좋은 다항식을 선택하는 것을 확인하였다. 이 실험을 통해 제안한 방식의 일반화 성능을 평가한다는 점에서 의미를 가진다. 특정 정수에 대해서만 좋은 결과를 내는 과적합된 방법이 아님을 검증하고, 동일한 계산 자원 조건에서, 다양한 입력에 대해 일관되게 CADO-NFS 이상 수준의 결과를 제공하는지 확인하였다. 이 실험을 통해 동일한 크기의 서로 다른 입력에 대해서도 일관되게 개선된 Murphy’s E score를 갖는 다항식을 발견할 수 있음을 확인하였다. 이는 특정 입력에 대한 과적합이 아니라, 다양한 입력에 대해 안정적인 성능을 보일 수 있음을 시사한다.

Table 5. Results in Experiment 2

JBBHCB_2026_v36n3_753_15_t0001.png 이미지

5.2.3 실험 3: RSA-1024에 대한 실용성 및 확장성 평가

본 연구에서는 강화학습을 활용한 다항식 선택 기법과 CADO-NFS에서 구현된 전통적인 다항식 선택 기법을 비교 및 분석한다. 특히, 아직 인수분해가 완료되지 않은 RSA-1024와 같은 큰 수에 대해서는 어떤 파라미터 설정이 적절한지에 대한 명확한 기준이 부재하다는 점, 그리고 Murphy's E score이 어느 정도 수준이면 좋은 다항식으로 간주할 수 있는지에 대한 실질적 지표가 없다는 점을 문제점으로 고려한다. 현재 CADO-NFS에서는 이러한 기준 부재로 인해 넓은 파라미터 공간을 거의 전수조사에 가깝게 탐색하면서 다항식을 선택하고 있으며, 이는 수가 커질수록 시간 및 자원 측면에서 비현실적으로 증가한다.

작은 모듈러스에 대해서는 경험적으로, 예를 들어 2 × 10-8 수준의 Murphy's E score를 가지는 다항식이 좋은 선택으로 기능할 수 있다는 관측이 존재한다. 이 경우에는 해당 값 인근의 Murphy's E score를 갖는 다항식만 선별적으로 채택하는 식으로 다항식 선택 전략을 세울 수 있다. 그러나 RSA-1024와 같이 충분히 큰 모듈러스에 대해서는 이러한 절대적인 Murphy's E score 기준이 알려져 있지 않으며, 좋은 다항식의 기대 구간조차 명확하지 않다. 그 결과, 기존 방식은 파라미터 공간을 폭넓게 훑는 수밖에 없고, 이는 사실상 전수조사에 가까운 탐색 전략으로 귀결된다.

이에 본 연구에서는, 강화학습 기반 접근이 전 구간 전수조사가 아닌 유망 구간을 순차적으로 좁혀가는 탐색으로 작동하도록 설계하였다. 구체적으로는, 먼저 주어진 파라미터 구간에서 일부 샘플을 선택해 다항식을 생성하고, 각 다항식의 Murphy's E score를 계산하여 데이터로 축적한다. 이후 이 데이터를 기반으로 딥러닝 모델을 학습시켜, 어느 구간에서 더 높은 Murphy's E score를 기대할 수 있는지를 예측하게 한다. 다음 단계에서는 모델이 제안하는 유망 구간을 중심으로 새 다항식을 탐색하고, 다시 Murphy's E score를 측정 및 갱신하는 과정을 반복함으로써, 제한된 시간 안에 상대적으로 좋은 다항식들이 집중적으로 탐색되도록 유도한다.

지금까지 작은 수에 대해 수행한 실험에서는, 강화학습 기반 방법이 CADO-NFS의 기본 다항식 선택 결과보다 더 좋은 Murphy's E score를 가지는 다항식을 찾는 경우가 확인되었다. 다만, 이러한 결과는 작은 수에 한정해 CADO-NFS의 결과를 이미 알고 있는 상황에서 비교한 것이므로, 본 연구에서 제안한 방식이 항상 CADO-NFS보다 우수한 다항식을 찾는다는 식의 일반화된 결론을 내리기에는 한계가 있다. 오히려, 이 실험들은 강화학습 기반 접근이 CADO-NFS가 찾은 최선의 결과와 비교해도 성능이 나쁘지 않은 다항식들을 안정적으로 찾아낼 수 있다는 점을 보여주는 정도로 해석하는 것이 타당하다.

또한, CADO-NFS는 이론적으로 충분한 시간이 주어진다면, 넓은 파라미터 공간을 치밀하게 전수조사함으로써 딥러닝보다 더 좋은 다항식을 찾아낼 수 있다. 그러나 RSA-1024와 같은 매우 큰 수에 대해서는, 동일한 방식의 전수조사 전략이 실질적으로 수십 년 이상 소요될 수 있는 비현실적인 계산 시간을 요구한다. 이와 대조적으로, 딥러닝 기반 방법은 한정된 시간과 자원 하에서 충분히 좋은 다항식을 보다 빠르게 얻기 위한 실용적인 대안으로 의미를 갖는다. 특히 작은 수에서 딥러닝이 더 좋은 결과를 보였던 이유는, CADO-NFS의 탐색이 최고차항 계수를 일정한 상수 (incr) 간격으로 증가시키는 식의 제한된 전략을 사용한 반면, 딥러닝은 그 사이에 놓여 있는계수를 포함한 보다 다양한 구간을 자동으로 탐색했기 때문으로 해석할 수 있다.

요약하면, 작은 수에 대한 추가 실험은 특정 방법의 우수성을 판단하기 보다는, 본 연구에서 제안된 방식이 성능이 양호한 다항식들을 안정적으로 탐색할 수 있음을 보여준다. 실제로 작은 수의 경우 CADO-NFS가 더 좋은 다항식을 선택할 경우 해당 다항식을 사용해 인수분해를 진행하고, 제안하는 방식이 더 좋은 다항식을 제시하는 경우에는 이를 활용하여 인수분해하면 된다. 반면, RSA-1024와 같이 비교 기준을 설정하기 어려운 대형수에 대해서는 전통적인 전수조사 방식 대신 학습 기반 탐색을 통해 탐색 공간을 줄이고 유망한 후보를 효율적으로 발굴하는 데 의미가 있다.

RSA-1024 다항식 선택 실험을 위한 정수는 RSA numbers에서 추출한 다음 수이다.

N1024 =135066410865995223349603216278805969938881475605667027524485143851526510604859533833940287150571909441798207282164471551373680419703964191743046496589274256239341020864383202110372958725762358509643110564073501508187510676594629205563685529475213500852879416377328533906109750544334999811150056977236890927563

RSA-1024를 인수분해 하기 위해 CADO-NFS의 경우 310 자리수 인수분해에 대한 파라미터 P = 10,000,000, admax = 2e17, adrange = 14,898,723,840를 사용한다. 만약 CADO-NFS로 RSA-1024 인수분해를 수행할 경우, polynomial selection 단계가 종료되는 데에는 14,166일, 대략 38년 9개월의 시간이 소요될 예정이다.

CADO-NFS의 경우에는 해당 범위의 모든 다항식을 검색한 뒤에 최종을 출력하는 방식으로 중간에서 중단 후 선택하는 다항식이 현재까지의 최적이라고 판단하기 어렵다. 반면에 강화학습 기반의 최적화 방식의 경우에는 작은 구간에 대해 최적을 탐색하고 더 높은 Murphy's E score를 가질 수 있는 새로운 구간을 찾아 탐색을 진행하기 때문에 중간에 중단한 결과는 현재까지의 최적의 다항식이라고 판단할 수 있다.

RSA-1024에 대한 CADO-NFS와 다항식 선택 비교는 다음과 같다. CADO-NFS의 경우 2주간 수집한 결과에 대한 최적의 다항식을 제안 방식과 비교 대상으로 선정하였다. 추가로 RSA-1024 인수분해를 위해 제안하는 최적화 방식에 대한 추가 최적화를 진행하였다.

앞선 실험 1과 실험 2의 경우, Murphy's E score의 값을 보상으로 받아 다음 구간을 설정하는 형태로 구현이 되어있다. 하지만 Murphy's E score의 정확한 값은 root optimization 이후에 얻을 수 있다. 그런데 인수분해하려는 수가 커지면 다항식의 계수가 커지게 되어 root optimization 시간도 늘어나게 된다. 따라서 Murphy's E score가 아닌 expE를 보상값으로 설정하였다. expE는 expected Murphy's E score의 약자로 size optimization 후에 예측하는 Murphy's E score의 값이이며 다음과 같은 관계식을 가진다.

lnE = C - expE

따라서 expE 의 값이 작을수록 Murphy's E score의 값이 크다는 특징을 가지게 된다. expE를 보상으로 사용하게 되면, size optimization만 수행하기 때문에 더 빠르게 다항식을 확인할 수 있다. RSA-1024에 대한 다항식을 수행한 결과는 Table 6.과 같다.

Table 6. Results in Experiment 3

JBBHCB_2026_v36n3_753_17_t0001.png 이미지

결과에 대한 시사점은 다음과 같다. 동일한 파라미터 구간에서 CADO-NFS와 비교할 경우, CADO-NFS는 전수조사 기반 탐색을 수행하기 때문에 이론적으로 더 높은 Murphy’s E score를 갖는 다항식을 발견할 수 있다. 그러나 RSA-1024와 같은 대형 모듈러스에 대해서는 이러한 전수조사 방식이 현실적인 시간 내에 수행되기 어렵다는 한계가 존재한다.

반면 제안한 방법은 전체 탐색 공간을 모두 탐색하지 않고, 유망한 구간을 중심으로 탐색을 반복하는 방식으로 동작하므로, 제한된 시간과 자원 내에서 상대적으로 우수한 다항식 후보를 빠르게 탐색할 수 있다. 이러한 특성은 특히 전수조사가 사실상 불가능한 대형 입력에서 실용적인 장점으로 작용한다.

또한 RSA-1024에 대한 실험 결과는 일반적인 성능 향상을 입증하기 위한 것이 아니라, 전수조사가 어려운 환경에서 탐색 방향을 제시하는 실험적 참조점(reference point)을 제공하는 것으로 해석하는 것이 적절하다. 이는 기존 접근에서 명확히 정의되지 않았던 탐색 방법에 대해 하나의 탐색 방향성을 제공한다는 점에서 의미를 가진다.

종합하면, RSA-1024와 같이 대규모 인수분해 문제에서는 제안한 방법이 전수조사 기반 접근을 대체하는 이론적 방법이라기보다는, 제한된 계산 환경에서 유망한 다항식 후보를 효율적으로 탐색할 수 있는 실용적인 대안으로 해석할 수 있다.

VI. 결론

정수 인수분해 문제는 수학적으로 매우 어려운 문제로 알려져 있으며, 실제 공격 관점에서는 GNFS가 가장 효율적인 범용 인수분해 알고리즘으로 활용된다. GNFS의 전체 수행 성능은 polynomial selection을 포함한 다양한 파라미터 설정에 영향을 받으며, 특히 선택된 다항식의 품질은 이후 단계의 효율성과 밀접하게 연결된다. 이러한 이유로 polynomial selection 단계에서의 파라미터 탐색은 GNFS 성능을 좌우하는 중요한 요소로 볼 수 있다.

기존의 polynomial selection 과정은 경험적 규칙이나 전수조사에 가까운 탐색 방식에 의존하는 경향이 있으며, 특히 RSA-1024와 같은 대형 입력에 대해서는 현실적인 시간 내에 충분한 탐색을 수행하기 어려운 문제가 존재한다. 본 연구에서는 이러한 파라미터 탐색 문제를 학습 기반 탐색 문제로 재구성하고, 강화학습 기법인 PPO를 적용하여 polyselect 환경에서의 탐색 과정을 실험적으로 분석하였다.

실험 결과, PPO 기반 탐색은 다양한 파라미터 조합을 반복적으로 탐색하면서 기존 설정과 비교하여 더 높은 Murphy’s E score를 갖는 다항식 후보를 발견하는 경향을 보였다. 이러한 결과는 polynomial selection 단계에서의 파라미터 탐색 방식이 다항식 품질에 영향을 주며, 이는 학습 기반 접근이 하나의 탐색 전략으로 활용될 수 있음을 시사한다. 또한 RSA-1024와 같이 전수조사가 현실적으로 어려운 대형 모듈러스에 대해서는, 제안한 접근이 제한된 계산 자원 내에서 유망한 파라미터 영역을 탐색하는 데 활용될 수 있음을 확인하였다.

종합하면, 본 연구는 GNFS polynomial selection 문제를 학습 기반 탐색 관점에서 재구성하고, 실제 CADO-NFS 환경에서 PPO를 적용한 사례를 제시하였다. 이를 통해 기존의 경험적 파라미터 조정 방식에 대해 자동화된 탐색 접근을 적용할 수 있는 가능성을 확인하였다. 본 연구는 강화학습 기반 접근이 기존 방법을 대체하기보다는, 보완적인 탐색 전략으로 활용될 수 있음을 시사하며, 고비용 파라미터 탐색 문제에 대한 학습 기반 접근의 적용가능성을 탐색적으로 제시하는 데 의의를 가진다.

향후 연구에서는 강화학습의 방법으로서, PPO 외에도 SAC, Bayesian Optimization, Random Search 등 다양한 탐색 기법과의 비교를 통해 보다 체계적인 분석을 수행하고, polynomial selection을 넘어 sieving 및 linear algebra 단계를 포함한 전체 GNFS 파이프라인으로 확장할 수 있을 것이다. 또한 보상 설계 및 탐색 전략에 대한 정교화와 함께, 고비용 black-box 환경에서의 학습 기반 탐색의 수렴 특성과 효율성에 대한 이론적 분석이 추가적으로 이루어질 필요가 있다.

References

  1. R. L. Rivest, A. Shamir, and L. Adleman, "A method for obtaining digital signatures and public-key cryptosystems," Communications of the ACM, vol. 21, no. 2, pp. 120-126, Feb. 1978. https://doi.org/10.1145/359340.359342
  2. R. Crandall and C. Pomerance, Prime Numbers: A Computational Perspective, 2nd ed., Springer, 2005.
  3. B. Murphy, Modular polynomials for the number field sieve, Ph.D. dissertation, Australian National University, 1999.
  4. E. Thomé, P. Zimmermann, et al., "CADO-NFS, an implementation of the number field sieve algorithm," 2011. [Online]. Available: https://cado-nfs.inria.fr
  5. R. S. Sutton and A. G. Barto, Reinforcement Learning: An Introduction, 2nd ed., MIT Press, 2018.
  6. L. Ouyang et al., "Training language models to follow instructions with human feedback," arXiv preprint arXiv:2203.02155, 2022.
  7. J. Schulman, F. Wolski, P. Dhariwal, A. Radford, and O. Klimov, "Proximal policy optimization algorithms," arXiv preprint, arXiv:1707.06347, 2017.
  8. P. L. Montgomery, "A block Lanczos algorithm for finding dependencies over GF(2)," in International Conference on the Theory and Applications of Cryptographic Techniques (EUROCRYPT '95), pp. 106-120, May 1995.
  9. D. Coppersmith, "Solving linear equations over GF(2) using the block Wiedemann algorithm," Mathematics of Computation, vol. 62, no. 205, pp. 333-350, Jan. 1994. https://doi.org/10.1090/mcom/1994-62-205
  10. C. Stahlke and T. Kleinjung, "Ideas for finding better polynomials to use in GNFS," in Workshop on Factoring Large Numbers, Discrete Logarithms and Cryptanalytical Hardware, 2008.
  11. S. J. A. Vloemans, A Proximal Policy Optimization Algorithm for Solving Logistical Optimization Problems, Master's thesis, Eindhoven University of Technology, 2021.
  12. X.-C. Wu, J. Song, and Y. Li, "Deep reinforcement learning for exact combinatorial optimization: Learning to branch," arXiv preprint, arXiv:2206.12399, 2022.
  13. A. Rizki, A. Touil, A. Echchatbi, R. Oucheikh, and M. Ahlaqqach, "A reinforcement learning-based proximal policy optimization approach to solve the economic dispatch problem," Engineering Proceedings, vol. 97, no. 1, 2025. https://doi.org/10.3390/engproc2025097024
  14. H. Maghrebi, T. Portigliatti, and E. Prouff, "Breaking cryptographic implementations using deep learning techniques," in International Conference on Security, Privacy, and Applied Cryptography Engineering (SPACE 2016), pp. 3-26, Nov. 2016.
  15. A. Gohr, "Improving attacks on round-reduced Speck32/64 using deep learning," in Annual International Cryptology Conference (CRYPTO 2019), pp. 150-179, Aug. 2019.
  16. F. Boudot, P. Gaudry, A. Guillevic, N. Heninger, E. Thomé, and P. Zimmermann, "Comparing the difficulty of factorization and discrete logarithm: a 240-digit experiment," in Annual International Cryptology Conference (CRYPTO 2020), pp. 62-91, Aug. 2020.