- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于椭圆曲线数字签名系统的设计与实现.doc
基于椭圆曲线数字签名系统的设计与实现
摘 要: 通过网络传输获取信息,这在人们日常生活中日益普及。信息在网络传输过程中面临着被截获、被修改等安全性威胁。数字签名技术能够在数据传输过程中提供一系列的安全保障服务。基于C/C++和椭圆曲线数字签名算法,设计并实现了一个数字签名系统。测试表明,该系统具有良好性能并满足签名算法的安全性要求。
关键词: 网络传输; 数字签名; 椭圆曲线; 电子商务
中图分类号:TP309 文献标志码:A 文章编号:1006-8228(2015)05-44-03
Abstract: Access to information through the network is becoming more and more popular in peoples daily life. At the same time, the information during the network transmission is faced with the security threats such as being intercepted or modified and so on, while digital signature technology can provide a range of security services in the data transmission. This paper designs and implements a digital signature system with C/C++ and the elliptic curve digital signature algorithm. The test shows that the system has a good performance and meets the safety requirements of the signature algorithm.
Key words: network transmission; digital signature; elliptic curve; e-commerce
0 引言
随着信息和电子技术的迅速发展以及网络技术的广泛应用,世界已经步入了信息社会。在政治、军事、商业和日常生活中,人们经常需要在纸质材料上手写签名。手写签名具有确认、核准、生效、负责等多种作用。近些年随着计算机网络技术的飞速发展,陆陆续续出现了电子商务、电子政务和电子金融系统。在这些系统应用中,人们需要通过网络信息传输对电子的文件、合同、信件及账单等进行数字签名以代替手写签名。计算机作为国家的关键基础设施和战略命脉,其安全状况直接影响到国家的安全和发展。信息加密是保证信息安全的关键技术,其理论是信息安全的核心内容之一。目前的数据加密、数字签名、消息认证等信息安全技术都是以密码技术作为基础进行设计的。
在电子商务活动日益盛行的今天,数字签名技术已经受到人们的广泛关注与认可,其使用已经越来越普遍。各国对数字签名的使用已颁布了相应法案,我国也于2004年8月通过了《电子签名法》。目前已有的签名算法主要有RSA签名方案、ELGamal签名方案、椭圆曲线数字签名算法、盲数字签名方案等等。因此,设计出简单、安全、高效的数字签名系统对于电子商务、电子政务的推广和应用具有十分重要的意义。
1 椭圆曲线公钥密码系统简介
1985年,Victor Miller和Neal Koblitz首次提出将椭圆曲线用于公钥密码学的思想。其理论基础是定义在有限域上的某一椭圆曲线上的有理点可构成有限交换群[1]。
1.1 椭圆曲线密码体制
如果能通过某种方法将明文通过适当的编码方式嵌入到椭圆曲线E上的点,则可以定义基于椭圆曲线E的ElGamal公钥密码系统[2]。
密钥生成算法:设(E,+)是有限域Fp上的椭圆曲线,G是E的循环子群,生成元为P,其阶n足够大,使得循环子群G上的离散对数问题是难解的。随机挑选一个整数a,使得1?a?n-1,计算Q=a?P;公开公钥(Q,P,G),保存私钥a。
加密算法:假设Bob想把明文m加密发送给Alice,Bob首先获取Alice的公钥(Q,P,G),将明文m编码为群G中的元素Pm,再选取随机数r,1?r?n-1,然后计算c1=r?P=(x1,y1),c2=Pm+r?Q=(x2,y2),则密文为(c1,c2)。
解密算法:Alice收到密文(c1,c2)后,利用私钥a计算出Pm=c2-a?c1,再对Pm解编码得到明文m[3]。
1.2 椭圆曲线数字签名算法
椭圆曲线数字签名算法ECDSA的安全性是基于
文档评论(0)