在ECDSA算法(验证签名)中,您必须使用下一个公式计算新点:(x0,y0)= u1 * P + U2 * P_a
如何计算这个新点的共同点?,我在SAGE中尝试这个句子,但它不起作用。
X =(整数(u1)* P)+(整数(u2)* P_a)
你能帮助我吗?非常感谢你。您可以在此处下载代码并尝试在SAGE中执行:https://dl.dropbox.com/u/39374382/question.sws
答案 0 :(得分:3)
如果P1和P2是点(相同)椭圆曲线E和a,b是整数那么
Q = a*P1 + b*P2
肯定有效。你可以使用Q.xy()来获取点Q之外的坐标。
示例:
sage: E = EllipticCurve('389a1')
sage: P1,P2 = E.gens(); P1,P2
((-1 : 1 : 1), (0 : -1 : 1))
sage: Q = 3*P1-2*P2; Q
(-5/49 : 62/343 : 1)
sage: Q.xy()
(-5/49, 62/343)