基于预计算的科布利茨曲线高效标量乘法
1. 引言
椭圆曲线密码学(ECC)是一种基于椭圆曲线离散对数问题难度的非对称加密算法。在椭圆曲线密码学中,最耗时的部分是计算标量乘法 $nP$,其中 $n$ 是一个非负整数,$P$ 是椭圆曲线上的一个点。
一般来说,加速标量乘法算法有两种方法:一是降低曲线运算的复杂度,二是为标量 $n$ 设计密度更低的分解算法。本文选择科布利茨曲线 $E_a$ 来降低曲线运算复杂度,因为它具有更高效的曲线运算。对于分解算法,我们通过调用宽度为 $\omega$ 的 $\tau$-NAF 来设计一个双基分解算法,以减少点加法的次数。
科布利茨曲线定义在 $F_{2^m}$ 上,是优化标量乘法算法的重要椭圆曲线家族。其计算优势在于用弗罗贝尼乌斯自同态 $\tau$ 代替点加倍操作,从而实现更快的标量乘法。
2. 预备知识
2.1 双基
一个整数可以用 $(A, B)$ 作为合适的整数对表示为 $\sum A^{s_i}B^{t_i}$,其中 $s_i$ 和 $t_i$ 是非负整数。在本文研究中,$A, B \in Z[\tau]$ 是代数整数。整数 $n$ 的 DBNS$(A, B)$ 展开式为:
$n = \sum_{i=0}^{k - 1} (-1)^{e_i}A^{s_i}B^{t_i}$,其中 $e_i \in {0, 1}$。
2.2 科布利茨曲线
科布利茨曲线 $E_a$ 定义在 $F_{2^m}$ 上,方程为 $y^2 + xy = x^3 + ax^2 + 1$,其中 $a \in {0, 1}$。$E_a(F_{2^m})
超级会员免费看
订阅专栏 解锁全文
16

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



