Zum Hauptinhalt springen

5.2.4 Point Addition (Punktaddition)

5.2.4 Point Addition (Punktaddition)

Für die Punktaddition wird folgende Methode empfohlen. Ein Punkt (x,y) wird in projektiven Koordinaten (X, Y, Z) dargestellt mit x = X/Z, y = Y/Z.

Der neutrale Punkt ist (0,1), bzw. äquivalent in projektiven Koordinaten (0, Z, Z) für beliebiges von Null verschiedenes Z.

Die folgenden Formeln zur Addition zweier Punkte (x3,y3) = (x1,y1)+(x2,y2) auf einer unverdrillten Edwards-Kurve (d. h. a=1) mit nicht-quadratischem d sind in Abschnitt 4 von [Faster-ECC] und in [EFD-ADD] beschrieben. Sie sind vollständig, d. h. sie funktionieren für jedes Paar gültiger Eingabepunkte.

                A = Z1*Z2
B = A^2
C = X1*X2
D = Y1*Y2
E = d*C*D
F = B-E
G = B+E
H = (X1+Y1)*(X2+Y2)
X3 = A*F*(H-C-D)
Y3 = A*G*(D-C)
Z3 = F*G

Wie bei der anderen Kurve können Verdopplungsformeln durch Einsetzen gleicher Punkte gewonnen werden, wodurch vier Multiplikationen zu Quadrierungen werden. Das ist jedoch bei weitem nicht optimal; die folgenden in Abschnitt 4 von [Faster-ECC] und in [EFD-DBL] beschriebenen Formeln sparen mehrere Multiplikationen.

                B = (X1+Y1)^2
C = X1^2
D = Y1^2
E = C+D
H = Z1^2
J = E-2*H
X3 = (B-E)*J
Y3 = E*(C-D)
Z3 = E*J