+++
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.  
  

