APP下载

利用多基数系统的高效椭圆曲线多标量乘算法

2021-02-05尤文珠葛海波

计算机工程 2021年2期

尤文珠,葛海波

(西安邮电大学电子工程学院,西安 710121)

0 概述

随着无线通信技术的快速发展,人们对物联网安全的需求与日俱增,而加密技术可在确保用户身份验证和授权、通信数据机密性和完整性等方面发挥重要作用。自1975年RIVEST、SHAMIR和ADLEMAN提出RSA公钥密码体制以来,其得到了广泛的研究和应用,但该系统严重依赖使用1 024 bit和2 048 bit等大密钥位的整数分解难题(Integer Factorization Problem,IFP)[1]。之后,MILLER[2]和KOBLITZ[3]提出的椭圆曲线密码体制(Elliptic Curve Cryptography,ECC)使该情况得到了改善。ECC具有与RSA相同功能的公钥密码体制[4],其计算原理是求解椭圆曲线离散对数问题(Ellipse Curve Discrete Logarithm Problem,ECDLP)。相比当前主流的加密系统,ECC以更小的密钥尺寸提供了更高级别的安全性,并且运行速度快,适用于计算资源受限的智能移动终端。

ECC中的标量乘法相比其他运算层是求逆次数最多且最核心的运算,标量乘法的运算速率对实现整个密码体制的性能起到关键作用。标量乘运算又称为点乘运算,即其中,k是一个整数,P为椭圆曲线上的一个基点。在多数情况下,二元表示、非邻接形式(Non-Adjacent Form,NAF)、滑动窗口法以及双基多基标量乘等[5-6]方法通过研究标量k来改进标量乘运算,从而找到更有效表示k的方法。ECC中的多标量乘运算在ECDH[7]等密码协商协议中具有重要作用,可表示为k1P1+k2P2+…+km Pm,在验证椭圆曲线数字签名时通常需要计算kP+JQ[8],其中,P、Q是椭圆曲线上的两个基点,k、J是两个正整数。ECC中的直接算法、Shamir算法[9]、交错NAF算法[10]等多标量乘算法都是通过将ki分解为0和1比特串使其最大限度地出现零列。

文献[11]提出双基数系统(Double-Base Number System,DBNS)。……

登录APP查看全文