专利名称:一种提高椭圆曲线标量乘法计算效率的方法
技术领域:
本发明涉及安全技术,特别是涉及一种提高椭圆曲线标量乘法计算效率的方法。
背景技术:
无线传感器网络WSN(Wireless Sensor Network)作为一种自组织网络,由大量无线传感器节点协同工作,实现某一特定任务,如,气候监测、大气污染监测、海洋监测、地震监测、家庭环境监测、生物威胁检测与预报等。由于无线传感器节点通常部署在无人维护的不可控环境中,易发生信息泄露、信息篡改、重放攻击、拒绝服务、被攻击者物理操纵等问题;因此,无线传感器节点的安全问题是WSN的关键问题。目前,公钥加密(或称之为“非对称加密”)方法包括基于大数因子分解的加密法, 如,RSA公钥加密法;基于离散对数的加密法,如,DSA公钥加密法;基于椭圆曲线离散对数的加密法,如,椭圆曲线密码ECC(Elliptic Curve Cryptography)加密法。其中,ECC密钥长度较短,如,160比特的ECC密钥相当于IOM比特的RSA密钥,较适用于具有存储容量较小、计算能力较弱、电池容量较小、传输速率较低等特点的无线传感器节点中。但是,ECC 加密法中的椭圆曲线标量乘法很耗时和耗内存,为使ECC加密法进一步适应WSN,需要提高 ECC加密法中标量乘法计算效率。由此可见,现有技术中,由于椭圆曲线标量乘法很耗时和耗内存,故椭圆曲线标量乘法计算效率较低。
发明内容
有鉴于此,本发明的主要目的在于提供一种节约时间和存储空间的提高椭圆曲线标量乘法计算效率的方法。为了达到上述目的,本发明提出的技术方案为—种提高椭圆曲线标量乘法计算效率的方法,包括如下步骤步骤A、将椭圆曲线坐标从仿射坐标系转化到射影坐标系;步骤B、将常规二进制整数k、1表示为非联合形式二进制整数NAF (k)、NAF(I);步骤C、采用滑动窗口法计算射影坐标下椭圆曲线标量乘法kP ;步骤D、采用滑动窗口法,在射影坐标下同步计算应用于数字签名验证的标量乘法之和kP+lQ。综上所述,本发明中,椭圆曲线坐标通过从仿射坐标到射影坐标的转变,将求逆运算转化为乘法运算;其次,通过非联合形式二进制整数中非零位个数的减少,节约了标量乘法与标量乘法之和的计算时间和存储容量;再次,通过滑动窗口法使得窗口内部分非联合形式二进制整数为最大比特位奇数时,多位一次性参与标量乘法与标量乘法之和的计算, 而不采用非联合形式表示的二进制整数逐位参与标量乘法与标量乘法之和的计算,进一步节约了标量乘法与标量乘法之和的计算时间和存储容量。
图1是本发明所述提高椭圆曲线标量乘法计算效率的方法的流程示意图。图2是本发明常规二进制整数非联合形式表示法的流程示意图。图3是本发明采用滑动窗口法计算射影坐标下椭圆曲线标量乘法的流程示意图。图4是本发明采用滑动窗口法同步计算射影坐标下标量乘法之和的流程示意图。
具体实施例方式为使本发明的目的、技术方案和优点更加清楚,下面将结合附图及具体实施例对本发明作进一步地详细描述。图1是本发明所述提高椭圆曲线标量乘法计算效率的方法的流程示意图。如图1 所示,本发明所述提高椭圆曲线标量乘法计算效率的方法包括如下步骤步骤A、将椭圆曲线坐标从仿射坐标系(affine coordinates)转化到射影坐标系 (projective coordinates)。步骤B、将常规二进制整数k、1表示为非联合形式二进制整数NAF (k)、NAF(I)。步骤C、采用滑动窗口法计算射影坐标下椭圆曲线标量乘法kP。步骤D、采用滑动窗口法,在射影坐标下同步计算应用于数字签名验证的标量乘法之和kP+lQ。总之,本发明首先将椭圆曲线坐标表示从仿射坐标系转化到射影坐标系,将求逆运算转化为乘法运算;其次,将常规二进制整数表示为非联合形式,减少了二进制序列中的非零位个数;再次,采用滑动窗口法获取椭圆曲线的标量乘法与标量乘法之和;因此,本发明方法的上述措施,均减少了计算复杂度,也减少了计算时间消耗和内存消耗,适合应用于计算能力、存储资源、带宽、能量均有限的无线传感节点,减少了实现安全机制所带来的额外开销。实际应用中,本发明所述提高椭圆曲线标量乘法计算效率的方法还包括步骤E、将步骤D得到的标量乘法之和kP+lQ的坐标由射影坐标转化为仿射坐标。步骤A中,椭圆曲线为在仿射坐标中,域(Field) K上满足Z+^xy+hy = 13+ + ^ 的曲线;在椭圆曲线中,仿射坐标A(K) = {(x,y) :x,y e K}和射影坐标P(K)* ={(X:Y:Z):X,Y,Z e Κ,Ζ^Ο}具有一一对应关系。在仿射坐标中,椭圆曲线上存在一个无限远点,用⑴表示;该无限远点对应于射影坐标下的椭圆曲线点(1,1,0)。步骤A中,将椭圆曲线坐标表示从仿射坐标系转化到射影坐标系,具
权利要求
1. 一种提高椭圆曲线标量乘法计算效率的方法,其特征在于,所述方法包括如下步骤步骤A、将椭圆曲线坐标从仿射坐标系转化到射影坐标系; 步骤B、将常规二进制整数k、1表示为非联合形式二进制整数NAF (k)、NAF(I); 步骤C、采用滑动窗口法计算射影坐标下椭圆曲线标量乘法kP ; 步骤D、采用滑动窗口法,在射影坐标下同步计算应用于数字签名验证的标量乘法之和 kP+lQo
2.根据权利要求1所述的提高椭圆曲线标量乘法计算效率的方法,其特征在于,所述方法还包括步骤E、将步骤D得到的标量乘法之和kP+lQ的坐标由射影坐标转化为仿射坐标。
3.根据权利要求1所述的提高椭圆曲线标量乘法计算效率的方法,其特征在于,步骤A 中,所述椭圆曲线为在仿射坐标中,域K上满足y2+aiXy+a3y = x3+a2x2+a4x+a6的曲线;在所述椭圆曲线中,仿射坐标A(K) = {(x, y):x, yeK}与射影坐标P(K)*= {(X:Y:Z):X, Y,Z e K,Z兴0} —一对应;仿射坐标下椭圆曲线上的无穷远点⑴与射影坐标下椭圆曲线上的无穷远点(1,1,0) —一对应; 正整数。所述将椭圆曲线坐标从仿射坐标系转化到射影坐标系,具体为
4.根据权利要求3所述的提高椭圆曲线标量乘法计算效率的方法,其特征在于,所述射影坐标为雅可比坐标,参数c = 2、d = 3。
5.根据权利要求3所述的提高椭圆曲线标量乘法计算效率的方法,其特征在于,步骤B 中,所述非联合形式是一种带符号的二进制表示法,NAF表示的二进制整数序列中没有连续两位是非零;所述将常规二进制整数k、1表示为非联合形式二进制整数NAF (k)、NAF(I),包括如下步骤步骤Bi、常规二进制整数k、1均具有η比特位,设置-0,其中,i、n均为非负整数,且 0彡i彡η ;步骤Β2、对常规二进制整数k、1进行奇偶性判断当常规二进制整数k、1为奇数时, Iii — 2-(kmod4)、Ii — 2-(ImocM)、k — Hi、1 — I-Ii ;当常规二进制整数 k、1 为偶数时, K — 0、Ii — 0 ;存储k” Ii ;其中,k” Ii分别为常规二进制整数k、1的第i比特位;步骤B3、根据步骤B2中常规二进制整数k、1奇偶性判断结果,取k — k/2、1 — 1/2、 i — i+1 ;步骤B4、判断k彡1是否成立当k彡1时,返回步骤B2 ;当k < 1时,常规二进制整数其中,参数已”已”已” , e K, Δ乒0,且·k、1 为非联合形式二进制整数 NAF(k) = Gv1,kn_2,…,ki; k。)、NAF⑴=(Ilri,ln_2,…, I1, 1。),输出 NAF (k)、NAF (1)。
6.根据权利要求5所述的提高椭圆曲线标量乘法计算效率的方法,其特征在于,步骤C 所述采用滑动窗口法计算射影坐标下椭圆曲线标量乘法kP,包括如下步骤步骤Cl、计算并存储Pj = jP,设置R —①、d — n-1 ;其中,d为非负整数,且0彡d彡η ;P为椭圆曲线上的一个点,7+6| ,3,5,···,2(2[lj;滑动窗口 w的大小为使得窗口内的部分非联合形式二进制整数是比特位最大的奇数;步骤C2、判断kd = 0是否成立当kd = 0时,设置t — l、u — 0 ;当kd兴0时,寻找满足t彡w的最大t,且u— (kd,,…,kd_t+1)为奇数;其中,kd为常规二进制整数k的第 d比特位;t为整数,(kd,,…,kd_t+1)为部分NAF(k);步骤C3、根据步骤C2中的判断结果,依次设置R — 2tR、R — R+Pu、d — d_t ;其中,Pu =
7.根据权利要求6所述的提高椭圆曲线标量乘法计算效率的方法,其特征在于,步骤 C3中,根据u,采用查表方式从步骤Cl中存储的中查找Pu。
8.根据权利要求5所述的提高椭圆曲线标量乘法计算效率的方法,其特征在于,步骤D 所述采用滑动窗口法,在射影坐标下同步计算应用于数字签名验证的标量乘法之和kP+lQ, 包括如下步骤步骤Dl、计算并存储Pf+Qm = fP+mQ,设置R —①、ρ — n_l ;其中,ρ为非负整数,且 OiSpiS η :P、y 为椭關 111 丨线 I·.的两个点,/,W G {l,3,5,...,2(2K.;(-ln- l| ;步骤D2、判断kp、Ip是否均为0 如果是,则设置q—l,,r — 0,s — 0 ;如果不是,寻找满足q彡w的最大q,且r— (kp,Ivi,…,Iv^)、s —(lp,Ijri,…,1 +1)同为奇数;其中, kp、lp*别为常规二进制整数k、l的第ρ比特位;r、s均为非负整数,GvIvi,…,为部分 NAF(k)、(lp,Ilri,…,lp_q+1)为部分 NAF(I);步骤D3、根据步骤D2中的判断结果,依次设置R — 21 R-R+ (Pr+Qs)、P — p_q ; 步骤D4、判断ρ彡0是否成立当ρ彡0时,返回步骤D2 ;当ρ < 0时,R即为kP+lQ, 输出R。
9.根据权利要求8所述的提高椭圆曲线标量乘法计算效率的方法,其特征在于,步骤 Dl中,所述Pf+Qm以矩阵方式存储;步骤D3中,根据r、s,采用查表方式从步骤Dl中存储的 Pf+Qm 中查找 Pr+A。
全文摘要
本发明提供一种提高椭圆曲线标量乘法计算效率的方法,包括步骤将椭圆曲线坐标表示从仿射坐标系转化到射影坐标系;将常规二进制整数k、l表示为非联合形式NAF(k)、NAF(l)采用滑动窗口法计算射影坐标下椭圆曲线标量乘法kP;采用滑动窗口法,在射影坐标下同步计算应用于数字签名验证的标量乘法之和kP+lQ。本发明具有运行时间短、需存储容量小的特点,可广泛应用于无线传感器网络中。
文档编号H04L9/30GK102387015SQ201110271048
公开日2012年3月21日 申请日期2011年9月14日 优先权日2011年9月14日
发明者刘玉英, 史士杰, 李世银, 程德强, 黄远江 申请人:中国矿业大学