Puncte:2

Există vreun motiv pentru a căuta valori Z, altele decât 1, atunci când transformați X,Y în reprezentarea jacobiană a unui punct EC?

drapel om

Când schimb o cheie publică, de obicei primesc o formă comprimată de X Y coordonate. Pentru a folosi niște accelerații, ar trebui să reprezint asta în iacobean x,y,z formă.

Z=1 satisface totul și uitându-se la viteze (https://en.wikibooks.org/wiki/Cryptography/Prime_Curve/Jacobian_Coordinates, http://www.hyperelliptic.org/EFD/g1p/auto-shortw-jacobian.html) Nu văd un motiv evident pentru care Z=1 ar fi mai lent (sau mai rapid?) decât oricare altul Z, este aceasta o întrebare legitimă? Poți să-mi îndrume într-o direcție despre „are sens să cauți? Z altul decât 1?".

kelalaka avatar
drapel in
Nu e clar? $Z^4$ adica 1 cand $Z=1$ si pentru celelalte cazuri este nevoie de 3 dublari.
T. Rossi avatar
drapel om
mulțumesc pentru răspunsul rapid, când fac o înmulțire a unui punct pentru un număr mare, voi face o grămadă de adunări, dublare, triplare etc, și mă întrebam dacă alegerea unui alt z ar avea un impact. Nu sunt sigur că are sens ca o întrebare mulțumesc din nou pentru răbdare.
kelalaka avatar
drapel in
În înmulțirea scalară, se adună un punct, iar și iar (double-and-add), nu există un punct fix acolo.
Puncte:2
drapel in

Dublarea punctelor (link Wiki) necesită Z^4 și atunci când este utilizat cu algoritmul de dublare și adăugare (necesar pentru calcularea punctelor publice, ECDH și semnături bazate pe EC) folosind $Z=1$ simplifică calculul Z^4 altfel poate fi nevoie de 3 dublari. Metoda de dublare și adăugare în care res nu este fix pentru a economisi timp. Dublați și adăugați Wikipedia versiune;

let bits = bit_representation(s) # vectorul de biți (de la MSB la LSB) reprezentând s
fie res = O # punct la infinit
pentru bit in bit:
    res = res + res # dublu
    dacă bit == 1:            
        res = res + P # adaugă
    i = i - 1
returnare res

Acesta este începutul lungii povești. The „M-fold dublu” (dublare repetată) calculează $[2^m]P$ si doar calculeaza Z^4 o singura data. Când ai nevoie $[k]P$, poate fi necesar să reprezentați $k$ în formă binară, apoi utilizați dublarea m-fold atunci când este necesar. Pentru a beneficia de acest lucru, trebuie să calculați costul înainte de a decide să utilizați m-fold double sau nu.

Răspunsul nu este ușor și complet, din moment ce Aceasta cere Z1=Z2 cu 5M + 2S pentru plus versiunea Wiki are 12M + 4S cost. The 5M + 2S are încă Z1 înmulţire şi dacă Z1=1 care are cost zero.

Într-o propoziție scurtă, în general, Z1=1 simplifică ecuațiile.

De cand $(X_1:Y_1:Z_1)$ reprezintă $(Z/Z^2,Y/Z^3)$ și $(X_1:Y_1:Z_1)$ este o relaţie de echivalare care este $$(X_1:Y_1:Z_1) \sim (\lambda X_1:\lambda Y_1:\lambda Z_1)$$ se poate converti simplu $Z_1 =1$ cu $$(X_1/Z_1:Y_1/Z_1:1)$$

Ține minte că 1/Z1 nu este diviziune, ci invers Z1 pe domeniul definitoriu.

The Z1 pe de altă parte, nu rămâne acolo cu Z1=1 sub operațiuni. Pentru a beneficia de aceasta, trebuie să găsiți inversul și să executați două înmulțiri. Găsirea inversă, pe de altă parte, este ceea ce nu ne dorim, deoarece este costisitoare.

Deci, cel puțin există un beneficiu la începutul înmulțirii scalare.

T. Rossi avatar
drapel om
Mulțumesc foarte mult!!
kelalaka avatar
drapel in
Departe de a fi un răspuns perfect, totuși....

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.