使用SAGE验证SIgnature ECDSA

时间:2012-06-15 12:39:09

标签: sage elliptic-curve

在ECDSA算法(验证签名)中,您必须使用下一个公式计算新点:(x0,y0)= u1 * P + U2 * P_a

如何计算这个新点的共同点?,我在SAGE中尝试这个句子,但它不起作用。

X =(整数(u1)* P)+(整数(u2)* P_a)

你能帮助我吗?非常感谢你。

您可以在此处下载代码并尝试在SAGE中执行:https://dl.dropbox.com/u/39374382/question.sws

1 个答案:

答案 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)