收 稿日期 : 2008-05-13; 修 回日期 : 2008-07-02
作 者简介 : 刘连浩 ( 1959-) , 男, 教授 , 博 士, 主要 研究方 向为 信息安 全与 密码学 ; 申 勇( 1983- ) , 男 , 硕 士研 究 生, 主 要研 究 方向 为 信息 安 全与 密
码学( csu_shengyong@ live. cn) .
椭 圆 曲 线 密 码 体 制 中 标 量 乘 法 的 快 速 算 法
刘连浩, 申 勇
( 中南 大学 信 息科 学与 工程学 院, 长沙 410083)
摘 要: 求 逆是标量乘 法中最耗时 的运算, 求逆运算次 数的多少直 接决定标量乘 法的性能。 转换求逆为 乘法 运算
能够降低求 逆次数。根 据这种思想, 提出了素 域 F
p
上用 仿 射坐 标直 接 计算 3P + Q 的 算 法, 其运 算量 为 1I +3S +
16M, 比 Ciet等人提出 的方法节省 了一次求逆 运算。同时还 给出 直接 计算 3
k
P 的算 法, 该 算法 比重 复 计算 k 次 3P
更有效。最 后结合 3-NAF
w
的编 码方法, 把两个新算 法应 用到 标量 乘 法中。 结果 表 明, 运用 3P + Q、3
k
P 的 标 量乘
法比传统的 NAF、NAF
4
等方法更 有效, 相 交处 I/M的值 可降为 5.4。
关键 词: 椭圆曲 线密 码体 制; 标 量乘 法; 仿射坐 标; 求 逆; NAF
中图 分类 号: TP309 文 献标 志码: A 文章编 号: 1001-3695( 2009) 03-1104-05
Fast algorithm for scalar multiplication in elliptic curves cryptography
LIU Lian-hao, SHEN Yong
( School of Information Science & Engineering, Central South University, Changsha 410083, China)
Abstract: A field inversion is the most expensive operation on scalar multiplication, and the number of inversion determines
the performance of scalar multiplication. Trading inversions for multiplications can decrease the number of inversion. Based on
the idea, this paper proposed an efficient algorithm to compute 3P + Q directly over F
p
in termsof affine coordinates, its com-
putational complexity was 1I+3S +16M, saving one field inversion compared to Ciet’s method. Moreover, also gave an im-
provement to compute 3
k
P directly, which was more efficient than k repeated 3P. Finally, applied the two algorithms to scalar
multiplication combined with the representation of 3-NAF
w
. The result suggests that the scalar multiplication using 3P + Q and
3
k
P is faster than traditional methods, such asNAF, NAF4 and so on, and the ration I/M of break-even pointcan be reduced
to 5. 4.
Key words: elliptic curves cryptography( ECC) ; scalar multiplication; affine coordinates; field inversion; non-adjacent form
0 引言
1985 年, Koblitz
[ 1]
和 Miller
[ 2]
分别提出了 一种能 在低要 求
的计算环境中达到高强 度加密 的一种 新的公 钥算法———椭 圆
曲线密码体制( ECC) , 并逐步成为国内外学者研究的热点。这
种密码体制受欢迎之处在于在 安全性 相当的 前提下 可用较 短
的密钥。就安 全 性 而 言, 一 般 认 为 ECC160 位的 密 钥 与 RSA
1 024位密钥是相 当 的, 为 保 证长 期 的 安全 性, RSA 至 少 需 要
2 048位, 而椭圆曲线 密码 体系 只需 要 210 位。 有数 据表 明 当
位长加倍时, 公钥操作时间( 加密或签名验证) 增加为 原来的 4
倍, 私钥操作时间 ( 解密 或签 名) 增 加为原 来的 8 倍
[ 3]
。密 钥
短意味着存 储空 间 占用 少、带宽 要 求低 等。ECC 的 这些 特 点
使得业内人士普遍认为它在某 些计算 能力和 存储空 间受限 的
领域如 PDA、手机、智能卡 等方面 的应用 将取 代 RSA, 并成 为
下一代最通用的公钥加密算法标准。
利用 ECC算法加密、解密、签名、验证, 最主要和 最耗时的
运算是标量乘法。所谓标量乘法 就是给定一 个整数 m( 标量)
和椭圆曲线上的一个点 P( 基点 ) , 求 另外 一个 点 mP 的运算。
现阶段, 计算 mP 也有一些较好的办法
[ 4 ~6]
, 可归纳 为: a) 对基
点 P 进行坐标变换( 仿射坐标、投影坐标、Jacobian坐标等) ; b)
对标量 m 进行重新编码( 二进制、三进 制、NAF、w-NAF等) ; c)
在曲线上进行有效的群运算( 2P、2P + Q、3P、3P + Q 等) ; d) 利
用 comb、加减法链等有效算法。本文首先采用方法 c) 对 3P +
Q 进行群运算, 然后采用方法 b) 对 m 进行重新编码, 最后计 算
mP。
标量乘法中的求逆运算极为耗时, 为提高标量乘法的运算
效率, 很多学者
[ 7~11]
把求逆运算转换为乘法运算。Guajardo 等
人
[ 10]
利用转换求逆为乘 法的思 想, 提出 了仿 射坐 标下 直接 计
算 4P、8P 和 16P 的 算 法, 提 高 了 标 量 乘 法 的 效 率。 Sakai 等
人
[ 9]
则拓展了文 献[ 10] , 提 出仿 射坐 标下 直接 计算 2
k
P 的 算
法。对于给定的 P 和 Q, Ciet等人
[ 7]
根据 同样 的思 想, 提出 了
仿射坐标下 直 接 计 算 3P + Q 的算 法, 把 其 运 算 量 降 为 2I +
4S+9M, 比计算( 3P) + Q 节省 了一次 求逆运 算。其中 用 I、S、
M 分别表示求逆、平方、乘法运算。此外, 文献[ 7] 还提出了 直
接计算 3P 的算法, 其运算 量为 1I + 4S+ 7M, 比计 算( 2P) + P
节省了 0.6M。
利用转换求逆为乘法运算的思想, 本文提出另一种用仿射
坐标直接计算 3P +Q 的算法, 其运 算量为 1I + 3S +16M, 比 文
献[ 7] 节省了一次求逆运算, 相交处 ( 运算量相等 时) I/M的 值
为 6.2。另外, 本 文 还 提 出 了 用 仿 射坐 标 直 接 计 算 3
k
P 的 算
第 26 卷 第 3 期
2009 年 3 月
计 算 机 应 用 研 究
Application Research of Computers
Vol. 26 No. 3
Mar. 2009