RSA 비밀 지수 d에 대한 새로운 Wieners 공격 변형
본 논문은 기존 Wieners 공격의 한계를 극복하기 위해, 연속분수 근사와 디오판틴 근사 이론을 결합한 새로운 알고리즘을 제시한다. 비밀 지수 d가 d = D·n^{0.25} 형태일 때, 기존 O(D²) 복잡도를 O(D log D)로 낮추고, 추가적인 메모리 O(D)를 사용한다. 핵심은 후보 d를 rq_{m+1}+sq_m 형태로 생성하고, “meet‑in
초록
본 논문은 기존 Wieners 공격의 한계를 극복하기 위해, 연속분수 근사와 디오판틴 근사 이론을 결합한 새로운 알고리즘을 제시한다. 비밀 지수 d가 d = D·n^{0.25} 형태일 때, 기존 O(D²) 복잡도를 O(D log D)로 낮추고, 추가적인 메모리 O(D)를 사용한다. 핵심은 후보 d를 rq_{m+1}+sq_m 형태로 생성하고, “meet‑in‑the‑middle” 기법으로 효율적으로 검증하는 것이다.
상세 요약
Wieners 공격은 e/n의 연속분수 전개에서 d가 특정 수렴분수의 분모가 되는 성질을 이용한다. 이때 d < n^{0.25}이면 d는 p_m/q_m 중 하나가 되므로, 단순히 연속분수 전개만으로도 비밀 지수를 복구할 수 있다. 그러나 실제 RSA 구현에서는 d가 이 한계보다 약간 크게 설정되는 경우가 많아, 기존 확장 방법들은 d = D·n^{0.25} (D>1)인 상황에서 O(D²) 시간 복잡도를 갖는다. 이는 후보 d를 이중 루프 형태로 탐색하면서 각각에 대해 (e·d−1) mod φ(n) = 0인지 검증하기 때문이다.
본 논문은 두 가지 수학적 도구를 결합한다. 첫째, 연속분수 전개에서 얻어지는 기본 수렴분수 (q_m, q_{m+1})를 기반으로, d를 rq_{m+1}+sq_m 형태로 표현한다. 여기서 r과 s는 정수이며, |r|,|s| ≤ D가 된다. 둘째, 디오판틴 근사 이론인 |α−p/q| < c/q² 형태의 부등식을 이용해, α = e/n 근사값에 대해 가능한 (r,s) 쌍을 제한한다.
핵심적인 알고리즘 설계는 “meet‑in‑the‑middle” 전략이다. 후보 집합을 r과 s 두 축으로 나누어 각각의 부분합을 사전표에 저장하고, 반대쪽 축에서 보완되는 값을 탐색한다. 이렇게 하면 전체 후보 조합을 전부 검증하지 않아도, O(D log D) 시간 안에 올바른 (r,s) 쌍을 찾을 수 있다. 메모리 사용량은 사전표에 D개의 항목을 저장하는 정도이므로 O(D)이다.
복잡도 분석에서는 먼저 후보 (r,s) 쌍의 총 개수가 O(D²)임을 확인한다. 그러나 meet‑in‑the‑middle을 적용하면 각 축에 대해 O(D)개의 정렬된 리스트를 만든 뒤, 이진 탐색을 수행하므로 전체 연산량은 O(D log D)로 감소한다. 또한, 각 후보에 대해 φ(n) 검증을 수행하는 비용은 상수 시간(모듈러 연산)으로 가정한다.
보안 측면에서 이 결과는 d가 n^{0.25}보다 약간 큰 경우에도 실용적인 위험을 제시한다. 특히, D가 수백 정도인 경우에도 몇 초 내에 비밀 지수를 복구할 수 있음을 실험 결과가 보여준다. 따라서 RSA 구현자는 d를 n^{0.25}보다 충분히 크게, 예를 들어 d > n^{0.3} 정도로 설정하거나, 추가적인 방어 메커니즘(패딩, 변형된 모듈러 연산 등)을 도입해야 한다.
📜 논문 원문 (영문)
🚀 1TB 저장소에서 고화질 레이아웃을 불러오는 중입니다...