本文介绍了爱德华曲线运算的几何意义,引入了扭曲爱德华曲线。
上一节说了爱德华曲线基本方程和点运算规则,由于Edwards curve是新的曲线,本文继续说下更多内容
前面我们说了Weierstrass曲线上两点相加的几何意义,是通过两点连接一条直线,与曲线相交第三个点关于x轴的对称点就是所求的和。
爱德华曲线也可以结合几何表示。
令x2+y2=1表示单位圆,P1(x1,y1),P2(x2,y2) , 是圆上两个点,见下图:
(x1,y1)=(sin(α1),cos(α1)),(x2,y2)=(sin(α2),cos(α2)), = (sin(α), cos(α)), 两点相加等于弧度相加后的坐标:
x3=sin(α1+α2)=sin(α1)cos(α2)+cos(α1)sin(α2)=x1y2+y1x2
y3=cos(α1+α2)=cos(α1)cos(α2)+sin(α1)sin(α2)=y1y2−x1x2
现在单位元曲线换成爱德华曲线:
x2+y2=1+x2y2(d = 1)
x3=1+x1x2y1y2x1y2+x2y1
y3=1−x1x2y1y2y1y2−x1x2
爱德华曲线稍加变化得到扭曲的爱德华曲线(Twisted Edwards curves),方程:
ax2+y2=1+dx2y2
满足a, d ≠ 0 且 a ≠ d.
下图是在实数域上方程10x2+y2=1+6x2y2 的曲线
扭曲爱德华曲线方程多了一个系数a, 相对应的点加法运算有细微变化:
x3=1+dx1x2y1y2x1y2+x2y1
y3=1−dx1x2y1y2y1y2−ax1x2
x坐标计算不变,y坐标添加了a系数因子。
如果两个相同点相加公式变为:
有了扭曲爱德华曲线,正常的爱德华曲线可以看成扭曲爱德华曲线的特例(a = 1 的情况下),即每一条爱德华曲线都是扭曲爱德华曲线。
为什么要有扭曲的爱德华曲线呢?
大体两个方面:
范围:爱德华曲线在有限域上阶为4限制了曲线的数量,使用扭曲方式进行扩展,所有**蒙哥马利曲线(Montgomery Curve)**都可以有理映射成扭曲爱德华曲线.
性能:更大范围曲线使用快速的加法公式,一些爱德华曲线可以通过扭曲来加速运算
以上优点都可以例证推理说明,涉及到知识点很多,感兴趣的可以自己查阅文后参考资料。
本文介绍了爱德华曲线运算的几何意义,引入了扭曲爱德华曲线。我们只说了平面坐标系下的运算,还有射影坐标系的运算规则和含义以及各种运算的定量分析,论证爱德华曲线运算的快速,这些内容可参考:
https://christianepeters.files.wordpress.com/2012/10/20080620-rennes.pdf
https://hal.archives-ouvertes.fr/hal-01942759/document
https://en.wikipedia.org/wiki/Edwards_curve
同时,本文中提到了蒙哥马利曲线,也是椭圆曲线的一种形式,所以我们说椭圆曲线的内容虽然讲了很多,但远未结束,不过我们聚焦区块链中使用相关的,从应用角度,简单学习原理也可以,不必深究!
好了,下一篇继续介绍蒙哥马利曲线和Curve25519!
欢迎关注公众号:blocksight
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!