超奇异曲线与Kedlaya算法扩展在密码学中的应用
在密码学领域,曲线的点数计算以及曲线的安全性是至关重要的研究方向。本文将介绍Kedlaya算法的扩展以及超奇异曲线在密码学中的相关应用。
1. Kedlaya算法扩展的复杂度分析
在对Kedlaya算法扩展进行复杂度分析时,需要做出以下假设:
- 特征 $p$ 是固定的。
- 曲线的参数 $r$ 和 $d$ 是固定的,因此亏格也是固定的。
- 每次需要对两个具有复杂结构(整数上的多项式上的多项式上的截断级数)的元素进行乘法运算时,假设将所有内容打包成大整数,并使用Schönhage的快速乘法算法。两个比特大小为 $N$ 的对象之间的乘法运算假设需要 $O(N^{1 + ε})$ 的时间。
下面是算法各步骤的复杂度分析:
|步骤|复杂度分析|
| ---- | ---- |
|步骤2|需要对 $Z_q$ 中的某些元素应用Frobenius映射。由于 $t$ 是 $P(t)$ 的根,$t^σ$ 也是其根,可通过以 $t^p$ 为初始值的牛顿迭代 $X ← X - P(X)/P’(X)$ 得到 $t^σ$,这只是一个预计算,且成本与算法的其他部分相当。此后,在 $O(n^{3 + ε})$ 时间内可以得到 $Z_q$ 中元素的Frobenius映射。|
|步骤3|是牛顿提升,成本受最后一次迭代成本的常数倍限制。最后一次迭代需要对 $Z_q$ 中系数为多项式(次数为 $d - 1$)上的次数为 $µ$ 的多项式对象进行几次乘法运算。$Z_q$ 中的元素比特大小为 $nν$,因此对象的比特大小为 $nνµd = O(n^{3 + ε})$。所以,最终迭代中需要进行的 $
超级会员免费看
订阅专栏 解锁全文
532

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



