How can I derive formulas for adding 2 points and multiplication by a scalar in Jacobian coordinates $(x,y) = (\frac{X}{Z^2},\frac{Y}{Z^3})$ over an elliptic curve?
-
1$\begingroup$ what's the curve equation? And what do you mean by multiplying points? I only know point addition and doubling and multiplying a point by a scalar by repeated addition/doubling. $\endgroup$ – CodesInChaos Apr 28 '13 at 20:50
-
3$\begingroup$ Take a look at the Explicit-Formulas Database $\endgroup$ – CodesInChaos Apr 28 '13 at 20:52
-
$\begingroup$ Thanks a lot for your response. The curve equation is ${y^2}={x^3}+ax+b$. And i need to find formulas for addind and multiplication of 2 points (X,Y,Z) over this curve such that $x=\frac{X}{Z^2}, y=\frac{Y}{Z^3}$. $\endgroup$ – user6784 Apr 29 '13 at 20:17
-
2$\begingroup$ Once again, what do you mean by "multiplication of 2 points"? I don't think this is a supported operation on elliptic curves. $\endgroup$ – CodesInChaos Apr 29 '13 at 21:05
-
2$\begingroup$ This is the relevant page of the Explicit-Formulas Database (thanks @CodesInChaos) $\endgroup$ – Barack Obama Apr 29 '13 at 22:04
Well, you can start with affine coordinate addition formulas, and simplify things as you go along. Here's an example for point doubling:
$$ \begin{eqnarray*} \lambda &=& \frac{3(X/Z^2)^2 + A}{2(Y/Z^3)} \\ &=& \frac{3X^2 + AZ^4}{2YZ} \\ X_3 &=& \lambda^2 - 2X = \frac{9X^4 + 6AX^2Z^4 - 8XY^2Z^2 + A^2Z^8 }{4Y^2Z^2} \\ Y_3 &=& \lambda(X - X_3) - Y \\ &=& \frac{-27X^6 - 27AX^4Z^4 +36X^3Y^2Z^2 -9A^2X^2Z^8 +12AXY^2Z^6-8Y^4Z^3- A^3Z^{12}}{8Y^3Z^3} \\ Z_3 &=& 2YZ \end{eqnarray*} $$
Notice that $4Y^2Z^2 = (2YZ)^2$, and $8Y^3Z^3 = (2YZ)^3$, thus $Z_3 = 2YZ$. There are a lot of common terms here, so it's a relatively short computation once you combine those. The EFD website has spared us all much trouble by maintaining a record of most of the popular coordinates and worked out formulas.