SNARK友好的椭圆曲线2链族:从基础到应用
1. 引言
在密码学领域,SNARK(简洁非交互式知识论证)技术对于实现高效、安全的证明系统至关重要。而SNARK友好的椭圆曲线链在其中扮演着关键角色。本文将深入探讨SNARK友好的椭圆曲线2链族,包括相关的预备知识、内曲线和外曲线的选择与构造,以及如何优化相关的计算操作。
2. 预备知识
2.1 双线性对背景
双线性对是椭圆曲线密码学中的重要概念。设 $E$ 是定义在域 $F_q$ 上的椭圆曲线,$q$ 是素数幂。Frobenius 自同态 $\pi_q$:$(x, y) \to (x^q, y^q)$,其最小多项式为 $X^2 - tX + q$,其中 $t$ 称为迹。设 $r$ 是曲线阶 $#E(F_q) = q + 1 - t$ 的素因子。$E$ 的 $r$-挠子群记为 $E[r] = {P \in E(F_q), [r]P = O}$,它有两个阶为 $r$ 的子群 $G_1$ 和 $G_2$,分别定义为 $G_1 = E[r] \cap \ker(\pi_q - [1])$ 和 $G_2 = E[r] \cap \ker(\pi_q - [q])$,$G_2$ 定义在 $F_{q^k}$ 上,其中嵌入度 $k$ 是满足 $r | q^k - 1$ 的最小正整数。
Tate 对和 ate 对的定义基于两个步骤:在点 $P$ 处计算函数 $f_{s,Q}$(Miller 循环步骤),然后将其幂次提升为 $(q^k - 1)/r$(最终幂运算步骤)。函数 $f_{s,Q}$ 的除子为 $\text{div}(f_{s,Q}) = s(Q) - ([s]Q) - (s - 1)(O)$
超级会员免费看
订阅专栏 解锁全文
3393

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



