petlib的双线性配对库。

bplib的Python项目详细描述


bplib是一个库,实现对支持 双线性对,用于现代密码学中。

它基于openpairing库 diego aranha(https://github.com/dfaranha/OpenPairing),它本身基于并兼容 使用,openssl数学函数(bnec)。bplibpetlib类型兼容 包括petlib.bn,组g1是一个petlib.ecec组。连同petlib, 它们易于使用 支持现代隐私增强技术中使用的数学和密码。“

一组双线性ec群定义为:

>>> G = bp.BpGroup()

这样一个bpgroup描述3个组g1、g2和gt,这样一对(g1、g2)->;gt。发电机 对于组g1和g2,表示为:

>>> g1, g2 = G.gen1(), G.gen2()

特殊的pair操作计算配对到gt:

>>> gt = G.pair(g1, g2)

在g1和g2的自然加性中缀表示法和gt的乘法表示法中,对g1、g2或gt的所有元素定义运算:

>>> gt6 = gt**6

正如预期的那样,pair操作是相加的:

>>> G.pair(g1, 6*g2) == gt6
True
>>> G.pair(6*g1, g2) == gt6
True
>>> G.pair(2*g1, 3*g2) == gt6
True

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java Jgit对于给定的存储库,我们如何确定新提交的列表,以及每个提交来自哪个分支?   从MS Access数据库添加java ComboBoxItem   如何禁止Java列表中不同类的实例?   java在没有Web的JAXR上使用Shiro过滤器。xml   由于java原因,无法在Ubuntu上安装Netbeans 8.2。awt。未找到恐怖和辅助技术   java JUnit对RuntimeException的处理(特别是)   java空集合在Apache CXF服务(JAXWS)中被转换为null   java CannotAcquireLockException问题   sql如何在数据库中对(Java)枚举建模(使用SQL92)   安卓在Java中获取友好url后面的文件名   java如何访问数组名以获取列表?   javascript Java Nashorn longBitsToDouble   java控制台<init>错误   java将一个LinkedList追加/连接到另一个LinkedList的最有效方式是什么?   Java for正在跳过的循环   java帮助创建带有动画的复杂Swing GUI   java Android编辑文本。setHint在片段中不工作