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