Teorema lui Coppersmith

Teorema lui Coppersmith ( metoda lui Coppersmith) este o teoremă care vă permite să găsiți efectiv toate zerourile polinoamelor normalizate modulo o anumită valoare. [unu]

Teorema este folosită în principal pentru atacuri asupra criptosistemului RSA . Această metodă este eficientă dacă exponentul de codificare este suficient de mic sau când o parte a cheii secrete este cunoscută . Teorema este, de asemenea, legată de algoritmul LLL .

Descriere

Introducere

Teorema propune un algoritm pentru găsirea eficientă a rădăcinilor unui polinom normalizat modulo , care sunt mai mici decât . Dacă este mic, atunci algoritmul va rula mai repede. Avantajul teoremei este capacitatea de a găsi rădăcini mici ale unui polinom modulo . Dacă modulul este un număr prim, atunci nu are rost să folosim teorema lui Coppersmith . Va fi mult mai eficient să folosiți alte moduri de a găsi rădăcinile unui polinom. [unu]

Exponent mic de codare

Pentru a reduce timpul de criptare sau de verificare a semnăturii, este de dorit să folosiți un mic (exponent de codificare). Cea mai mică valoare posibilă este , dar se recomandă utilizarea (pentru a proteja împotriva unor atacuri). Când se utilizează valoarea , sunt necesare 17 înmulțiri pentru a verifica semnătura ( , unde  este ordinea grupului multiplicativ , poate aproximativ 1000). Atacurile concentrate pe utilizarea de mici nu sunt întotdeauna eficiente.

Cele mai puternice atacuri asupra exponentului mic de codare se bazează pe teorema lui Coppersmith , care are multe aplicații, dintre care una este atacul Hasted. [2]

Atacul lui Hasted

Să presupunem că un expeditor trimite același mesaj în formă criptată unui anumit număr de persoane , fiecare dintre aceștia folosind același mic exponent de codare , să zicem , și perechi diferite și . Expeditorul criptează mesajul folosind pe rând cheia publică a fiecărui utilizator și îl trimite destinatarului corespunzător. Apoi, dacă adversarul ascultă canalul de transmisie și colectează textele cifrate transmise , atunci el va putea recupera mesajul .

Dovada

Să presupunem că inamicul a interceptat și , unde . Presupunem că sunt relativ primi , altfel cel mai mare divizor comun , altul decât unitatea, însemna găsirea unui divizor al unuia dintre . Aplicând teorema chineză a restului la și obținem , astfel încât , care are valoarea . Cu toate acestea, știind asta , obținem . Prin urmare , adică adversarul poate decripta mesajul luând rădăcina cubă a .

Pentru a recupera un mesaj cu orice valoare a exponentului de codificare deschis , este necesar ca adversarul să intercepteze textele cifrate .

Formulare

Fie și un polinom normalizat de grad . Să , . Apoi, având în vedere perechea, atacatorul va găsi efectiv toate numerele întregi satisfăcătoare . Timpul de execuție este determinat de execuția algoritmului LLL pe o rețea de dimensiune , unde . [unu]

Dovada

Fie un număr natural , pe care îl vom defini mai târziu. Să definim

Folosim polinoamele pentru și ca bază pentru rețeaua noastră . De exemplu, când și obținem o matrice latice acoperită de rânduri:

,

unde „—” denotă elemente nenule în afara diagonalei a căror valoare nu afectează determinantul . Mărimea acestei rețele este , iar determinantul său se calculează după cum urmează:

Noi cerem asta . asta implică

care poate fi simplificat la

,

unde si pentru toti . Dacă luăm , atunci obținem a, prin urmare, și . În special, dacă vrem să rezolvăm pentru un arbitrar , este suficient să luăm , unde . [3]

Vezi și

Note

  1. ↑ 1 2 3 Dan Boneh. Douăzeci de ani de atacuri asupra criptosistemei RSA . Consultat la 25 noiembrie 2016. Arhivat din original la 26 martie 2016.
  2. Ushakov Konstantin. Hackerea sistemului RSA . Data accesului: 25 noiembrie 2016. Arhivat din original la 1 decembrie 2016.
  3. Glenn Durfee. CRIPTANALIZA RSA FOLOSIND METODE ALGEBRICE ȘI LATICĂ (iunie 2002). Data accesului: 30 noiembrie 2016. Arhivat din original pe 4 martie 2016.