布尔标量拆分与椭圆曲线密码学中的指数拆分应用
1. 布尔标量拆分与椭圆曲线
在椭圆曲线密码学中,我们通常会定义适用于任何乘法表示的群 $G$ 的群幂运算。不过,特定的群可能有其独特的特性,使得之前的算法并不适用。这里我们聚焦于由椭圆曲线(EC)上的点构成的群。
我们在有限域 $F_q$($q$ 为大素数)上定义椭圆曲线 $E$,它由满足短魏尔斯特拉斯方程 $E: y^2 = x^3 + ax + b$(其中 $a, b \in F_q$)的点 $(x, y)$($x, y \in F_q$)以及无穷远点 $OOO$ 组成。集合 $E(F_q) = {(x, y) \in E | x, y \in F_q} \cup {OOO}$ 在弦切规则下构成一个阿贝尔群,$OOO$ 为单位元。在密码算法中,也会使用具有不同中性元素表示的替代方程,如爱德华兹曲线和蒙哥马利曲线。
给定点的标量乘法是 $E$ 中的群幂运算,它使用椭圆曲线算术,即点之间的加法或标量乘法 $[\kappa]PPP$($\kappa < |E|$ 为整数),这是许多密码算法的重要组成部分。
由于中性元素的存在,之前的算法无法按原样安全实现。在短魏尔斯特拉斯方程的例子中,中性元素 $1_G$ 在 $E$ 中表示为无穷远点 $OOO$,无法以常规方式处理。实际中,我们会在预处理时处理最高有效位(假设为 1)。例如,算法 2 可实现为算法 6,算法 5 可实现为算法 7。
算法 6:椭圆曲线上带异或拆分标量的蒙哥马利阶梯算法
输入: E, Fq, PPP
超级会员免费看
订阅专栏 解锁全文
52

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



