椭圆曲线密码体制中的快速点乘算法的实现方法

文档序号:7914474阅读:639来源:国知局
专利名称:椭圆曲线密码体制中的快速点乘算法的实现方法
技术领域
本发明涉及一种椭圆曲线密码体制中的快速点乘算法的实现方法。
背景技术
1985年VictorMiller和NealKoblitz提出的椭圆曲线密码体制(ECC),将椭圆曲 线应用到密码学中,并成为公钥密码学的ー个重要分支,其主要优点是密钥尺度小,实现速 度快以及安全性比较高,由于ECC具有在同等安全強度下,可以用较小的开销,如计算量、 存储量、带宽、软件和硬件实现的规模等,因此特别适用于计算能力和集成电路空间受限、 带宽受限、要求高速实现等情況。尽管椭圆曲线密码体制具有上述的诸多优点,但目前并没有完全替代其它的公钥 密码体制,其实现速度受到制约,因此,对椭圆曲线密码体制加解密速度的研究已经成为ー 个热点,椭圆曲线上的点乘运算是实现椭圆曲线密码体制的基本运算,同时也是最耗时的 运算,它的运算效率直接决定着ECC的性能,目前,常用的椭圆曲线上的点乘运算具有运算 速率低,运算时需要额外存储点的空间,运算过程中需要坐标变化,计算周期数较多,计算 速度慢等缺点。

发明内容
本发明的目的即在于克服现有技术的不足,提供一种运算速率高,运算时不需要 额外存储点的空间,运算过程中不需要坐标变化,减少计算周期数,加快计算速度的椭圆曲 线密码体制中的快速点乘算法的实现方法。本发明的目的是通过以下技术方案来实现椭圆曲线密码体制中的快速点乘算 法的实现方法,它至少包括以下具有最小汉明重从左到右带符号ニ进制编码的点乘算法步 骤
设5定义于有限素域ろ上,/^到み)为任意点,ど玖ろ)]为任意整数; 输入:k = (kl_1,k^,--^,kl,k0)2,Pe E(GFip)); 输出:Q:kP ,
A.令g= ,ら=O ,ち=CH1 = 0太2 = O ;
B.对2=I递减到=O ,执行
a.令^20;
b.A1 <——[(b2 + 乓_2)/2」,e<--2 + も + B1 ,ち <——;
c.如果^实0,令0 = 6 + ;
C.返回G。所述的為小…為為)为k的ニ进制编码。
本发明的有益效果是本发明提供一种椭圆曲线密码体制中的快速点乘算法的实现方法,从三个方面具体分析了椭圆曲线密码体制中快速点乘算法的实现,将Marc Joye和 Sung-Ming Yen提出的具有最小汉明重的从左到右带符号二进制编码应用于椭圆曲线密码体制点乘算法的倍数表示中,生成一个新的能较快实现的带符号二进制编码点乘算法,有最少的非零元,整个点乘过程中不需要坐标变化,不需要进行耗时的模拟运算,可减少计算的周期数,加快计算速度,提高点乘算法的运算速度,具有运算速率高,运算时不需要额外存储点的空间,运算过程中不需要坐标变化,减少计算周期数,加快计算速度等优点。


图1为本发明几种点乘算法的存储空间;
图2为本发明曲线/ = χ3-3x+b上点加和点倍的域操作次数。
具体实施例方式下面结合附图对本发明做进一步的描述,但本发明的保护范围不局限于以下所述。如图1、图2所示,椭圆曲线密码体制中的快速点乘算法的实现方法,它至少包括以下具有最小汉明重从左到右带符号二进制编码的点乘算法步骤
设5定义于有限素域&上,尸为任意点,Γ €[1^5( )]为任意整数,算法中
(^,^,-■ΛχΛο)为k的二进制编码;
输入-Λ. = QcrJ: --·,Κ,、、》》Pe E(GF(p)); 输出..Q =砂,
Α. -φβ = OD , b2 = O , ks = O,= O,= O ;
B.对;=1递减到 = O ,执行
a.令0<——2β;
b.h <——[φ2 + L + 电-2 )/2」,0 <--Ib2 + + , i.——bx ;
c.如果e其O,令β =;
C.返回β。从算法所需存储空间来看,比较几种点乘算法的存储空间,对于二进制位有 I = 256长的数i,NAF算法和NAF_w算法都需要额外的i +1个字节来存储λ各自的NAF表示和NAF_w表示,这些额外的空间可以存储椭圆曲线上4个点,采用最小汉明重从左到右带符号二进制编码的点乘算法的椭圆曲线密码体制中的快速点乘算法动态地生成A,共节省了 2M个字节,明显地降低了在点乘运算中所需的额外存储空间,使其更适于在IC卡等空间较小的平台上实现。下面从三个方面来讨论椭圆曲线密码体制中的快速点乘的实现 (1)椭圆曲线上点的坐标表示点倍和点加是构成点乘的基本运算,它们的速度直接决定了点乘算法的速度,不同坐标表示的点具有不同的点倍和点加速度,比较曲线/ = X3-虹 + 上的点加和点倍所需
的域操作次数,符号Cf1 +C2表示两个相加的点分别是用C1*标系和C2坐标系表
示,而他们的和是用Ct3坐标系表示,例如,J + A——> J表示Jacobian坐标系和仿射坐标
系表示的两个点相加的和是以Jacobian坐标系的形式表示,其中,A=仿射,P=标准投射, J=Jacobian投射,C=chudnovsky投射,I=求逆,M=乘法,S=平方,从而得知以Jacobian投射坐标系表示实现点倍算法具有最快速度,以混合坐标系Jacobian-affine表示实现点加算法具有最快的点加速度;
(2)点乘算法的扫描方式包括从左到右的扫描数字位和从右到左的扫描数字位,从左到右的扫描数字位包括以下步骤
权利要求
1.椭圆曲线密码体制中的快速点乘算法的实现方法,其特征在于它至少包括以下具有最小汉明重从左到右带符号二进制编码的点乘算法步骤设S定义于有限素域&上,尸€对ig为任意点,为任意整数; 输入4 = ( + ^,…,FeS(GFO)); 输出-.Q = kP ,A.令β= οο , ^2 = O , i! = = 0,i_2 = O ;B.对?=/递减到i= 0 ,执行a.令0<——2Q;b.i>! <——L^a + 乓-ι+ Ki )/2」,e <--2b2 +^+B1, b2 <——B1 ;c.如果e实O,令β =;C.返回β。
2.根据权利要求1所述的椭圆曲线密码体制中的快速点乘算法的实现方法,其特征在于所述的…ΛΛ)为k的二进制编码。
全文摘要
本发明公开了一种椭圆曲线密码体制中的快速点乘算法的实现方法,它至少包括以下具有最小汉明重从左到右带符号二进制编码的点乘算法步骤设定义于有限素域上,为任意点,为任意整数;输入;输出;A.令,,;B.对递减到,执行a.令;b.,,;c.如果,令;C.返回。本发明提供一种椭圆曲线密码体制中的快速点乘算法的实现方法,将具有最小汉明重的从左到右带符号二进制编码应用于椭圆曲线密码体制快速点乘算法中,生成一个新的能较快实现的带符号二进制编码点乘算法,具有运算速率高,运算时不需要额外存储点空间,运算过程中不需要坐标变化,减少计算周期等优点。
文档编号H04L9/30GK102393812SQ201110279779
公开日2012年3月28日 申请日期2011年9月20日 优先权日2011年9月20日
发明者赖晖 申请人:四川卫士通信息安全平台技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1