Weil Pairing
以下weil配对介绍摘自2001年Boneh和Franklin提出的第一个基于配对运算的实用IBE的论文第三部分。
1984年shamir就提出基于身份的思想,但是一直没有好的IBE方案提出,IBS倒是由shamir本人提出了两个较好的方案。直到2001年数学上取得突破性进展,在椭圆曲线点群上找到这样好性质的双线性映射,才使得后续各类IBE方案层出不穷得到长足的发展。
本篇只讨论weil配对的性质,关于weil配对的具体如何进行有效计算的细节,在论文详细版中有给出。
双线性映射
\(G_1\),\(G_2\)为两个q阶循环群,\(G_1\)是\(F_p\)椭圆曲线上的点群,\(G_2\)是\(F_{p^2}^*\)的子群。因此,可以看到\(G_1\)是加法群,\(G_2\)是乘法群。
一个映射\(e:G_1 \times G_1 → G_2\)如果满足\(e(aP,bP)=e(P,P)^{ab}\),那么它就是双线性映射。
\(G_1 \times G_1 → G_2\) 对称双线性映射
\(G_1 \times G_2 → G_T\) 双线性映射
weil配对就是有效可计算,非退化的双线性映射的一个例子。
weil 配对的性质
下面将由一个具体的超奇异椭圆曲线来介绍weil配对的性质。
p是一个素数,满足p = 2 mod 3 ,p = 6q - 1 ,E是方程为 \(y^2 = x^3 + 1\) 在\(F_p\)上的椭圆曲线。
性质1:
\(x^3+1\)是 \(F_p\)上的置换多项式,故椭圆曲线点群\(E/F_p\)中有p+1个点,记0为无穷远点。令P为\(E/F_p\)的q阶子群的生成元,记为\(G_q\)。
性质2:
对于任意的\(F_p\)中的\(y_0\),都有唯一的椭圆曲线\(E/F_p\)上的点\((x_0,y_0)\),因此椭圆曲线上的任意一点,除了无穷远点0点,也都可以对应到一个\(F_p\)上的y,并且这个y在\(F_p\)上是均匀分布的。我们利用这个好性质来简化安全性证明。
性质3:
属于\(E/F_p\)的点P,Φ(P)为\(E/F_{p^2}\)上的点,并且必不是\(E/F_p\)上的点,这样P和Φ(P)是线性无关的。
性质4:
因为P和Φ(P)是线性无关,这样它们到$Z_q x Z_q \(有一个同构。\)u_q\(是一个\)E/F_{p^2}\(的q阶子群。(回顾,\)G_q\(是\)E/F_p\(的q阶子群,即\)G_1$)
\(G_q \times G_q = G_1 \times G_1 → G_1 \times Φ(G_1) = G_1 \times G_2 → (Z_q \times Z_q) \times (Z_q \times Z_q) = E[q] \times E[q] → u_q = G_T\)。
由此看来e版的就是非对称的双线性映射,\hat{e}是一个对称双线性映射。
WDH 假设
因为此类\(G_q\)的存在,CDH似乎依然很难,但是DDH问题却变得不再困难,对于给定P,aP,bP,cP 属于\(G_q\),
weil配对很容易就转化了判断。 (原本我通过组合只能得到a和b+的形式,而通过双线性映射可以得到乘的形式。)因此不能使用DDH假设在群\(G_q\)上构建密码系统。
CDH假设的变体WDH假设:
结语
观察转化等式的两边,\(G_q\)上的离散对数困难问题(\(E/F_q\))很容易转化成\(u_q\)上的离散对数困难问题(\(E/F_{q^2}\))。
注意,我们常常说离散对数困难问题,习以为常理所应当的认为它就是困难的,然而实际上它是需要在数值很大的情况下才是困难的,一般来说为了安全性,在\(F_p^*\)上的离散对数问题需要素数p达到1024比特长。