曲线

数据库:https://www.hyperelliptic.org/EFD/

Edwards Curves

一般方程:$x^2+y^2=c^2(1+dx^2y^2)$

加法:$(x_1,y_1)+(x_2,y_2)=(\cfrac{x_1y_2+y_1x_2}{c(1+dx_1x_2y_1y_2)},\cfrac{y_1y_2-x_1x_2}{c(1-dx_1x_2y_1y_2)})$

倍乘:$2(x_1,y_1)=(\cfrac{2x_1y_1}{c(1+dx_1^2y_1^2)},\cfrac{y_1^2-x_1^2}{c(1-dx_1^2y_1^2)})$

取反:$-(x_1,y_1)=(-x_1,y_1)$

Twisted Edwards Curves

一般方程

$ax^2+y^2=1+dx^2y^2$

加法

$(x_1,y_1)+(x_2,y_2)=(\cfrac{x_1y_2+y_1x_2}{1+dx_1x_2y_1y_2},\cfrac{y_1y_2-ax_1x_2}{1-dx_1x_2y_1y_2})$

倍乘

$2(x_1,y_1)=(\cfrac{2x_1y_1}{1+dx_1^2y_1^2},\cfrac{y_1^2-ax_1^2}{1-dx_1^2y_1^2})$

取反

$-(x_1,y_1)=(-x_1,y_1)$

Binary Edwards Curves

一般方程

$d_1(x+y)+d_2(x^2+y^2)=(x+x^2)(y+y^2)$

加法

$(x_1,y_1)+(x_2,y_2)=(\cfrac{d_1(x_1+x_2)+d_2(x_1+y_1)(x_2+y_2)+(x_1+x_1^2)[x_2(y_1+y_2+1)+y_1y_2]}{d_1+(x_1+x_1^2)(x_2+y_2)},\cfrac{d_1(y_1+y_2)+d_2(x_1+y_1)(x_2+y_2)+(y_1+y_1^2)[y_2(x_1+x_2+1)+x_1x_2]}{d_1+(y_1+y_1^2)(x_2+y_2)})$

倍乘

$2(x_1,y_1)=(\cfrac{2d_1x_1+d_2(x_1+y_1)^2+(x_1+x_1^2)[x_1(2y_1+1)+y_1^2]}{d_1+(x_1+x_1^2)(x_1+y_1)},\cfrac{2d_1y_1+d_2(x_1+y_1)^2+(y_1+y_1^2)[y_1(2x_1+1)+x_1^2]}{d_1+(y_1+y_1^2)(x_1+y_1)})$

取反

$-(x_1,y_1)=(y_1,x_1)$

映射

$v^2+uv=u^3+(d_1^2+d_2)u^2+d_1^4(d_1^4+d_1^2+d_2^2)$

其中

$u=d_1(d_1^2+d_1+d_2)(x+y)/(xy+d_1(x+y)),\\v=d_1(d_1^2+d_1+d_2)(x/(xy+d_1(x+y))+d_1+1)$

参考

Binary Edwards Curves