0
我正在尝试实现椭圆曲线的Double-Add-Add算法,这是在下面完成的。但是,我并没有像教科书那样得出同样的答案。相反,我得到了一个重复的答案。代码有什么问题吗?Python算法为曲线添加点
代码应执行下列操作:
- 输入:点,P和整数n大于或等于1。
- 集Q = P和R =(0,0)。
- n> 0时循环。
- 如果n = 1 mod 2,则设置R = R + Q。
- 集Q = 2Q且n =地板(N/2)
- 如果n> 0,则继续循环步骤3.
返回点R,它等于为nP。
def doubleandadd(n, A, B, p, (x,y)): P=(x,y) Q,R=P,(0,0) while n>0: if (n%2)==1: R=R+Q Q,n=2*Q,math.floor(n/2) print R
我该如何使用numpy来做到这一点? –