应用密码学学习:双线性配对/双线性映射

双线性配对/双线性映射

名词定义

定义1 定义三个素数p阶乘法循环群 G1,G2 G 1 , G 2 GT G T ,定义映射 e:G1×G2GT e : G 1 × G 2 → G T ,满足如下三个性质:

  1. 双线性:对于 g1G1,g2G2,a,bZp, ∀ g 1 ∈ G 1 , g 2 ∈ G 2 , ∀ a , b ∈ Z p , 均有 e(ga1,gb2)=e(g1,g2)ab e ( g 1 a , g 2 b ) = e ( g 1 , g 2 ) a b 成立

  2. 非退化性: g1G1,g2G2 ∃ g 1 ∈ G 1 , g 2 ∈ G 2 使得 e(g1,g2)1GT e ( g 1 , g 2 ) ≠ 1 G T

  3. 可计算性:存在有效的算法,对于 g1G1,g2G2 ∀ g 1 ∈ G 1 , g 2 ∈ G 2 ,均可计算 e(g1,g2) e ( g 1 , g 2 )

则称这个映射是双线性映射(双线性配对)。如果 G1=G2 G 1 = G 2 称这个双线性配对是对称的,否则是非对称的。

代码实现

其他人的JPBC实现
使用JPBC实现双线性对加密算法(BasicIdent体制的java实现)
java密码学原型算法实现——第三部分:双线性对

C/C++上利用PBC library实现先占个坑,回头再写。

你可能感兴趣的:(密码学)