【问题标题】:Verification SIgnature ECDSA using SAGE使用 SAGE 验证签名 ECDSA
【发布时间】:2012-06-15 12:39:09
【问题描述】:

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

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

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

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

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

【问题讨论】:

  • 您似乎在一天左右的时间里遇到了三个类似的问题。我已经询问了一些可能会做出回应的人,但如果在一天左右没有得到任何答案,您可能还想试试 ask.sagemath.org,那里有更多 Sage 开发人员常去的地方。

标签: sage elliptic-curve


【解决方案1】:

如果 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)

【讨论】:

  • 在我的情况下它不起作用,我认为 u1 和 u2 的整数太大了。你可以下载试试看。
  • 我无法打开您的 Dropbox 文件。它给了我一个 404 错误。也许您可以在 sagenb.org 上发布您的工作表
猜你喜欢
  • 2020-06-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-01-17
  • 1970-01-01
  • 2022-10-18
  • 2022-01-18
  • 1970-01-01
相关资源
最近更新 更多