y^2+x*y=x^3+a2*x^2+a6
Jacobian coordinates [database entry] represent x y as X Y Z satisfying the following equations:
x=X/Z^2 y=Y/Z^3
| Operation | Assumptions | Cost | Readdition cost |
|---|---|---|---|
| addition | Z2=1 | 10M + 3S + 1*a2 | 10M + 3S + 1*a2 |
| addition | 14M + 5S + 1*a2 | 13M + 4S + 1*a2 | |
| doubling | Z1=1 | 1M + 2S + 1*a6 | |
| doubling | 4M + 5S + 1*a6 | ||
| scaling | 1I + 3M + 1S |
O1 = Z1^2
B = X2*O1
D = Y2*O1*Z1
E = X1+B
F = Y1+D
Z3 = E*Z1
H = F*X2+Z3*Y2
I = F+Z3
G = Z3^2
X3 = a2*G+F*I+E*E^2
Y3 = I*X3+G*H
O1 = Z1^2
O2 = Z2^2
A = X1*O2
B = X2*O1
C = Y1*O2*Z2
D = Y2*O1*Z1
E = A+B
F = C+D
G = E*Z1
H = F*X2+G*Y2
Z3 = G*Z2
I = F+Z3
X3 = a2*Z3^2+F*I+E*E^2
Y3 = I*X3+G^2*H
A = X1^2
B = A^2
X3 = B+a6
Z3 = X1
Y3 = a6*(A+Y1+Z3)+(A+Y1)*B
A = X1^2
B = A^2
C = Z1^2
D = C^2
X3 = B+a6*D^2
Z3 = X1*C
Y3 = B*Z3+(A+Y1*Z1+Z3)*X3
A = 1/Z1
B = A^2
X3 = B*X1
Y3 = A*B*Y1
Z3 = 1