- Coppersmith method
-
The Coppersmith method, proposed by Don Coppersmith, is a method to find small integer roots of polynomial equations. These polynomials can be univariate or bivariate. In cryptography the algorithm is mainly used in attacks on RSA when parts of the secret key are known.
The method uses the LLL algorithm [1] to find a polynomial that has the roots of the target polynomial as roots and has small coefficients.
Coppersmith’s method is based on lattice reduction. A lattice L is a subgroup of . Also there exists a k such that , where is a basis of L. The LLL algorithm computes a basis of short vectors. If k=n, the determinant of the lattice is given by det(L)=det(B); in general .
For any LLL reduced basis it holds that , see [2].
Let and assume that for some integer | x0 | < M1 / n. Coppersmith’s algorithm can be used to find this integer solution x0.
Finding roots over Q is easy using e.g. Newton's method but these algorithms do not work modulo a composite number M. The idea behind Coppersmith’s method is to find a different polynomial F2 related to F that has the same x0 as a solution and has only small coefficients. If the coefficients and x0 are so small that F2(x0) < M over the integers, then x0 is a root of F over Q and can easily be found.
How to find small roots using Coppersmith's method
Coppersmith’s approach is a reduction of solving modular polynomial equations to solving polynomials over the integers. Coppersmith's algorithm uses LLL to construct the polynomial F2 with small coefficients.
Given F, the algorithm constructs polynomials that have the same x0 as root modulo Ma, where a is some integer chosen dependent on the degree of F and the size of x0. Any linear combination of these polynomials has x0 as root modulo Ma.
The next step is to use the LLL algorithm to construct a linear combination of the pi so that the inequality | F2(x) | < Ma holds. Now standard factorization methods can calculate the roots of F2(x) over the integers.
References
- ^ Lattice Basis Reduction Algorithms (http://www.farcaster.com/papers/sm-thesis/node7.html)
- ^ A. Bauer and A. Joux, Toward a Rigorous Variation of Coppersmith’s Algorithm on Three Variables, Springer, LNCS 4515, 2007
Categories:- Theory of cryptography
Wikimedia Foundation. 2010.