ECDLP (Elliptic Curve Discrete Logarithm Problem) este o problemă de logaritm discret într-un grup de puncte ale unei curbe eliptice .
Să fie date o curbă eliptică E, un câmp finit F p , și punctele P, Q ∈ E(F p ). Sarcina ECDLP este să găsească un astfel de k, dacă există, încât Q = [k]P.
O curbă eliptică E peste un câmp finit F p este o curbă de forma (forma Weierstrass):
, unde a, b ∈ F p .Mulțimea punctelor de pe o curbă eliptică din câmpul F p , inclusiv punctul „infinit” (notat cu Ο), formează un grup abelian finit și este notat cu E(F p ) .
Un punct Q ∈E (F p ) se numește punct invers față de P ∈ E(F p ) dacă P + Q = Ο și se notează Q = -P .
Pentru un număr natural n și P ∈ E(F p ) presupunem:
Notațiile [n]P și nP sunt echivalente. Definiția poate fi extinsă la orice număr întreg n folosind -P.
Ordinea unui grup de puncte este numărul N egal cu cardinalitatea mulțimii E(F p ) și se notează |E(F p )| =N . De obicei, în criptografia eliptică, curbele sunt luate astfel încât N = h * l, unde h = 1, 2 sau 4 și l este un număr prim mare.
Ordinea unui punct P ∈ E(Fp) este numărul minim s astfel încât [s]P = Ο. În acest caz, se formează un subgrup și punctul P se numește generator .
Este cel mai simplu atac de implementat. Este necesar doar să se poată efectua operația R = [k]P.
AlgoritmComplexitatea algoritmului: Ο(N).
Fie G un subgrup al lui E(F p ), (adică se presupune că numărul N poate fi factorizat) și .
Vom rezolva problema găsirii k modulo , apoi, folosind teorema chineză a restului , vom găsi soluția k modulo N.
Din teoria grupurilor se știe că există un izomorfism de grup:
unde este un subgrup ciclic al lui G,
Apoi proiecția pe :
Prin urmare, în .
Să arătăm cum să rezolvăm problema în , reducând-o la rezolvarea ECDLP în .
Lasă și .
Numărul este definit modulo . Atunci k poate fi scris sub următoarea formă:
Să găsim valorile prin inducție. Să presupunem că știm - valoarea , adică
Acum vrem să determinăm și astfel să calculăm :
Apoi .
Lasă și apoi
Acum - elementul de ordine , pentru a obține elementul de ordine și, prin urmare, pentru a reduce problema la este necesar să se înmulțească expresia anterioară cu . Acea.
șiA primit ECDLP pe teren ca .
Presupunând că această problemă poate fi rezolvată în , găsim soluția în . Folosind teorema chineză a restului, obținem soluția ECDLP în .
După cum sa menționat mai sus, în practică, curbele eliptice sunt luate astfel încât , unde este un număr prim foarte mare, ceea ce face ca această metodă să fie ineficientă.
Exemplu
Pasul 1. Găsiți
Pasul 2. Găsiți
Pasul 3. Găsiți
Pasul 4. Găsiți
Fie un subgrup ciclic al .
Să o punem sub forma:
De când , atunci .
Calculăm lista de „pași mici” și salvăm perechile .
Complexitatea calculelor: .
Acum calculăm „pașii mari”. Să găsim . _
În timpul căutării, încercăm să găsim printre perechile salvate astfel încât . Dacă a fost posibil să găsești o astfel de pereche, atunci .
Sau, care este la fel:
.Complexitatea calculelor „pașilor mari”: .
În acest caz, complexitatea generală a metodei , dar necesită și memorie pentru stocare, ceea ce este un dezavantaj semnificativ al algoritmului.
AlgoritmFie un subgrup ciclic al .
Ideea principală a metodei este de a găsi perechi distincte și modulo astfel încât .
Apoi sau . Prin urmare, .
Pentru a implementa această idee, alegem o funcție aleatoare pentru iterații și un punct aleatoriu pentru a începe traversarea. Următorul punct este calculat ca .
Deoarece este finit, există indici astfel încât .
Apoi .
De fapt , pentru .
Apoi succesiunea este periodică cu o perioadă (vezi figura).
Deoarece f este o funcție aleatorie, conform paradoxului zilei de naștere , coincidența se va întâmpla după aproximativ iterații. Pentru a accelera căutarea coliziunilor, se utilizează o metodă inventată de Floyd pentru a găsi lungimea ciclului: o pereche de valori pentru este calculată dintr-o dată până când este găsită o potrivire.
AlgoritmComplexitatea algoritmului: .
Exemplu
Pasul 1. Definiți funcția.
Pasul 2. Iterații.
Pasul 3 Detectarea coliziunilor
Bolotov, A. A., Gashkov, S. B., Frolov, A. B., Chasovskikh, A. A. O introducere elementară în criptografia eliptică: fundamente algebrice și algoritmice. - M .: KomKniga, 2006. - S. 328. - ISBN 5-484-00443-8 .
Bolotov, A. A., Gashkov, S. B., Frolov, A. B., Chasovskikh, A. A. O introducere elementară în criptografia eliptică: protocoale de criptare cu curbă eliptică. - M .: KomKniga, 2006. - S. 280. - ISBN 5-484-00444-6 .
Galbraith, SD, Smart, NP RAPORT DE EVALUARE PENTRU CRYPTREC: NIVEL DE SECURITATE AL CRIPTOGRAFII - PROBLEMA MATEMATICĂ ECDLP.
Song Y. Yan Atacuri cuantice asupra criptosistemelor bazate pe ECDLP. - Springer US, 2013 - ISBN 978-1-4419-7721-2