Puncte:3

Se poate găsi GCD a două puncte de pe o curbă?

drapel ca

Din punct de vedere matematic, este posibil să găsim GCD-ul a două puncte pe o curbă primă, unul dintre ele nefiind ordinea așa cum o faci în Extended Euclidean Algorithm?

poncho avatar
drapel my
Ce ar însemna „GCD-ul a două puncte pe o curbă primă”?
meshcollider avatar
drapel gb
Nu există „diviziunea” sau „înmulțirea” punctelor pe o curbă, deci nu poate exista nici „cel mai mare divizor comun”
Puncte:3
drapel ng

TLDR: Dacă ne specializăm un punct generator $G$ dintr-un grup de curbe eliptice de ordin prim, putem în mod constant defini GCD-ul a două puncte pentru acel generator. Dar nu putem eficient găsi este pentru puncte arbitrare și un grup de interes criptografic, unde problema logaritmului discret este grea.


Înainte de a găsi ceva, trebuie să știm despre ce este vorba. De aici subîntrebarea lui Poncho:

Ce ar însemna „GCD-ul a două puncte pe o curbă primă”?

GCD înseamnă Cel mai mare divizor comun. Astfel, trebuie să definim trei noțiuni

  • Ce este o „curbă primă”. In acest, curba reprezintă Curba eliptică. Și prim este o proprietate a fiecăreia
    • baza câmp finitordinea lui (acea ordine primă este adesea notă $p$, iar apoi câmpul este pur și simplu numerele întregi modulo $p$);
    • ordinea curbei, adică câte elemente din grup finit a punctelor curbei, inclusiv neutrul;
    • sau ordinul a subgrup a curbei (apoi adesea notat $n$, așa cum vom face).
  • Noțiunea de „divizor” a unui punct al unei curbe eliptice prime, pe care o vom presupune că este un punct al curbei eliptice cu o anumită proprietate de definit.
  • Noțiunea de „cel mai mare” dintre punctele unei curbe eliptice.

Putem defini astfel de lucruri în mod constant! Presupunem că o „curbă primă” este un subgrup de ordin prim $n$ a unei curbe eliptice (poate întreaga curbă, care poate folosi un câmp prim; de ex. secp256k1, secp256r1), și $G$ un punct dat al curbei / un element al grupului, altul decât neutru. Acum setul de $n$ numere întregi în $[0,n)$ este izomorf cu curba, prin izomorfismul trivial $i\mapsto i\,G$ definit ca de obicei: $0\,G$ este neutru al grupului, $i\,G$ este $((i-1)\,G)+G$ pentru orice $i\în[1,n)$ cu $+$ legea grupului.

Putem defini „divizor” și „cel mai mare” pe platou $[0,n)$. Și putem defini GCD-ul a două elemente ale acelui set (împreună cu oarecum arbitrar $\gcd(0,0)=0$ ). Apoi putem folosi acest izomorfism pentru a defini cel mai mare divizor comun al două puncte dintr-un grup de curbe eliptice de ordin prim prevăzut cu un punct generator $G$.

Cu alte cuvinte, definesc GCD-ul de puncte $P$ și $Q$ ca punct în care cheia privată corespunzătoare (pentru generator $G$) este GCD-ul cheilor private care se potrivesc $P$ și $Q$, cu cheie privată corespunzătoare un număr întreg în $[0,n)$.

Dacă putem rezolva eficient problema logaritmului discret în grupul considerat, atunci putem calcula eficient GCD (rezolvăm două DLP, calculăm GCD-ul numerelor întregi și revenim la curbă).

