배경지식

1. 개요

Coppersmith Attack은 RSA 암호 시스템에서 특정 조건 하에 모듈러 다항식의 작은 근을 효율적으로 찾아내는 강력한 공격 기법이다. 1996년 Don Coppersmith가 제안한 이 방법은 RSA의 보안성이 단순히 큰 합성수 $N$의 소인수분해 난이도에만 의존하지 않음을 보여주었다.

2. Coppersmith 정리

Coppersmith 정리는 모듈러 다항식 방정식에서 특정 범위 내의 작은 근을 다항 시간 내에 찾을 수 있음을 보장하는 강력한 이론적 도구이다. 이 정리는 LLL 격자 기저 축약 알고리즘을 핵심 기법으로 활용한다.

2.1 문제 정의

주어진 모듈러 다항식 방정식에서 작은 정수해를 찾는 문제를 정의한다.

2.1.1 기본 설정

<aside> 💡

모닉 다항식

최고차 항의 계수가 1인 다항식을 의미한다.

예를 들어, $f(x) = x^3 + 2x^2 - 5x + 7$은 모닉 다항식이다 (최고차 항 $x^3$의 계수가 1).

반면 $g(x) = 3x^3 + 2x^2 - 5x + 7$은 모닉 다항식이 아니다 (최고차 항의 계수가 3).

</aside>

2.1.2 문제의 난이도

무작위 대입의 비효율성

소인수분해와의 관계

2.2 정리의 핵심 내용

<aside>

Coppersmith 정리:

$f(x)$가 $d$차 모닉 다항식이고, $N$이 충분히 큰 합성수일 때,

$$ |x_0| < N^{1/d - \epsilon} $$

범위 내의 모든 해 $x_0$는 다항 시간 내에 찾을 수 있다. (여기서 $\epsilon > 0$는 임의의 작은 양수)

</aside>

2.2.1 정리의 의미