Logaritmul discret pe o curbă eliptică este soluția ecuației pentru cunoscut și , unde sunt punctele aparținând curbei eliptice și fiind mesajul criptat și respectiv punctul de plecare [1] . Cu alte cuvinte, este o metodă de a pirata un sistem de securitate bazat pe o curbă eliptică dată (de exemplu, standardul rus EP GOST R 34.10-2012 [2] ) și de a găsi o cheie secretă .
Criptografia eliptică se referă la categoria asimetrică , adică criptarea are loc folosind o cheie publică. Acest algoritm a fost propus pentru prima dată independent de Neil Koblitz și Victor Miller în 1985 [3] . Acest lucru a fost justificat de faptul că logaritmul discret pe o curbă eliptică sa dovedit a fi mai complicat decât logaritmul discret clasic pe un câmp finit . Până acum, nu există algoritmi rapizi pentru spargerea unui mesaj criptat folosind o curbă eliptică în cazul general. Practic , vulnerabilitățile unor astfel de cifruri sunt asociate cu o serie de neajunsuri în selectarea datelor inițiale [4] .
Această metodă se bazează pe reducerea logaritmului discret pe o curbă eliptică la logaritmul discret pe un câmp finit cu o anumită extindere a câmpului pe care a fost dată curba eliptică. Acest lucru simplifică foarte mult sarcina, deoarece în momentul de față există algoritmi subexponențiali suficient de rapizi pentru rezolvarea logaritmului discret, care au complexitate , sau algoritmul lui Pollard cu complexitate , dezvoltați pentru câmpuri finite [5] .
Fie o curbă eliptică dată în forma Weierstrass pe un câmp finit de ordin :
Să presupunem că coeficienții sunt astfel încât curba nu are singularități . Punctele curbei , împreună cu punctul de la infinit , care este elementul zero, formează un grup comutativ scris aditiv , adică pentru . De asemenea, se știe că dacă este un câmp finit, atunci ordinea unui astfel de grup , conform teoremei lui Hasse , va satisface ecuația .
Fie un subgrup de puncte definite peste . Prin urmare, este un grup comutativ finit . Luați un punct care generează un grup ciclic de ordine . Adică [1] .
Sarcina de a calcula logaritmi discreti în este următoarea. Pentru un punct dat , găsiți astfel încât .
Problema calculării logaritmilor discreti într-un câmp finit este următoarea. Fie un element primitiv al câmpului . Pentru o dată diferită de zero găsiți astfel încât [6] .
Fie LCM și o extensie de câmp astfel încât să conțină un subgrup de torsiune izomorf la , adică . Se știe că o asemenea extensie există [7] . De aici rezultă că pentru unii . În acest caz, următoarea teoremă va fi valabilă, care permite trecerea la un logaritm discret într-un câmp finit extins [6] :
Să se acorde un punct astfel încât . Atunci complexitatea calculării logaritmilor discreti în grup nu este mai mare decât complexitatea calculării logaritmilor discreti în .
Pentru a utiliza această teoremă, este necesar să se cunoască gradul de extindere a câmpului peste și punctul pentru care [6] .
Pentru o curbă supersingulară , , și sunt ușor de găsit, în timp ce . Acesta a fost stabilit de Alfred Menezes , Okamoto Tatsuaki și Scott Vanstone în 1993. În articolul lor, ei au descris un algoritm probabilistic pentru calcularea unui punct auxiliar , al cărui timp mediu de rulare este limitat de un polinom în [4] .
Fie subgrupul maxim a cărui ordine a elementelor este produsul factorilor primi . Astfel, și , unde se împarte și . În acest caz (în cazul , metoda pentru curbele supersingulare [6] poate fi adaptată pentru a găsi punctul ). Fie numărul natural minim pentru care .
TeoremaLasă NOK . Atunci și dacă este cunoscută descompunerea în factori primi, atunci există un algoritm probabilistic pentru calcularea punctului pentru care . Timpul mediu de rulare al algoritmului este egal cu operațiile din câmp pentru o constantă și .
În cazurile în care LCM , algoritmul funcționează prea lent, sau nu funcționează deloc [6] .