椭圆曲线公钥在网络安全密码体系中应用.docVIP

椭圆曲线公钥在网络安全密码体系中应用.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
椭圆曲线公钥在网络安全密码体系中应用

椭圆曲线公钥在网络安全密码体系中应用   摘 要: 移动设备和无线设备的大量使用需要一种新的公钥密码方案,来适应这些设备在计算能力和带宽方面的限制,同时要满足安全性级别的要求。椭圆曲线密码体制作为一种新兴的加密及身份认证技术,以其自身的多项特点,已从学术理论研究阶段逐步走向实际应用阶段,成为目前最有前途的一种公钥密码体系,极有可能成为现存公钥密码体系RSA的替代者。椭圆曲线密码算法具有高安全性、低消耗、运算速度快的特点,具有良好的应用前景。文章对椭圆曲线方程、算法的原理、加密算法、安全性进行了分析,实现了椭圆曲线公钥在网络Diffie-Hellman密钥交换中的应用。   关键词: 椭圆曲线; 密码学; 编码; 密钥; 安全性   中图分类号:TP311 文献标志码:A 文章编号:1006-8228(2013)08-25-03   0 引言   目前,大多数使用公钥密码学进行加密和数字签名的产品和标准都使用RSA算法。为了保证RSA在使用中的安全性,最近这些年来密钥设置的位数一直在增加,这对使用RSA的应用是一个很重的负担,近年来,出现了一种具有较强竞争力的椭圆曲线密码学(ECC),它对RSA提出了挑战[1]。ECC突出的优点是可以使用比RSA短得多的密钥,但却能得到相同的安全性,因此在应用上可以大大减少运行负荷。   1 椭圆曲线方程概述   1.1 椭圆曲线方程   一般地说,椭圆曲线是由方程y2+dxy+ey=x3+ax2+bx+c定义的曲线,其中定义a,b,c,d,e为系数,从数学上讲,椭圆曲线的形状并非椭圆,之所以被称为椭圆曲线,是因为该方程右边的多项式x3+ax2+bx+c与椭圆曲线的积分有关。   现分析以下椭圆曲线类方程:   令K(b,c)为式⑴的椭圆曲线上所有(x,y)的不同点组成的集合。   这类椭圆曲线的特征是曲线上的点具有加法性质,一般可用于构造交换群,交换群(M,+)满足以下5个性质的代数结构,其中M为集合,集合上元素的加法运算用符号“+”表示。   ⑴ 对任意x,y∈M,x+y∈M,则满足集合上的封闭性。   ⑵ 对任意x,y,z∈M,x+(y+z)=(x+y)+z),则满足集合上的结合性。   ⑶ 单位元:存在0∈M,使得对任意x∈M,则x+0=0+x=0。   ⑷ ??元素:对任x∈M,显然存在元素x∈M使x+x=x+x。将x记为-x,并将x+(-y)记为x-y。   ⑸ 对任意x,y∈M,x+y=y+x,则满足集合上交换性。   在交换群中单位元称为零元。现令X,Y为椭圆曲线上的任意一点,则有以下两种情形:   ⑴ 当X≠Y时,可令L为连接这两个点的直线。若L不垂直,则可以推出L一定与曲线上第三点相交,并且惟一。   ⑵ 当X=Y时,可令L为曲线在点X的切线。若L不垂直,则L一定与曲线上的另一个点相交,且惟一。   在上面两种情形中,如果当L为垂直线时,则L和曲线不相交。引进一个虚拟点P,假设它在无穷远处与L线相交。虚拟点P设定为单位元的角色,称为零点,定义K(b,c)=K(b,c)∪{0}[2]。对集合K(b,c)上的点可以定义一个加法运算“+”如下:   ⑴ 对任意的K(b,c),令X+0=X。   ⑵ 对任意的X,Y∈K(b,c),如果X≠Y,若它们的X坐标相同,则根据椭圆曲线的性质,则X和Y与X轴互为映像,即X=(x,y),Y=(x,-y)。令X+Y=0,因此,-X=(x,y)。   ⑶ 对任意X,Y∈K(b,c),如果X坐标不相同,定义L为经过这两个点的直线,若L不是曲线的切线,则L必定与K(b,c)上的惟一的第三点Z相交,设X+Y=-Z,则X+Y是Z在X轴上的映像。如果L为点X上的切线,可令X+Y=-X。如果L为在点Y上的切线,则可令X+Y=-Y。   ⑷ 对任意X∈K(b,c),令Lx为曲线在点X上的切线,令Y为LX与曲线相交的另一点,令X+X=-Y。   可以证明(K(b,c),+)是一个交换群。为便于将传送的明文编码,通常只考虑K(b,c)上的格点(x,y),通常也称为整数点,即X、Y都是整数。   1.2 离散椭圆曲线   2 椭圆曲线的编码定义   用椭圆曲线将明文进行加密首先需要将明文M编码,使它成为椭圆曲线上的一个整数点,从这个点上可惟一推算出明文M[5]。但到目前为止仍不知道这种编码能否被多项式时间算法所产生。不过,这种编码可以用概率算法产生,且速度较快,尽管概率算法不一定能保证总能生成一个编码,但可以证明这种情况发生的几率是很小的[6]。   假设N是比P小的多的正整数。先令x=N,然后检查N3+bN+c是否等于模P下的整数平方[7]。如果不是,在N的末尾加入和修改一些数字而得到一个新的整数N,并且检查

文档评论(0)

3471161553 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档