在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)
标签:group,G2,python,random,crypto,util,charm,policy From: https://www.cnblogs.com/xqqlyx/p/18655307