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

问题描述:

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

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

当你这样做会发生什么?有没有错误? –

+0

它不会生成任何错误,但生成的元素不是Zr组的元素,它仍然是一个python整数。 – Aisha

您可以使用PairingGroup.init(ZR, 193857774579808121448)为Python整数转换成魅力元素沿Z [R

实施例:

>>> 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中。