如何在 Charm-Crypto 中将 python 整数转换为 ZP 组中的数字?

How to convert python integers to a number in ZP group in Charm-Crypto?

我想将整数转换为 ZP 组中的数字。我写了下面的代码,但它返回了一些 <class 'integer.Element'> 类型。谁能告诉我该怎么做?

num= 193857774579808121448
bb= Conversion. IP2OS(num,  20)
ele= Conversion.OS2IP(bb, element=True) 

您可以使用 PairingGroup.init(ZR, 193857774579808121448) 将 Python 整数转换为 Zr 中的 Charm 元素。

示例:

>>> from charm.toolbox.pairinggroup import PairingGroup,ZR,G1,G2,GT,pair
>>> group = PairingGroup('SS512')
>>> i = group.init(ZR, 193857774579808121448)
>>> i
193857774579808121448
>>> type(i)
<class 'pairing.Element'>

请记住,您传入的 Python 整数必须小于配对参数中显示的 r(即 group.__dict__)。 Charm 将默默地将模运算符应用于传递的数字,以便结果元素位于 Zr.