椭圆曲线配对是包括确定性阈值签名,zk-SNARK和其他更简单形式的零知识证明在内的各种构造背后的关键密码原语
椭圆曲线配对(或更确切地说,我们将在此处探讨的配对的具体形式;尽管其逻辑相当相似,也存在其他类型的配对)是地图G2 x G1-> Gt,其中:
- G1是一条椭圆曲线,其中的点满足y²=x³+ b形式的方程,并且两个坐标都是F_p的元素(即,它们是简单数字,除了算术都是对某个质数求模)
- G2是一条椭圆曲线,其点满足与G1相同的方程,除了坐标是F_p²²的元素(即它们是我们上面所讨论的增压复数;我们定义了一个新的“幻数” w) 像w ^ 12-18 * w ^ 6 + 82 = 0这样的12次多项式
- Gt是椭圆曲线结果进入的对象类型。 在我们看到的曲线中,Gt为F_p¹²(与G2中使用的相同的增压复数)
它必须满足的主要属性是双线性,在这种情况下,这意味着:
- e(P, Q + R) = e(P, Q) * e(P, R)
- e(P + Q, R) = e(P, R) * e(Q, R)
还有其他两个重要条件:
- 高效的可计算性(例如,我们可以通过简单地将所有点的离散对数乘以它们来进行简单的配对,但这在计算上像首先破坏椭圆曲线加密一样困难,因此不算在内)
- 非简并性(当然,您可以定义e(P,Q)= 1,但这并不