椭圆曲线配对是包括确定性阈值签名,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,但这并不是特别有用的配对)
那么我们该怎么做呢?
配对功能起作用的原因背后的数学非常棘手,涉及许多高级代数,甚至超出了我们到目前为止所见的范围,但我将提供一个概述。 首先,我们需要定义除数的概念,这基本上是在椭圆曲线点上表示函数的一种替代方法。 函数的除数基本上是对函数的零和无穷大进行计数。 要了解这意味着什么,让我们看几个例子。 让我们固定点P =(P_x,P_y),并考虑以下函数:
f(x, y) = x - P_x
除数为[P] + [-P]

本文深入探讨椭圆曲线配对的数学原理,包括双线性性质、高效可计算性和非简并性。椭圆曲线配对在区块链中的应用,如确定性阈值签名、zk-SNARKs和零知识证明。介绍了配对函数的除数概念和最终幂运算步骤,强调了椭圆曲线选择的重要性,特别是嵌入度对加密安全性的影响。
最低0.47元/天 解锁文章
9570

被折叠的 条评论
为什么被折叠?



