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

时间:2017-08-03 20:23:15

标签: python encoding cryptography integer charm-crypto

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

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

1 个答案:

答案 0 :(得分:2)

您可以使用PairingGroup.init(ZR, 193857774579808121448)将Python整数转换为Z r 中的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会默默地将模运算符应用于传递的数字,以便生成的元素位于Z r 中。