椭圆曲线群律之结合律

众所周知,在域上定义的椭圆曲线
摘要由CSDN通过智能技术生成

众所周知,在域k上定义的椭圆曲线E/k在曲线点的加法操作下满足群律,即所有的有理点(满足椭圆曲线等式的点)和无穷远点(单位元)构成了一个加法群。根据曲线上的点的加法运算,其他的群律很容易证明,只有结合律需要费点功夫,如果单纯手算的话当然可以证明,但是颇为麻烦。MIT的椭圆曲线讲义通过两种方法来证明结合律,第一种是通过使用sagemath来自动化计算三个点的相加的结果,最终证明结合律,第二种是通过一种几何化的方法来证明。

sagemath证明方法

sagemath是一款强大的开源数学运算软件,基于Python,因此基础语法上和Python几乎一模一样,可以在Jupyter Notebook上运行sagemath环境,也可以在CoCalc上运行实验。通过使用程序语言定义曲线点的加法可以省略大量的繁琐的运算步骤。为了证明椭圆曲线群的结合律,首先需要定义椭圆曲线:

RR.<Px,Py,Qx,Qy,Rx,Ry,A,B> = PolynomialRing(QQ,8)
P=(Px,Py,1); Q=(Qx,Qy,1); R=(Rx,Ry,1); O=(0,1,0);
I=RR.ideal(Py^2-Px^3-A*Px-B, Qy^2-Qx^3-A*Qx-B, Ry^2-Rx^3-A*Rx-B)
SS=RR.quotient(I)

这里我们使用Weierstrass形式的椭圆曲线,其他形式比如Edwards可以类似进行编写。PolynomialRing代表新建一个多元多项式环,里面的参数QQ代表有理数域,即这个多项式环中的多项式系数都是有理数,8代表接下来要用到的变元数量即左边的Px、Py、Qx、Qy、Rx、Ry、A、B,RR代表这8个变元是实数域上的变元。P、Q、R都是椭圆曲线上的点,O是椭圆曲线群中的单位元,从几何图形上看就是无穷远点,因此为了方便定义单位元,这儿四个点统一用射影坐标来表示。I是实数域上通过括号里的多项式生成的理想,可以看到里面的三个多项式正好是椭圆曲线的Weierstrass表示形式,SS就是实数域关于这个理

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值