一种基于ecc算法的安全ip核的实现方法及其装置的制作方法

文档序号:7892715阅读:322来源:国知局
专利名称:一种基于ecc算法的安全ip核的实现方法及其装置的制作方法
技术领域
本发明涉及网络通信安全技术领域,尤其涉及一种基于ECC算法的安全IP核的实现方法及其装置。
背景技术
目前国外实现了椭圆曲线加密算法,许多关于椭圆曲线的标准文档如=IEEEP1363、P1363a、ANSIX9. 62X9. 63、IS0/IEC14888都相继制定。但是将椭圆曲线密码体制(Elliptic Curve Cryptosystems, ECC)应用于加密中间件产品还属于空白,对于基于ECC的加密产品的研究还处于起步和研究阶段。2003年中国颁布的无线局域网国家标准GB15629. 11中,包含了全新的WAPI的安全机制就是基于椭圆曲线加密算法,这也预示着基于椭圆曲线加密算法的信息安全产品将是我国未来无线局域网络通信安全的主流设备。国内只有个别公司生产了基于P域的椭圆曲线加密算法的研发性质的安全产品,但产品的加/解密的执行效率较低,也没有成功地应用于电子商务、安全通信和电子支付等信息安全领域的产品中。IP核(Intellectual Property core)是一段具有特定电路功能的硬件描述语言程序,该程序与集成电路エ艺无关,可以移植到不同的半导体エ艺中去生产集成电路芯片。SoC称为系统级芯片,也有称片上系统,意指它是ー个产品,是ー个有专用目标的集成电路,其中包含完整系统并有嵌入软件的全部内容。同时它又是ー种技术,用以实现从确定系统功能开始,到软/硬件划分,并完成设计的整个过程。System on Chip的縮写,称为系统级芯片,也有称片上系统,意指它是ー个产品,是ー个有专用目标的集成电路,其中包含完整系统并有嵌入软件的全部内容。我国集成电路产业发展迅速,IP核(Intellectual Property core)技术作为一种新的技术方法,是我国IC设计业的ー个重要突破口。对于消费类电子、便携式和无线等IC产品,它们越来越多地要采用系统级芯片(System on Chip,SoC)(也称片上系统)技术进行集成。IP核质量的高低、数量的多少、交易的难易、保护的得力与否等因素越来越成为影响SoC发展的重要因素。第一类公钥系统是RSA系统,它的安全性是基于大整数因子分解的困难性,可以确保RSA算法的安全性。RSA系统是公钥系统的最具有典型意义的方法,RSA方法的优点主要在于原理简单,易于使用。但是,随着分解大整数方法的进步及完善、计算机速度的提高以及计算机网络的发展(可以使用成千上万台机器同时进行大整数分解),作为RSA加解密安全保障的大整数要求越来越大。为了保证RSA使用的安全性,其密钥的位数一直在増加,比如,目前一般认为RSA需要1024位以上的字长,显然,密钥长度的增加导致了其加解密的速度大幅降低,硬件实现也变得越来越难以任受,这对使用RSA的应用带来了很重的负担,对进行大量安全交易的电子商务更是如此,从而使得其应用范围越来越受到制约。第二类公钥系统的安全性依赖于离散对数的计算困难性(简称DLP问题)。设G为ー个有限ABEL加法群,假定g为G的某个元,a为任意的整数,如果已知g及ag,如何求出整数a来的问题在数学上称为离散对数问题。一般说来,当群G选择得当,且整数a充分大时,求解此类问题是非常困难的。离散对数问题又可细分为两类,一类为某个有限域上的离散对数问题。一类为椭圆曲线上的离散对数问题。两者比较,后一类问题求解更为困难些。基于这一判断,人们通过对群G作出不同的选择时,构造了各种不同的公钥系统,比如,Massey-Omura公钥系统,EIGamal公钥系统等等。国内目前应用比较成熟的信息安全加/解密产品主要基于RSA算法。由于计算机处理速度的加快使计算机破译信息的能力不断提高,致使RSA密钥不断加长,但是由于RSA加密算法的加密强度较弱,因此采用RSA加密算法达到较高的安全性时需要较长的密钥;另外,RSA加密算法的安全性能和执行效率较低,在处理能力和存储能力都很低的移动终端设备中的效率具有较差的效果。