Actualizare: invers este adevărat într-o oarecare măsură. Dacă putem calcula eficient GCD-ul de orice două puncte $P$ și $Q$, atunci putem folosi acel algoritm pentru a calcula eficient logaritmul discret $i$ din oricare $P$. Schiță: selectăm primele prime $r_j$ pana cand $n<\prod r_j$, și pentru fiecare $j$ găsim $i\bmod r_j$ prin solicitarea GCD-ului de $(P+k\,G,r_j\,G)$ care este fie $G$ sau $r_j\,G$, în cazul ulterior dezvăluind că $i+k\equiv0\pmod{r_j}$. Apoi găsim $i$ de teorema chineză a restului. Optimizările sunt posibile pentru a grupa un număr considerabil de interogări într-una singură. De exemplu. depune $(P+k\,G,30\,G)$ și testează dacă rezultatul este $G$, $2\,G$, $3\,G$, $5\,G$, $6\,G$, $10\,G$, $15\,G$ sau $30\,G$. Reduceri suplimentare sunt posibile prin calcularea logaritmului discret al ieșirii oracolului folosind variante Baby-Step/Giant-Step.

Nu cunosc nicio aplicație, în criptografie sau altfel.

meshcollider avatar
drapel gb
Deci îl interpretezi ca GCD-ul „cheilor secrete”?
fgrieu avatar
drapel ng
@meshcollider : în esență da, și ți-am furat formularea într-o revizuire a răspunsului, cu o reformulare astfel încât GCD-ul de puncte să fie un punct.
poncho avatar
drapel my
Două lucruri: 1) o astfel de definiție a „GCD din două puncte” ar depinde de ceea ce este $G$” (dacă selectăm un alt $G$, GCD-ul a două puncte este diferit) 2) având în vedere o funcție care calculează GCD așa cum este specificat, se poate calcula eficient DLog-urile (deci nu este mai ușor decât problema DLog)
fgrieu avatar
drapel ng
@poncho: 1) da, și am avut grijă să o precizez cu „provided with a generator point $G$” (traducere provizorie a _muni d'un générateur_, care ar avea sensul dorit în franceză, dar eu nu stiu daca se intelege in engleza). 2) Mulțumesc, la început nu știam. Am actualizat răspunsul cu o dovadă, dar nu este strict: necesită să putem calcula eficient GCD-ul oricăror două puncte $P$ și $Q$. Mă întreb dacă acest lucru poate fi îmbunătățit și cum.
Puncte:2
drapel lu

Versiunea scurtă este că nu puteți defini GCD-ul de puncte, deoarece aceasta ar necesita mai întâi definirea unei noțiuni explicite de comparare a secvenței lor ordonate, adică. o modalitate de a testa $[k]P > [j]P , k>j$ și $P \în E$, Unde $E$ este setul de puncte definit de curba eliptică și generatorul respectiv $P$.

O astfel de comparație de ordine se referă la noțiunea de distanță între $[k]P$ și $[j]P$ în interiorul spațiului definit. Referitor la distanţele într-un câmp finit cu p elemente $F_p$ Unde $E$ este definit, din păcate nu putem compara distanța în niciun fel în $F_p$.

După cum a afirmat Silverman, există o modalitate bună de a defini distanța dintre elemente în $Z_p$ și $Q_p$, dar nu există o modalitate bună de a defini distanța dintre elementele lui $F_p$, nici pentru punctele de pe curbele eliptice ale căror coordonate sunt în $F_p$.

Există o hartă naturală $E(Q_p) la E(F_p)$ dar, din păcate, nu există o hartă inversă bună. Silverman discută acest lucru în lucrarea următoare, în contextul încercării de a ridica și apoi de a utiliza liftul pentru a rezolva ECDLP.

Lifting and elliptic curve discrete logarithms, Selected Areas of Cryptography (SAC 2008), Lecture Notes in Computer Science 5381, Springer--Verlag, Berlin, 2009, 82-102.

kodlu avatar
drapel sa
răspunsul tău contrazice celălalt răspuns? va rog comentati
G. Stergiopoulos avatar
drapel lu
Doua lucruri. În primul rând, ofer un răspuns clar la întrebarea inițială de ce nu puteți crea un algoritm adecvat pentru GCD, explicând de ce/cum nu puteți transfera algoritmul euclidian în grupul de curbe eliptice pe un câmp finit din cauza lipsei unei definiții adecvate. de distanta. Cred că acest lucru nu este oferit de primul răspuns care detaliază cum ar putea fi un algoritm, dar nu oferă de fapt un răspuns dacă acest lucru se poate întâmpla sau nu. [continuare]
G. Stergiopoulos avatar
drapel lu
[continuare] În al doilea rând, susțin că nu puteți _defini_ GCD-ul a două puncte așa cum s-a menționat în răspunsul anterior, deoarece o definiție trebuie să fie riguros exactă pe baza unor seturi/legi specifice pe care le subliniez aici: Adică, deoarece distanța sau comparația cu elemente ordonate nu poate fi definit, atunci răspunsul anterior nu este o definiție, ci o teorie (deși una gânditoare).
kodlu avatar
drapel sa
mulțumesc pentru comentariile tale ample
poncho avatar
drapel my
De asemenea, dacă avem o modalitate, având în vedere $[j]G$, $[k]G$, de a determina dacă $j > k$, o putem folosi pentru a calcula eficient jurnalele discrete (folosind căutarea binară) - prin urmare, vom sper ca este o problema grea.
G. Stergiopoulos avatar
drapel lu
Corect @poncho. Dar sunt destul de sigur, așa cum am explicat în răspunsul meu, că (cel puțin această problemă) nu este cu siguranță rezolvabilă folosind transformări cunoscute.
fgrieu avatar
drapel ng
Sunt de acord că nu putem defini o distanță, sau un divizor, deci GCD, pe o curbă eliptică _singură_. Dar putem dacă adăugăm un punct generator $G$ (implicând că este o curbă de ordin prim). Distanța dintre $P$ și $Q$ pe curbă este cel mai mic număr întreg $d\in[0,\lfloor n/2\rfloor)$ astfel încât $P=Q+d\,G$ sau $Q=P +d\,G$. $P$ împarte $Q$ cu $P/Q=R$ dacă există $u,v,w\in[0,n)$ cu $P=u\,G$, $Q=v\,G$, $R=w\,G$, $v\ne0$ și $u=v\,w$.
G. Stergiopoulos avatar
drapel lu
Nu putem defini distanța nici măcar folosind generatorul ca punct de referință. Lasă-mă să explic. Ceea ce descrieți este o noțiune de distanță pe multiplicatorii _scalari_, care nu este aceeași cu distanța a două puncte. GCD-ul punctelor de pe curbă necesită noțiunea de comparație pe plan. Efectiv, compararea scalarului este un fel de transformare în acest sens. Dar, așa cum explic în răspunsul meu, cel puțin până la cunoștință, măsurătorile distanței în planuri complexe sau întregi în câmpuri finite sunt imposibile și acesta este motivul real pentru care comparația dvs. scalară nu poate defini un GCD pe curbe.
fgrieu avatar
drapel ng
Nu văd nimic greșit în definiția pe care o dau în răspunsul meu sau în comentariul meu anterior (extins). [actualizat]: Sunt de acord că acesta este _nu_ un GCD pe curbă, ci un GCD pe curbă luat cu un anumit generator. Sunt de acord că nu există o modalitate eficientă de a calcula acest GCD, spre deosebire de un GCD normal, cu excepția cazului în care DLP-ul este ușor pentru grupul luat în considerare. Și sunt de acord că nu văd nicio aplicație la această noțiune.
G. Stergiopoulos avatar
drapel lu
Nu este vorba despre răspunsul tău greșit, abordarea ta algoritmică este bună în teorie. Răspund la *de ce* nu puteți găsi o modalitate de a vă folosi abordarea pentru a crea efectiv un GCD funcțional, motivul matematic care stă la baza limitărilor geometriei și ceea ce a făcut un expert în domeniu (Silverman) în căutarea acestui răspuns.Efectiv, argumentul meu matematic este ceea ce a spus Silverman despre distanță. Al doilea argument al meu este că răspunsul tău este un algoritm teoretic și nu o definiție a GCD așa cum sa explicat în comentariul anterior.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.