+++ title = "Coppersmith's attack under the hood" date = 2022-05-03 [taxonomies] tags = ["filler"] +++ ## Introduction Finding the roots of polynomials under {{ katex(body="\mathbb{R}") }} or {{ katex(body="\mathbb{Z}") }} is relatively easy, for example by using Newton's method. However, solving polynomials under {{ katex(body="\mathbb{Z}_ n")}} is much more difficult. Coppersmith's method is a method for solving these polynomials for small roots less than {{ katex(body="N^\frac{1}{k}") }} where {{ katex(body="k")}} is the degree of the polynomial. Coppersmith's method relies on **lattice reductions** to create polynomials which are solvable over the integers. Lattice reductions are an important technique for a multitude of attacks on different cryptographic schemes. For example, they can be used to reduce the Merkle-Hellman cryptosystem, Learning with Error, NTRU, and many others.