코퍼스미스법

Coppersmith method

Don Coppersmith가 제안Coppersmith 방법은 주어진 정수의 일변량 또는 이변량 다항식 모듈로의 작은 정수 0을 찾는 방법입니다.이 방법은 LLL(Lenstra-Lenstra-Lovashz 격자 기준 감소 알고리즘)을 사용하여 목표 다항식과 0이 같지만 계수가 더 작은 다항식을 찾습니다.

암호학에서 Coppersmith 메서드는 주로 비밀키의 일부가 알려진 경우 RSA 공격 사용되며 Coppersmith 공격의 기반이 됩니다.

접근

코퍼스미스의 접근법은 모듈 다항식 방정식을 정수에 대한 다항식 해법으로 줄이는 것이다.

F())=-1n+an− 1)n일부 정수)0<>에 − 1+…+a1x+0{\displaystyle F())=x^{n}+a_{n-1}x^{n-1}+\ldots +a_{1}x+a_{0}}과 F(Mmod){\displaystyle F(x_{0})\equiv 0{\pmod{M}}≡ 0(x0)를 취하다};M1/n{\displaystyle x_{0}<>자.M^{1/n}}. Coppersmithlgorithm을 사용하여 이 정수 00을 찾을 수 있습니다.

들어, 뉴턴의 방법처럼 Q에 대한 루트를 찾는 것은 쉽지만, 그러한 알고리즘은 복합수 M에 대해 모듈화되지 않는다.Coppersmith의 방법 뒤에 있는 아이디어는 루트 M은 같지만 계수가 작은 F와 관련된 다른 다항식 f를 찾는 것입니다.계수 및 0})이 f 0 < f < 0) 0 0이므로 0(\ f의 루트이고 쉽게 찾을.보다 일반적으로,f(x와 같은 0 다항식 찾을 수 있으며, f( < a { f < 를 만족하며 해결합니다.

코퍼스미스 알고리즘은 LLL(Lenstra-Lenstra-Lovashz 격자 기준 감소 알고리즘)을 사용하여 계수가 작은 다항식 f를 생성한다.F를 지정하면 은 p 1 ( x), (),… , () \ displaystyle ( ( \ , (x 모두 같은 0 { a{ 을 작성합니다.이들 다항식의 선형 조합에는 루트 0 .

단계에서는 LLL 알고리즘을 사용하여 (x선형 조합 {displaystyle f)=\sum {i { { { 되도록 .이제 표준 인수분해 방법에서는 정수 위의f () { f 0을 계산할 수 있습니다.

실장

일변량 다항식을 위한 코퍼스미스의 방법은 다음과 같이 구현된다.

  • 함수로서의 마그마SmallRoots;
  • 함수로서의 PARI/GPzncoppersmith;
  • 방법으로서의 SageMathsmall_roots.

레퍼런스

  • Coppersmith, D. (1996). "Finding a Small Root of a Univariate Modular Equation". Lecture Notes in Computer Science. 1070: 155–165. doi:10.1007/3-540-68339-9_14. ISBN 978-3-540-61186-8.
  • Coppersmith, D. (1996). "Finding a Small Root of a Bivariate Integer Equation; Factoring with high bits known". Lecture Notes in Computer Science. 1070: 178–189. doi:10.1007/3-540-68339-9_16. ISBN 978-3-540-61186-8.
  • Coron, J. S. (2004). "Finding small roots of bivariate integer polynomial equations revisited" (PDF). Lecture Notes in Computer Science. 3027: 492–505. doi:10.1007/978-3-540-24676-3_29.
  • Bauer, A.; Joux, A. (2007). "Toward a Rigorous Variation of Coppersmith's Algorithm on Three Variables". Lecture Notes in Computer Science. 4515: 361–378. doi:10.1007/978-3-540-72540-4_21. ISBN 978-3-540-72539-8.
  • Coron, J. S. (2007). "Finding small roots of bivariate integer polynomial equations: A direct approach" (PDF). Lecture Notes in Computer Science. 4622: 379–394. doi:10.1007/978-3-540-74143-5_21.