【问题标题】:What is the Identity element on Elliptic Curve in Charm Crypto?Charm Crypto 中椭圆曲线上的标识元素是什么?
【发布时间】:2017-08-03 06:26:06
【问题描述】:

我需要魅力加密中椭圆曲线上的标识元素。因为我想总结 G1 中的 5 个不同的随机元素,即elementList= {g1, g2, g3, g4, g5}。现在,我在 G1 中生成了另一个随机元素,即temp= group.random(G1)

temp = group.random(G1)
elementList= {g1,  g2,  g3,  g4,  g5}
for num in range(0, 5):
    temp= temp+ elementList[num]

谁能告诉我我该怎么做?希望听到一些专家的意见。

【问题讨论】:

  • @ArtjomB。 Charm 中有两个函数可以用来初始化 Zr 中的元素,即 group.init(ZR, 0) 和 group.init(ZR, 1)。我已经使用上述函数来获得 Zr 中不同元素的总和和乘积。但是G1组没有这个功能。

标签: python cryptography elliptic-curve charm-crypto


【解决方案1】:

加法下的单位元是椭圆曲线上群的无穷远点。您可以使用不带值参数的PairingGroup.init(G1) 来获得无穷远的这一点。

示例代码:

>>> from charm.toolbox.pairinggroup import PairingGroup,ZR,G1,G2,GT,pair
>>> group = PairingGroup('SS512')
>>> g = group.random(G1)
>>> i = group.init(G1) # point at infinity
>>> i + g == g
True

注意:这是未记录的,可能会在未来的版本中更改。


您的特定示例不需要标识元素。只需稍微更改您的代码:

elementList = [g1,  g2,  g3,  g4,  g5]
for num in range(len(elementList)):
    if num == 0:
        temp = elementList[num]
    else:
        temp = temp + elementList[num]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-21
    • 2010-09-29
    • 1970-01-01
    • 2014-02-14
    • 2011-12-21
    • 1970-01-01
    相关资源
    最近更新 更多