发明内容
本发明的目的在于克服现有技术的不足,本发明提供了一种基于ECC算法的安全IP核的实现方法及其装置,可以提升IP核的安全性及运算速度,并提高可复用性,从而降低应用开发成本。为了解决上述问题,本发明提出了一种基于ECC算法的安全IP核的实现方法,所述方法包括选取一条基于GF(2n)域的非奇异、非畸形的椭圆曲线,所述椭圆曲线的方程形式为y2+xy = x3+ax2+b ;根据所述椭圆曲线构建基于GF (2n)的ECC算法模式;根据所述ECC算法模式构建安全IP核。优选地,所述ECC算法模式采用基于滑动窗口技术的有限域GF(2n)的乘法算法。优选地,所述根据所述椭圆曲线构建基于GF (2n)的ECC算法模式的步骤包括根据所述椭圆曲线构建基于滑动窗口技术的有限域GF(2n)的ECC算法模式。优选地,所述根据所述椭圆曲线构建基于滑动窗口技术的有限域GF(2n)的ECC算法模式的步骤包括对于任意的a = (an-1, an-2, , a2, al, a0) G GF(2n),将a按以下方式进行分段a = W[s-l]l[s-2]W[s-2]l[s_3]. W[1]1
W
,其中 ff[j]称为窗口,l[j]称为窗口间隔,窗口间隔l[j]由连续为‘0’的比特组成。相应地,本发明实施例还提供一种基于ECC算法的安全IP核的实现装置,所述装置包括选取模块,用于选取一条基于GF(2n)域的非奇异、非畸形的椭圆曲线,所述椭圆曲线的方程形式为y2+xy = x3+ax2+b ;模式构成模块,用于根据所述椭圆曲线构建基于GF(2n)的ECC算法模式;IP核构成模块,用于根据所述ECC算法模式构建安全IP核。优选地,所述ECC算法模式采用基于滑动窗口技术的有限域GF (2n)的乘法算法。优选地,所述模式构成模块还用于根据所述椭圆曲线构建基于滑动窗口技术的有限域GF(2n)的ECC算法模式。
优选地,所述模式构成模块还用于对任意的a = (an-1, an-2, . . . , a2, al,a0) G GF(2n)按以下方式进行分段a = W[s_l] I [s_2]W[s_2] I [s_3] W[l] I
W
,其中W[j]称为窗口,l[j]称为窗口间隔,窗口间隔l[j]由连续为‘0’的比特组成。
实施本发明实施例的基于ECC算法的安全IP核的实现方法及其装置,具有理速度快、占用存储空间小,占用带宽低、可复用性好等优点;另外,在私钥的处理速度上(解密和签名)比基于RSA、DSA算法的产品要快得多;存储空间占用小,占用带宽比较低,这使得产品在无线网络领域具有广泛的应用前景,对于应用IC卡的移动支付系统具有特别重要的意义;可复用性好,能够在不同的平台下加载到芯片或应用软件中,从而能缩短目标软件的开发时间,提高其可靠性。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。图I是本发明实施例的基于ECC算法的安全IP核的实现方法的流程示意图;图2是本发明实施例的基于ECC算法的安全IP核的实现装置的结构组成示意图。
具体实施例方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。在本申请中,基于以可复用性为总的设计思想,对椭圆曲线加密算法进行了研究,采用面向对象的设计方法和自顶向下的方法分别从软件和硬件的角度实现了 ECC算法模式。从软件角度看,ECC算法的实现是结合UML建模技术,并运用了构件设计方法,最终产品以构件的形式存在,这种构件提供统一的接口。不同的应用软件可以通过统一的接口调用ECC算法,从而实现加密、认证等功能。从硬件角度来说,ECC算法的实现是运用了 IP核的设计方法和FPGA技术,最终产品以一个IP核的形式存在,在芯片设计中可以根据需要嵌入这种IP核。图I是本发明实施例的基于ECC算法的安全IP核的实现方法的流程示意图,如图I所示,该方法包括S101,选取一条基于GF(2n)域的非奇异、非畸形的椭圆曲线,该椭圆曲线的方程形式为y2+xy = x3+ax2+b ;S102,根据椭圆曲线构建基于GF (2n)的ECC算法模式;S103,根据ECC算法模式构建安全IP核。在S102中,ECC算法模式采用基于滑动窗口技术的有限域GF(2n)的乘法算法。具体实施中,S102进一步包括根据椭圆曲线构建基于滑动窗口技术的有限域GF (2n)的ECC算法模式。
在本实施例中,选择一条基于GF(2n)域的非奇异的和非畸形的椭圆曲线,其方程形式为y2+xy = x3+ax2+b。基于这种椭圆曲线建立的ECC算法能避免MOV、大步小步和亚指数算法的攻击,而域乘、模运算以及逆元运算更有利于硬件的快速实现。具体算法采用基于滑动窗口技术的有限域GF(2n)的乘法算法,而采用固定窗口技术存在以下缺点固定窗口技术在进行每一次计算时,不是按位而是按照一定宽度w(w> I)的块来进行处理的算法。其算法虽然比shift-and-add算法要快大约3 5倍,但是它需用一定的内存空间来存储预计算结果,所以在内存受限的移动终端,该算法就无法得到有效应用。在本发明实施例的构建基于GF(2n)的ECC算法模式中采用滑动窗口技术设计有限域GF(2n)的乘法算法。对于任意的a = (an-1, an-2, , a2, al, aO) G GF(2n),将 a 按如下方式分段a = W[s-l]l[s-2]W[s-2]l[s_3]. W[1]1
W
,其中 ff[j]称为窗口,l[j]称为窗口间隔。窗口间隔l[j]由连续为‘0’的比特组成。本发明中的基于滑动窗口技术的有限域GF (2n)乘法算法的效率与窗口间隔紧密相关,窗口间隔越大,计算量就越小,其效率也就越闻。为提闻算法效率,需将表不域兀素的正数二进制序列转化为带符号的二进制序列。如带符号的二进制数表示,MOC算法能将正数二进制表示的a = an2n+an-12n-l+. . . +al21+a0 (ai G {0,1})转化为带符号二进制数表7]\ a' = a' n2n+a; n-12n-l+. . . +a' 121+a' 0 (a' i G {0, ± 1}),同时求出 W[i],且平均间隔约为2。其算法模式(算法中w为窗口宽度)的实现过程如下所示。MOC 算法
权利要求
1.一种基于ECC算法的安全IP核的实现方法,其特征在于,所述方法包括 选取一条基于GF(2η)域的非奇异、非畸形的椭圆曲线,所述椭圆曲线的方程形式为y2+xy = xJ+ax2+b ; 根据所述椭圆曲线构建基于GF (2n)的ECC算法模式; 根据所述ECC算法模式构建安全IP核。
2.如权利要求I所述的基于ECC算法的安全IP核的实现方法,其特征在于,所述ECC算法模式采用基于滑动窗ロ技术的有限域GF (2n)的乘法算法。
3.如权利要求2所述的基于ECC算法的安全IP核的实现方法,其特征在于,所述根据所述椭圆曲线构建基于GF (2n)的ECC算法模式的步骤包括根据所述椭圆曲线构建基于滑动窗ロ技术的有限域GF(2n)的ECC算法模式。
4.如权利要求3所述的基于ECC算法的安全IP核的实现方法,其特征在于,所述根据所述椭圆曲线构建基于滑动窗ロ技术的有限域GF(2n)的ECC算法模式的步骤包括 对于任意的a = (an-1, an-2, · · · , a2, al, aO) e GF (2n),将a按以下方式进行分段a = ff[s-l] I [s-2]ff[s-2] I [s-3]. . . W[l] I
W
,其中 ff[j]称为窗 ロ,I [j]称为窗ロ间隔,窗ロ间隔l[j]由连续为‘0’的比特组成。
5.一种基于ECC算法的安全IP核的实现装置,其特征在于,所述装置包括 选取模块,用于选取一条基于GF(2n)域的非奇异、非畸形的椭圆曲线,所述椭圆曲线的方程形式为y2+xy = x3+ax2+b ; 模式构成模块,用于根据所述椭圆曲线构建基于GF(2n)的ECC算法模式; IP核构成模块,用于根据所述ECC算法模式构建安全IP核。
6.如权利要求5所述的基于ECC算法的安全IP核的实现装置,其特征在于,所述ECC算法模式采用基于滑动窗ロ技术的有限域GF (2n)的乘法算法。
7.如权利要求6所述的基于ECC算法的安全IP核的实现装置,其特征在于,所述模式构成模块还用于根据所述椭圆曲线构建基于滑动窗ロ技术的有限域GF(2n)的ECC算法模式。
8.如权利要求7所述的基于ECC算法的安全IP核的实现装置,其特征在于,所述模式构成模块还用于对任意的a = (an-1, an-2, . . . , a2, al, aO) e GF(2n)按以下方式进行分段a = ff[s-l] I [s-2]ff[s-2] I [s-3] ...ff[l]l
ff
,其中 W[j]称为窗 ロ,I [j]称为窗ロ间隔,窗ロ间隔I [j]由连续为‘0’的比特组成。
全文摘要
本发明实施例公开了一种基于ECC算法的安全IP核的实现方法及其装置,其中,该方法包括选取一条基于GF(2n)域的非奇异、非畸形的椭圆曲线,所述椭圆曲线的方程形式为y2+xy=x3+ax2+b;根据所述椭圆曲线构建基于GF(2n)的ECC算法模式;根据所述ECC算法模式构建安全IP核。实施本发明实施例的基于ECC算法的安全IP核的实现方法及其装置,具有理速度快、占用存储空间小,占用带宽低、可复用性好等优点;在私钥的处理速度上(解密和签名)比基于RSA、DSA算法的产品要快得多;存储空间占用小、占用带宽比较低的特点使得产品在无线网络领域具有广泛的应用前景;可复用性的提高能够在不同的平台下加载到芯片或应用软件中,从而能缩短目标软件的开发时间,提高其可靠性。
文档编号H04W12/02GK102625298SQ20121008937
公开日2012年8月1日 申请日期2012年3月29日 优先权日2012年3月29日
发明者孟思明, 盛建强, 罗笑南 申请人:中山大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1