在 Charm-Crypto 中序列化和反序列化组元素

Serializing and deserializing group elements in Charm-Crypto

我需要帮助将椭圆曲线配对组元素的列表表示(字符串)转换回对象。

解释:
我正在使用 charm crypto v0.43 在我的 Web 应用程序中使用 CPABE 方案。我需要将生成的配对元素存储到我的数据库中。当我这样做时,它将它存储为列表。我需要将它映射回配对组元素对象。

转换:

[771281202364725359015275543519860265278248937600027018972741977722880288402810467924555583431036045929994018001453439703799448692568829067937466068366897, 5928426678871551838449004494119368314093842432141364739971117261348155912543962117516776973405646414105108743246860323245910977796691638669773215755592297]

<pairing.Element object at 0x7f1a1e840300>`

代码:

group = PairingGroup('SS512')
alpha = group.random(ZR)
g= group.random(G1)

找到了解决我的问题的方法。这是我 did.You 可以使用组序列化功能。

g = group.random(G1) # generates a random group element in that pairing group

您可以使用组序列化函数序列化 g

str = group.serialize(g)

您可以使用

反序列化它
obj = group.deserialize(str)

希望它可以帮助面临同样问题的人。