xqqlyx

python charm-crypto库的使用

在ubuntu 20.04.6 LTS上安装 pip install charm-crypto

 1 from charm.toolbox.pairinggroup import PairingGroup, ZR, G1, G2, GT, pair
 2 #创建SS512椭圆循环群
 3 group= PairingGroup('SS512')
 4 #生成ZR群上元素:数字 
 5 group.random()
 6 group.order()
 7 group.random(ZR)
 8 
 9 #生成G1、G2、GT群上元素:椭圆曲线上的点
10 group.random(G1)
11 group.random(G2)
12 group.random(GT)
13 
14 #将字符串映射到椭圆曲线一个点
15 group.hash('one',G2)
16 
17 from charm.toolbox.secretutil import SecretUtil
18 
19 util = SecretUtil(groupObj, verbose=False)
20 #从一个访问策略的字符串中创建策略结构
21 policy = util.createPolicy(access_policy)
22 
23 #获取所有叶子节点的属性
24 a_list = util.getAttributeList(policy)
25 
26 s = group.random(ZR)
27 
28 #计算每个节点多项式的x=0的值
29 shares = util.calculateSharesDict(s, policy)

 

posted on 2025-01-06 14:50  烫烫烫烫热  阅读(446)  评论(4)    收藏  举报