双线性配对密码学中的超椭圆曲线与泰特配对计算
在密码学领域,双线性配对在构建众多公钥协议方面发挥着关键作用。本文将深入探讨双线性配对相关的超椭圆曲线构建方法以及泰特配对的计算,为密码学研究者和开发者提供有价值的参考。
1. 配对友好的超椭圆曲线构建方法
在构建配对友好的超椭圆曲线时,有多种方法可供选择,每种方法都有其特点和适用场景。
1.1 Cocks - Pinch 方法
对于类型为 JC6 的曲线,该方法有特定的输入和输出要求:
-
输入
:无平方因子整数 D(3 不能整除 D)、素数 r 的大小以及嵌入度 k,以满足所需的安全级别(已知 ρ ≈ 4)。
-
输出
:素数阶 r、素数 p 以及雅可比参数 a, b ∈ Fp,使得曲线 C6(Fp) : Y² = X⁶ + aX³ + b 的雅可比具有阶为 r 的子群,并且相对于 r 的嵌入度为 k。
具体算法步骤如下:
1. 重复以下操作:
2. 选择规定大小的素数 r,使得三次单位根 ω、√D 和 ζᵏ ∈ Fr。
3. 计算 n = (ζᵏ - ω)/(1 - ω) 和 y = ±(ωζᵏ + ω²)/√D ∈ Fr。
4. 将 n 和 y 从 Fr 提升到 Z,并设置 p = (3n² + Dy²)/4。
5. 直到 p ≡ 1 mod 3 且 p 是素数。
6. 运行复乘法(CM)方法,找到迹为 tp² 且 Δ = -3D(ny)² 的椭圆曲线 Ec(Fp²) 的 j - 不变量。具体而言,使用 3D 运行 CM 方法,找到 Weber 多项式模 p 的 2 次或 6 次因子,然后应用合适的变换以获得相应希尔伯特多项式在 Fp² 中的根。
7. 在 Fp² 中求解 j(Ec) = 2⁸3³(2c - 5)³/(c - 2)(c + 2)³,选择解 c ∈ Fp² 使得 c² ∈ Fp。选择 a, b ∈ Fp 使得 (a/c)² 不是立方,且 b = (a/c)²。因此,b 既不是平方也不是立方。
8. 返回 r, p, a, b ∈ Fp
流程图如下:
graph TD;
A[开始] --> B[选择素数 r];
B --> C[计算 n 和 y];
C --> D[计算 p];
D --> E{p ≡ 1 mod 3 且 p 是素数?};
E -- 否 --> B;
E -- 是 --> F[运行 CM 方法];
F --> G[求解 j(Ec)];
G --> H[选择 a, b];
H --> I[返回 r, p, a, b];
I --> J[结束];
1.2 Brezing - Weng 方法
该方法使用由分圆多项式构建的多项式环,而非有限素域 Fr。参数将是模分圆多项式的多项式,而非模素数的整数。不过,D 的选择受到限制,通常在 1 - 35 的无平方因子范围内,根据嵌入度 5 ⩽ k ⩽ 36 进行选择。
通过在不同的分圆域上进行搜索(使用 Magma)并进行基变换,得到了一些完整的曲线族,其中 ρ ≃ 3,并且恢复了之前论文中提到的构造以及其他嵌入度的新完整曲线族。
部分示例如下:
| 嵌入度 k | D | ρ | r | n | y | t′p² | p | 条件 |
| ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- | ---- |
| 22 | 2 | 2.8 | Φ₈₈(x) = x⁴⁰ - x³⁶ + x³² - x²⁸ + x²⁴ - x²⁰ + x¹⁶ - x¹² + x⁸ - x⁴ + 1 | 1/2(x²⁸ - x²² - x⁶ + 1) | 1/2(x¹⁷ + x¹¹) | 1/4(-x⁵⁶ + 2x⁵⁰ - x⁴⁴ + 4x³⁴ + 4x²² - x¹² + 2x⁶ - 1) | 1/8(x⁵⁶ - 2x⁵⁰ + x⁴⁴ + 8x²⁸ + x¹² - 2x⁶ + 1) | x ≡ 1 mod 2 |
| 26 | 2 | 2.33 | Φ₁₀₄(x) = x⁴⁸ - x⁴⁴ + x⁴⁰ - x³⁶ + x³² - x²⁸ + x²⁴ - x²⁰ + x¹⁶ - x¹² + x⁸ - x⁴ + 1 | 1/2(x²⁸ - x²⁶ - x² + 1) | 1/2(x¹⁵ + x¹³) | 1/4(-x⁵⁶ + 2x⁵⁴ - x⁵² + 4x³⁰ + 4x²⁶ - x⁴ + 2x² - 1) | 1/8(x⁵⁶ - 2x⁵⁴ + x⁵² + 8x²⁸ + x⁴ - 2x² + 1) | x ≡ 1 mod 2 |
然而,对于某些嵌入度(如 k ∈ {7, 17, 19, 23, 29, 31}),r 的分圆多项式次数过高,导致选择合适整数 x 使得 p(x) 和 r(x) 为素数且达到所需大小的可能性非常有限,并且 ρ 值接近 4,此时使用类似 Cocks - Pinch 方法可能更合适。
2. D = 1, 2, 3 时的配对友好曲线构造
在不同的 D 值下,超椭圆曲线会有不同的表现和分解情况。
2.1 D = 1 时的情况
当 D = 1 时,形式为 C5(Fp) 且 b 为平方的 2 次超椭圆曲线实际上会分解为 Fp 上的两条非同源椭圆曲线。以椭圆曲线 E1(Fq) 为例,其迹为 tq 且满足 (tq)² - 4q = -y²(即 D = 1),其 zeta 函数为 ZE1(T, Fq) = T² - tqT + q = (T - (tq + iy)/2)(T - (tq - iy)/2)。
4 次韦伊限制 E1(Fq) 的 zeta 函数为 ZJC5(T, Fq) = (T - iα)(T + iα)(T - iα)(T + iα) = (T² - yT + q)(T² + yT + q),其中 α = (tq + iy)/2。这表明得到的雅可比总是分解为 E1(Fq) 的两条 4 次扭转曲线。
2.2 D = 2 时的情况
对于 D = 2,考虑椭圆曲线 E(Fp),其迹为 tp 且满足 (tp)² - 4p = -2y²。8 次韦伊限制 E(Fp) 的 zeta 函数为:
Z(T, Fp) = ((T - ζ₈α)(T - ζ₇₈α)(T - ζ₅₈α)(T - ζ₃₈α))((T - ζ₃₈α)(T - ζ₅₈α)(T - ζ₇₈α)(T - ζ₈α))
= (T⁴ - 2yT³ + 2y²T² - 2ypT + p²)(T⁴ + 2yT³ + 2y²T² + 2ypT + p²)
且 #JC(Fp) = p² + 1 - 2yp + 2y² - 2y = (p - y)² + (y - 1)²,这与在 Fp⁴ 上定义同构时 JC5(Fp) 的阶一致。
2.3 D = 3 时的情况
当 D = 3 时,对于椭圆曲线 E(Fp),其迹为 tp 且满足 (tp)² - 4p = -3y²。12 次韦伊限制 E(Fp) 的 zeta 函数为:
Z(T, Fp) = ((T - ζ₁₂α)(T - ζ₁₁₁₂α)(T - ζ₇₁₂α)(T - ζ₅₁₂α))((T - ζ₅₁₂α)(T - ζ₇₁₂α)(T - ζ₁₁₁₂α)(T - ζ₁₂α))
= (T⁴ - (-p + tp(tp + 3y)/2)T² + p²)(T⁴ - (-p + tp(tp - 3y)/2)T² + p²)
可以解释为 Fp 上两条超椭圆曲线雅可比的 zeta 函数,其阶为 p² + p + 1 - tp(tp ± 3y)/2。为了应用 Cocks - Pinch 或 Brezing - Weng 方法,使用 tp ≡ -ω(ωp - 1)/i mod r,y ≡ -ω(ωp + 1)/√3 mod r,其中 ω 是三次单位根,i 是四次单位根。通过 Brezing - Weng 方法找到了 ρ = 3 的新曲线族。
3. 泰特配对计算
泰特配对在椭圆曲线密码学中具有重要应用,其计算效率与曲线模型的选择密切相关。
3.1 背景知识
- 泰特配对的定义 :设 E 是定义在有限域 Fq 上的椭圆曲线,r 是群阶 #E(Fq) 的大素因子,k 是 E 相对于 r 的嵌入度。对于点 P ∈ E(Fq)[r] 和函数 fr,P (其除子 Div(fr,P) = r(P) - r(O)),以及点 Q ∈ E(Fqᵏ)/rE(Fqᵏ) 和 μr (Fqᵏ 中 r 次单位根群),简化的泰特配对 er 定义为 er(P, Q) = fr,P(Q)^((qᵏ - 1)/r) ∈ μr。
- 米勒算法 :如果知道函数 hR,S 使得 Div(hR,S) = (R) + (S) - (S + R) - (O),则可以通过米勒算法迭代计算泰特配对。该算法在第 i 次迭代中计算函数 fi,P 在点 Q 处的求值,其中 Div(fi,P) = i(P) - ([i]P) - (i - 1)(O),fi,P 称为米勒函数。
3.2 雅可比曲线的泰特配对计算
对于雅可比相交曲线和特殊雅可比四次椭圆曲线 Y² = dX⁴ + Z⁴,有不同的计算方法和优化。
- 雅可比相交曲线 :首次提出在雅可比相交曲线上计算泰特配对。利用群法则的几何解释和雅可比相交曲线的二次扭转,得到了一个加倍步骤公式。对于偶数嵌入度的配对计算,该加倍步骤比使用魏尔斯特拉斯曲线、爱德华兹曲线和雅可比四次曲线时略有效,但仍不具竞争力。
- 雅可比四次曲线 :改进了米勒算法中在特殊雅可比四次椭圆曲线 Y² = dX⁴ + Z⁴ 上计算泰特配对的加倍和加法步骤。利用雅可比四次曲线与魏尔斯特拉斯曲线的双有理等价性以及特定的点表示,在所有具有四次扭转的曲线中取得了目前最好的结果。具体而言,在米勒算法的加倍步骤中,相对于魏尔斯特拉斯曲线和雅可比四次曲线,根据嵌入度和扩展域算术,理论上可获得 6% 到 21% 的增益。
综上所述,通过多种方法可以构建配对友好的超椭圆曲线,并且在不同类型的雅可比曲线上可以进行泰特配对的计算和优化。这些研究成果为双线性配对在密码学中的应用提供了更多的选择和可能性。未来,进一步探索这些特殊曲线的更多特性,如更高阶扭转带来的压缩等,将是一个有意义的研究方向。同时,寻找 ρ 值在 1 ⩽ ρ < 2 之间的配对友好超椭圆曲线也是一个待解决的问题。
双线性配对密码学中的超椭圆曲线与泰特配对计算
4. 不同方法构建曲线的特点总结
为了更清晰地对比 Cocks - Pinch 方法和 Brezing - Weng 方法构建配对友好超椭圆曲线的特点,我们将相关信息总结如下表:
| 方法 | 输入要求 | 参数性质 | D 的选择范围 | 适用情况 | ρ 值 |
| ---- | ---- | ---- | ---- | ---- | ---- |
| Cocks - Pinch 方法 | 无平方因子整数 D(3 不能整除 D)、素数 r 的大小、嵌入度 k | 整数 | 较宽泛 | 一般情况,尤其适用于对 r 的分圆多项式次数无限制的情况 | ≈ 4 |
| Brezing - Weng 方法 | 嵌入度 k(5 ⩽ k ⩽ 36) | 模分圆多项式的多项式 | 1 - 35 的无平方因子范围 | 部分嵌入度情况,当 r 的分圆多项式次数合适时 | ≃ 3 |
从表中可以看出,两种方法各有优劣。Cocks - Pinch 方法适用于更广泛的情况,但 ρ 值相对较大;Brezing - Weng 方法能在合适的嵌入度下获得较小的 ρ 值,但对 r 的分圆多项式次数有一定要求。
5. 不同 D 值下曲线构造的流程对比
为了更好地理解不同 D 值下曲线构造的过程,我们可以通过流程图进行对比。
5.1 D = 1 时曲线构造流程
graph TD;
A[定义椭圆曲线 E1(Fq)] --> B[计算 zeta 函数 ZE1(T, Fq)];
B --> C[计算 4 次韦伊限制的 zeta 函数 ZJC5(T, Fq)];
C --> D[分解为两条 4 次扭转曲线];
D --> E[结束];
5.2 D = 2 时曲线构造流程
graph TD;
A[定义椭圆曲线 E(Fp)] --> B[计算 8 次韦伊限制的 zeta 函数 Z(T, Fp)];
B --> C[计算 #JC(Fp)];
C --> D[与 JC5(Fp) 阶对应];
D --> E[结束];
5.3 D = 3 时曲线构造流程
graph TD;
A[定义椭圆曲线 E(Fp)] --> B[计算 12 次韦伊限制的 zeta 函数 Z(T, Fp)];
B --> C[解释为两条超椭圆曲线雅可比的 zeta 函数];
C --> D[应用方法计算 tp 和 y];
D --> E[找到新曲线族];
E --> F[结束];
通过这些流程图,可以清晰地看到不同 D 值下曲线构造的关键步骤和差异。
6. 雅可比曲线泰特配对计算的优化策略
在雅可比曲线的泰特配对计算中,针对雅可比相交曲线和雅可比四次曲线有不同的优化策略。
6.1 雅可比相交曲线优化策略
- 利用几何解释 :借助群法则的几何解释,得到加倍步骤公式。虽然目前在与其他曲线类型对比时竞争力不足,但在偶数嵌入度的配对计算中仍有一定优势。
- 引入二次扭转 :对于偶数嵌入度的情况,定义并使用曲线的二次扭转,使加倍步骤效率有所提升。
具体操作步骤如下:
1. 确定曲线为雅可比相交曲线,且嵌入度为偶数。
2. 利用群法则的几何解释,推导加倍步骤公式。
3. 定义并使用曲线的二次扭转,应用于加倍步骤的计算中。
6.2 雅可比四次曲线优化策略
- 利用双有理等价性 :利用雅可比四次曲线与魏尔斯特拉斯曲线的双有理等价性,为计算提供便利。
- 采用特定点表示 :使用特定的点表示方法,结合双有理等价性,在米勒算法的加倍和加法步骤中取得更好的效果。
具体操作步骤如下:
1. 确定曲线为特殊雅可比四次椭圆曲线 Y² = dX⁴ + Z⁴。
2. 找到雅可比四次曲线与魏尔斯特拉斯曲线的双有理等价关系。
3. 选择合适的特定点表示方法。
4. 在米勒算法的加倍和加法步骤中应用上述等价关系和点表示方法进行计算。
7. 总结与展望
通过对配对友好超椭圆曲线的构建方法以及雅可比曲线泰特配对计算的研究,我们可以看到在双线性配对密码学领域已经取得了许多重要的成果。
不同的曲线构建方法和泰特配对计算优化策略为密码学应用提供了更多的选择。Cocks - Pinch 方法和 Brezing - Weng 方法在不同的情况下各有优势,能够满足不同的安全级别和性能要求。在不同 D 值下,曲线的分解和构造也呈现出不同的特点,为进一步研究曲线的性质提供了基础。
在雅可比曲线的泰特配对计算方面,通过对雅可比相交曲线和雅可比四次曲线的优化,提高了计算效率。尤其是雅可比四次曲线在米勒算法中的改进,取得了较好的理论增益。
然而,目前仍然存在一些问题有待解决。例如,寻找 ρ 值在 1 ⩽ ρ < 2 之间的配对友好超椭圆曲线,这将有助于进一步提高曲线的性能。此外,探索这些特殊曲线的更多特性,如更高阶扭转带来的压缩等,也将为密码学的发展提供新的思路。未来的研究可以围绕这些问题展开,不断推动双线性配对密码学的发展。
超级会员免费看
46

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



