1

我需要魅力加密中椭圆曲线上的标识元素。因为我想在 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]

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

4

1 回答 1

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]
于 2017-09-03T06:28:49.787 回答