魅力加密中椭圆曲线上的身份元素是什么?



我需要魅力加密中椭圆曲线上的身份元素。因为我想总结 G5 中的 1 个不同的随机元素,即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]

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

加法下的单位元是椭圆曲线上群的无穷大点。您可以使用不带值参数的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]

最新更新