Jacobian雅可比坐标(ECC)

jacobian

避免逆运算过于难算将仿射坐标转化为雅可比坐标

定义

对一个椭圆曲线:$y^2≡x^3+ax+b \mod p$

将坐标(x,y)等价表示为:$(X,Y,Z)$

$x = \frac{X}{Z^2} \ y = \frac{Y}{Z^3}$

代入原方程得:

$$ Y^2≡X^3+aXZ^4+bZ^6 \mod p $$

点加法(P≠Q)

仿射坐标下:

$$ \left\{ \begin{aligned} \lambda &= \frac{y_2 - y_1}{x_2 - x_1} \\ x_3 &= \lambda^2 - x_1 - x_2 \\ y_3 &= \lambda(x_1 - x_3) - y_1 \end{aligned} \right. $$

$x_1 = \frac{X_1}{Z^2_1} \ y_1 = \frac{Y_1}{Z^3_1}$

$x_2 = \frac{X_2}{Z^2_2} \ y_2 = \frac{Y_2}{Z^3_2}$​

令$U_1=X_1Z_2^2,U_2=X_2Z_1^2$

$S_1=Y_1Z_2^3,S_2=Y_2Z_1^3$

$令H=U_2-U_1$

$R=S_2-S_1$

所以

$$ \lambda =\frac{R}{H} \frac{1}{Z_1Z_2} $$$$ x_3 = \frac{R^2-H^2Z_2^2X_1-H^2Z_1^2X_2}{H^2Z_1^2Z_2^2}\\ 所以x_3=\frac{R^2-H^2(U_2+U_1)}{H^2Z_1^2Z_2^2}\\ 因为H=U_2-U_1,所以U_1+U_2=2U_1+H\\ x_3=\frac{R^2-2U_1H^2-H^3}{H^2Z_1^2Z_2^2} 所以按照x=\frac{X}{Z^2},令z_3=HZ_1Z_2\\ X_3=R^2-2U_1H^2-H^3\\ Y_3可以同样化简为:Y_3=R(U_1H^2-X_3)-S_1H^3 $$

得到$(X_3,Y_3,Z_3)$

然后得到$(x_3,y_3)$

点倍加(P=Q)

若P=Q时,切线代替割线:

$$ λ=\frac{3x_1^2+a}{2y_1} \mod p $$$$ x_3=λ^2-2x_1 \mod p\\ y_3=λ(x_1-x_3)-y_1 $$$$ x_1=\frac{X_1}{Z_1^2},y_1=\frac{Y_1}{Z_1^3} $$

则:

$$ \lambda=\frac{3X_1^2+aZ_1^4}{2Y_1Z_1} $$

令:

$$ M=3X_1^2+aZ_1^4 $$$$ S=4X_1Y_1^2 $$

由:

$$ x_3=\lambda^2-2x_1 $$

得到:

$$ x_3=\frac{M^2-2S}{4Y_1^2Z_1^2} $$

因此令:

$$ Z_3=2Y_1Z_1 $$

得到:

$$ X_3=M^2-2S $$

再由:

$$ y_3=\lambda(x_1-x_3)-y_1 $$

得到:

$$ Y_3=M(S-X_3)-8Y_1^4 $$

因此:

$$ 2P=(X_3,Y_3,Z_3) $$

其中:

$$ X_3=M^2-2S \\ Y_3=M(S-X_3)-8Y_1^4 \\ Z_3=2Y_1Z_1 $$

最后恢复仿射坐标:

$$ x_3=\frac{X_3}{Z_3^2},y_3=\frac{Y_3}{Z_3^3} $$