Binary Independence Model

From formulasearchengine
Revision as of 01:34, 21 March 2013 by en>Addbot (Bot: Migrating 1 interwiki links, now provided by Wikidata on d:q3531721)
Jump to navigation Jump to search

Template:Multiple issues

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 Rn. Also there exists a k such that L=Zb1Zbk, where B=(b1,b2,,bk) is a basis of L. The LLL algorithm computes a basis (b1*,b2*,,bk*) of short vectors. If k=n, the determinant of the lattice is given by det(L)=det(B); in general det(L)||bi*||.

For any LLL reduced basis (b1*,b2*,,bk*) it holds that ||bk*||(det(L))1/k2(1k)/4, see.[2]

Let F(x)=xn+an1xn1++a1x+a0 and assume that F(x0)0modM 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 p1(x),p2(x),,pn(x) 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 F2(x)=cipi(x) 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.

See also

Coppersmith's Attack

References

  1. Lattice Basis Reduction Algorithms (http://www.farcaster.com/papers/sm-thesis/node7.html)
  2. A. Bauer and A. Joux, Toward a Rigorous Variation of Coppersmith’s Algorithm on Three Variables, Springer, LNCS 4515, 2007