0

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

我如何计算这个新点的坐标?,我在 SAGE 中尝试了这句话,但它不起作用。

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

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

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

4

1 回答 1

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)
于 2012-06-15T13:22:36.717 回答