双线性配对
1,要熟悉超奇异椭圆曲线域上群元素数学性质,比如:E(x,y):y^2=x^3+x这种椭圆曲线,每个群元素都是椭圆曲线上的点,比如P(x,y),那么这个P就可以抽象表示成图中定义里面的g,u,v等。
2,要学习这种基于椭圆曲线上加法和点乘的运算原理。
3,有了以上基础,就可以了解配对运算的原理了,比如weil配对,P和Q是阶为m椭圆曲线上的两个点,那么两个点的配对(pairing)运算,e(P,Q)=weil_paring(P,Q),产生的结果同样满足阿贝尔群属性,因此满足双线性。
4,weil_paring算法的原理,要了解除子,Miller算法等,比较复杂。
双线性映射(双线性配对):Bilinear Pairing
定义:一个双线性映射是由两个向量空间上的元素,生成第三个向量空间上一个元素之函数,并且该函数对每个参数都是线性的。
理解:若B:V×W→X是一个双线性映射,则V固定,W可变时,W到X的映射是线性的,W固定,V可变时,V到X的映射也是线性的,也就是说保持双线性映射中的任意一个参数固定,另一个参数对X的映射都是线性的。
抽象化的描述:在《An Efficient Signature Scheme from Bilinear Pairings and Its Applications》这篇文献中,有关双线性配对的描述如下:
Let G1 be a cyclic additive group generated by P, whose order is a prime q, and G2 be a cyclic multiplicative group with the same order q. Let e : G1 ×G1 → G2 be a map with the following properties:
1. Bilinearity: e(aP, bQ) = e(P, Q)ab for all P, Q ∈ G1, a, b ∈ Zq
2. Non-degeneracy: There exists P, Q ∈ G1 such that e(P, Q)/= 1, in other words, the map does not send all pairs in G1 × G1 to the identity in G2;
3. Computability: There is an efficient algorithm to compute e(P, Q) for all P, Q ∈ G1.
In our setting of prime order groups, the Non-degeneracy is equivalent to e(P, Q) /= 1 for all P, Q ∈ G1. So, when P is a generator of G1, e(P, P) is a generator of G2. Such a bilinear map is called a bilinear pairing (more precisely called an admissible bilinear pairing).
(如果P是G1的生成元,则 e(P, P)是G2的生成元,这一类的双线性映射更准确的应称为可接受的双线性映射)
网上找到的一些中文的解释:(文献还是要读英文原版比较好)
双线性映射可以用五元组(p,G1,G2,GT,e)来描述,G1,G2,GT是三个素数阶乘法循环群,阶数皆为p,定义在这三个三个群上的一个映射关系e:G1*G2 —>GT,满足以下性质:
1、双线性性:
对于任意a,b∈Zp和R,S∈G1,有e(Ra, Sb) = e(R, S)ab;
2、非退化性:
存在R,S∈G1,使得e(R, S) ≠ 1G2(1G2代表G2群的单位元);
3、可计算性:
存在有效的算法对任意的R,S∈G1,计算e(R, S)的值。
注:
1、现在的密码学相关论文中,习惯将G1,G2设置为乘法循环群。但是,基于椭圆曲线的双线性群构造中,G1,G2是加法群。在大约2005年以前的论文中,G1,G2是加法循环群
2、双线性映射可以通过有限域上的超椭圆曲线上的Tate对或Weil对来构造。
————————————————
版权声明:本文为CSDN博主「qq_38250032」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_38250032/java/article/details/81624871