ImageVerifierCode 换一换
格式:DOCX , 页数:61 ,大小:335.87KB ,
资源ID:24804271      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/24804271.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于ECC的数字签名算法设计与实现.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于ECC的数字签名算法设计与实现.docx

1、基于ECC的数字签名算法设计与实现安徽建筑工业学院 毕业设计(论文)基于 ECC的数字签名算法设计与实现摘要:信息社会正被计算机网络及通信技术的迅猛发展推向一个新的高级阶段 , 政 府、军事、文教、商业、金融等社会生活的各个领域都深受其影响 , 信息已成为一种重 要的战略资源 . 信息安全是信息科学领域的重要新兴学科 , 它的核心技术是密码学 , 其中 公钥密码由于其与生俱来的一些优势 , 扮演着越来越重要的角色 . 数字签名技术作为最 近几年来公钥密码发展的一个新型分支 , 是安全电子商务和安全电子政务的关键技术 .数字签名提供认证性、 完整性和不可否认性 , 是信息安全的核心技术之一 .基

2、于身份 的密码系统解决了传统公钥体制中利用公钥基础设施来管理公钥证书的复杂性和成本 过高的问题 , 可与公钥证书基础设施密码体制形成牢固有利的互补 .采用椭圆曲线上双 线性映射技术的基于身份数字签名成为近几年密码学界的热点研究问题 .本文首先对密码技术的发展现状及其发展趋势进行了分析和综述 , 其次, 论述了椭圆曲线密码体制的原理 , 包括椭圆曲线密码的数学基础、椭圆曲线的基本概念、椭圆曲 线密码体制的构造思想、椭圆曲线上的点运算等问题 , 同时分析了椭圆曲线密码系统的 安全性和有效性 ,给出了一个椭圆曲线数字签名方案 , 最后设计实现了一个在网络环境 下使用的数字签名系统 .本文给出的这种基

3、于椭圆曲线密码的高效率的数字签名方案 , 不仅在算法设计时完 全避免了费时的求逆运算 , 而且利用消息 HASH值的汉明重量作为消息摘要进行签名与验 证.结果在同等安全性下 , 该方案比通用的 ECDS等A方案运行时间更短 . 新方案可适用于 网络等对签名实时性要求较高的场合 1 .关键词:椭圆曲线公钥密码体制 , 数字签名 , 信息安全 ,汉明重量The Digital Signature Algorithm Design andImplementation based on ECCAbstract:In nowadays,information society is being pushe

4、d onto a new advanced level by computer network and communication technologies,which have made great effects On government,military affairs,culture education,and finance,ere,Information has become an important resource in our society Information secIIdty is one ofthe rising subjects in information s

5、cience and its core of technology is cryptologyIn eryptological area,public key cryptosystem is playing more and more important roles in the world because ofits native predominance As a new branch ofpublic key cryptosystern,digital signature is a key technology of the sccnre B2B(Business to Business

6、)and government affair in recent yearsAs one of the pivotal technologies of information security,digital signature provides authentication,integrality and incontestableness In traditional public key infrastructure (PKI) system,managing public-key certification causes problems of complexity and high

7、cost. Fortunately,identity-based cryptography has solved these kinds of problems,and it is also a good replenisher to PKI system Identity based signature using pairing technology on elliptical curves has become one of the pop research problemsThis paper first analyses and summarizes the current stat

8、us and evolution trend of encryption,and introduces in detail the development of private-key cryptosystem and public-key cryptosystem,and provides the brief analysis of a few typical schemes.Second,the printciple of ECC is discussed,including the math foundation of ECC,operation on the elliptic curv

9、e and so on.meanwhile,the security and ECC are given.Some key algorithm ECC are implemented,including algorithm of generating the elliptic curve,algorithm of detecting prime number and algorithm of operating between the big integers.At last design and implement a system of digital signature based on

10、 ECC for network.To offer a high efficiency digital signature based on ellip tic curve cryp tography. The design of the algorithm not only avoids timecosting inverse operation comp letely but also uses the hammingweight of HASH code of a message instead of HASH code itself as the messagedigest to pa

11、rticipate in the signature and verifying calculation. The new scheme cost less time than the popular ECDSA. The new scheme is adap ted to higher real2time needs for signature such as internet.Key Words: ECC,Digital signature,The security of information, Hamming weight摘要. i.Abstract: i.i. .第一章 绪论 1 1

12、.1选题意义 1 1.2论文的内容及安排 3.第二章 密码学的相关知识 4.2.1RSA 体制 4.2.1.1RSA算法 4.2.1.2RSA安全性 4.2.2DES 体制 5 2.2.1DES算法 5.2.2.2DES 安全性 1.0.2.3 ECC 密码体制 1.0.2.3.1算法原理 1.2.2.3.2ECC 算法分析 1.3.2.4 算法的计算复杂度 1.5.第三章 基于 ECC 的数字签名方案 1.63.1数字签名 1.6.3.2数字签名方案 1.7.第四章 基于 ECC 数字签名方案实现 1.94.1算法实现 1.9.4.2数字签名实验 2.2.4.3ECC 数字签名应用 2.6.

13、第五章 总结与展望 2.8.5.1总结 2.8.5.2展望 2.8.参考文献 2.9.致谢 3.0.附录 3.1.第一章 绪论1.1选题意义计算机网络的建立给信息传输带来了极大的方便 ,实现了快速 ,便捷传输 ,但这同时 也带来了隐患 ,有些不法分子利用掌握的计算机技术或篡改或窃取他人的信息 ,以达到自 己的利益 ,因此如何实现安全传输变成为了一直以来的研究领域 .迄今为止 ,最重要的网络与通信安全自动化工具是加密 .广泛使用的两种加密形式是传统加密和公钥加密 .于是 密码学得到了极大发展 9.在公钥密码体制以前的整个密码学史中 ,所有的密码算法 ,包括原始手工计算的、由 机械设备实现的以及由

14、计算机实现的 ,都是基于代换和置换这两个基本工具 .而公钥密码 体制则为密码学的发展提供了新的理论和技术基础 ,一方面公钥密码算法的基本工具不 再是代换和置换 ,而是数学函数;另一方面公钥密码算法是以非对称的形式使用两个密 钥 ,两个密钥的使用对保密性、密钥分配、认证等都有着深刻的意义 .可以说公钥密码体制的出现在密码学史上是迄今为止最大的而且唯一真正的革命 .公钥密码体制的概念是在解决单钥密码体制中最难解决的两个问题时提出的 ,这两个问题是密钥分配和数字签字 .比较典型的公钥密码算法是 1978年由 R.Rvest,A.Shamir和 L.Adleman 提出的一种 用数论构造的、也是迄今为

15、止理论上最为成熟完善的公钥密码体制 ,该体制已得到广泛的应用.RSA 的安全性是基于分解大整数的困难性假定 .因此其最核心的部位在于密钥的选 择上,随着计算机技术的发展为保障数据安全原本普遍采用的 RSA 算法的密钥长度需一 再增大,使得它的运算负担越来越大 .相比之下 ,椭圆曲线密码体制( ECC)可用短得多的 密钥获得同样的安全性 ,具有广泛的应用前景 .基于公钥密码算法的 ECC 数字签名方法 本质是公钥加密算法的逆运算 .此时发送方用自己的私钥对消息进行加密 ,接收方收到消 息后用发送方的公钥进行解密 ,由于私钥由发送方自己保管且只有他本人知道 ,入侵者如 果只知道发送方的公钥 ,不可

16、能伪造签名 ,从而起到签名的效果 ,公正的第三方可以用发 送方的公钥对签名的消息进行解密 ,从而验证消息确实来在发送方 .随着通讯网络特别是 INTERNET的 高速发展 , 利用网络作为信息交流和信息处理变 得越来越普遍 , 社会的传统事务和业务运作模式受到前所未有的冲击 目前, 无论是国家 政府还是企业都正融入这场网络革命中 , 从其原来的传统经营模式向网络模式演化未 来的电子政务、 电子商务、 电子业务将成为不可逆转的发展趋势 在与日俱增的网络活 动中,人们越来越关心信息安全这个问题 目前,RSA 算法已广泛应用到网络安全的各个 领域 1985年Neil Koblitz 和Victor

17、Miller 提出基于椭圆曲线理论的椭圆曲线密码系 统(ECC体系), 其安全性建立在椭圆曲线离散对数的难解性的基础上 , 在同等密钥长度的条件下其安全性远高于 RSA算法目前已正式列入了 IEEE 1363标准, 在网络安全领域有 着广阔的应用前景椭圆曲线密码( ECC)是一种高安全性、高效率的公钥密码 ,具有加密 /解密、数字 签名和密钥协商等重要的密码功能 ,可以安全且方便地满足各种信息网络中的用户身份 识别、电子信息的真伪鉴别和保密传输等重要的信息安全需求 ,是信息安全领域的核心技术,并已逐渐被诸多国际和国家标准组织采纳为公钥密码标准 (IEEE P1363、ANSI X9、 ISO/

18、IEC和IETF等) ,成为了当今信息安全产业界使用的主流密码技术之一 11.密码体制1.2论文的内容及安排椭圆曲线属于抽象代数 “代数几何学 ”的一个分支 ,自从 Koblitz 等人提出用来构造公 钥密码以来 ,获得了快速发展 .椭圆曲线密码体制( ECC)比 RSA 更有效 ,密钥更短而抗 击能力更强 .数字签名是由公钥密码体制发展而来 ,它在网络安全 ,包括身份认证、数据完整性、 不可否认性以及匿名性等方面有着重要应用 .本课题的主要工作是基于 ECC 的数字签名 算法设计及实现 .本课题为 “基于 ECC 的数字签名算法设计 ”,其主要内容如下:(1)椭圆曲线与椭圆曲线密码体制( E

19、CC).研究有限域上的椭圆曲线以及 Ep (a,b) 群性质研究基于 ElGamael 公钥方案的椭圆曲线密码体制 .(2)数字签名与基于 ECC 的数字签名算法 .研究数字签名特点以及在公钥密码体 制下的实现 .研究基于 ECC的数字签名和基于 RSA 的数字签名算法设计 .(3)基于 ECC 的数字签名算法实现 .编程实现基于 ECC 的数字签名方案 .第二章 密码学的相关知识计算机网络的建立 ,使得通信越来越便捷 ,人们可以利用网络快速实现远距离的通信 但网络也带来了负面影响 ,一些用户利用所掌握的计算机技术非法窃取、监听、篡改信 息等 ,使得通信双方无法获取正确的信息或者双方的敏感信息

20、得不到保证 .密码学的创立为网络的安全通信提供了一种可行措施 .密码体制从原理上可分为两大类即单钥密码体 制和双钥密码体制 RSA,ECC 密码体制是公钥密码体制的典型代表 .2.1RSA 体制2.1.1RSA 算法RSA算法是 1978年由 R.Rivest,A.Shamir和L.Adleman 提出的一种用数论构造的、也 是迄今为止理论上最为成熟完善的公钥密码体制 ,该体制已得到广泛的应用 . 1密钥的产生1选两个保密的大素数 p 和q ;2计算 n p q, n p 1 q 1 ,其中 n 是 n 的欧拉函数值;3选一整数 e,满足1 e n 且,gcd n ,e 1;4计算d,满足d

21、e 1mod n ,即d是e在模 n下的乘法逆元 ,因e与 n 互素,由模运 算可知 ,它的乘法逆元一定存在;5以 e,n 为公开钥 , d,n 为私密钥 .加密加密时首先将明文比特串分组 ,使得每个分组对应的十进数小于 n ,即分组长度小于 log2 n .然后对每个明文分组 ,作加密运算:c me modn解密对密文分组的解密运算为:m cd modn2.1.2RSA 安全性RSA 的安全性是基于分解大整数的困难性假定 ,之所以为假定是因为至今还未能证 明分解大整数就是 NP问题,也许有尚未发现的多项式时间分解算法 .如果 RSA的模数n 被成功地分解为 p q ,则立即获得 n p 1

22、q 1 ,从而能够确定 e模 n 的乘法逆元 d , 即 d e 1 mod n , 因此攻击成功 .2.2DES 体制2.2.1DES 算法13DES算法把 64位的明文输入块变为 64 位的密文输出块 ,它所使用的密钥也是 64位, 首先,DES把输入的 64 位数据块按位重新组合 ,并把输出分为 L0、R0 两部分,每部分各 长 32 位 ,并进行前后置换(输入的第 58 位换到第一位 ,第 50 位换到第 2 位 ,依此类推 ,最 后一位是原来的第 7 位),最终由 L0 输出左 32位,R0输出右 32 位,根据这个法则经过 16 次迭代运算后 ,得到 L16、R16,将此作为输入

23、,进行与初始置换相反的逆置换 ,即得到密文 输出.DES 算法的入口参数有三个: Key、Data、Mode.其中 Key 为 8 个字节共 64 位,是 DES算法的工作密钥; Data也为 8个字节 64位,是要被加密或被解密的数据; Mode 为 DES的工作方式,有两种:加密或解密 ,如果 Mode为加密,则用 Key去把数据 Data进行 加密,生成 Data的密码形式作为 DES的输出结果;如 Mode为解密,则用 Key去把密码 形式的数据 Data解密,还原为 Data的明码形式作为 DES的输出结果.在使用 DES时,双 方预先约定使用的 ”密码 ”即 Key,然后用 Key

24、 去加密数据;接收方得到密文后使用同样 的 Key 解密得到原数据 ,这样便实现了安全性较高的数据传输 .64 位明文初始 IP 置换16 轮迭代IP 逆置换64 位密文图 3 DES 加密算法框图DES加密算法的过程 :1.对输入的密钥进行变换 .用户的64bit密钥,其中第 8, 16, 24, 32, 40, 48, 56, 64位是校验位, 使得每个密钥都有 奇数个 1.所以密钥事实上是 56 位.对这 56 位密钥进行如下表的换位 .57, 49, 41, 33, 25, 17, 9, 1, 58, 50, 42, 34, 26, 18, 10, 2, 59, 51, 43, 35,

25、 27, 19, 11, 3, 60, 52, 44, 36,63, 55, 47, 39, 31, 23, 15, 7, 62, 54, 46, 38, 30, 22, 14, 6, 61, 53, 45, 37, 29, 21, 13, 5, 28, 20, 12, 4,表的意思是第 57位移到第 1位,第 49位移到第 2位 以此类推.变换后得到 56bit数据, 将它分成两部分 ,C028, D028.2.计算 16个子密钥,计算方法 Ci28 ,Di28 为对前一个 Ci-128, Di-128 做循环左移操作 .16 次的左移位数如下表1,2,3,4,5,6,7,8,9, 10,

26、11, 12, 13, 14, 15, 16(第 i 次)1,1,2,2,2,2,2,2,1, 2, 2, 2, 2, 2,2, 1 ( 左移位数)3.串联计算出来的 Ci28 Di28 得到 56位,然后对它进行如下变换得到 48 位子密 钥 Ki4814, 17, 11, 24, 1, 5, 3, 28, 15, 6, 21, 10, 23, 19, 12, 4, 26, 8, 16, 7, 27, 20, 13, 2,41, 52, 31, 37, 47, 55, 30, 40, 51, 45, 33, 48, 44, 49, 39, 56, 34, 53, 46, 42, 50, 36

27、, 29, 32,表的意思是第 14 位移到第 1 位,第 17位移到第 2 位,以此类推 .在此过程中 ,发现第 9,18,22,25, 35,38,43,54位丢弃 .4.对 64bit的明文输入进行换位变换 .换位表如下 :58, 50, 12, 34, 26, 18, 10, 2, 60, 52, 44, 36, 28, 20, 12, 4,62, 54, 46, 38, 30, 22, 14, 6, 64, 56, 48, 40, 32, 24, 16, 8,57, 49, 41, 33, 25, 17, 9, 1, 59, 51, 43, 35, 27, 19, 11, 3,61,

28、 53, 45, 37, 29, 21, 13, 5, 63, 55, 47, 39, 31, 23, 15, 7 表的意思就是第一次变换时 ,第 58 位移到第 1位,第 50位移到第 2位 依此类推 .得到64位数据,将这数据前后分成两块 L032, R032.5.加密过程,对Ri32 进行扩展变换成 48位数,方法如下, 记为 E(Ri32)32, 1, 2, 3, 4, 5,4, 5, 6, 7, 8, 9,8, 9, 10, 11, 12, 13,12, 13, 14, 15, 16, 17,16, 17, 18, 19, 20, 21,20, 21, 22, 23, 24, 25,

29、24, 25, 26, 27, 28, 29,28, 29, 30, 31, 32, 1,6.将 E(Ri32) 与 Ki48 作异或运算 ,得到 48 位数 ,将 48 位数顺序分成 8 份,6 位一份,B86.7.使用 Si替换Bi6. 过程如下: 取出Bi6 的第 1位和第 6位连成一个 2位数 m, m 就是 Si中对应的行数 (0-3),取出 Bi6 的第 2到第 5位连成一个 4位数 n(0-15),n就是 Si中对应的列数 ,用Simn 代替 Bi6.S 是4行 16列的对应表,里面是 4位的数,一 共有 8个 S,定义如下:S1:14,4,13,1,2,15,11,8,3,10

30、,6,12,5,9,0,7,0,15,7,4,14,2,13,1,10,6,12,11,9,5,3,8,4,1,14,8,13,6,2,11,15,12,9,7,3,10,5,0,15,12,8,2,4,9,1,7,5,11,3,14,10,0,6,13,S2:15,1,8,14,6,11,3,4,9,7,2,13,12,0,5,10,3,13,4,7,15,2,8,14,12,0,1,10,6,9,11,5,0,14,7,11,10,4,13,1,5,8,12,6,9,3,2,15,13,8,10,1,3,15,4,2,11,6,7,12,0,5,14,9,S3:10,0,9,14,6,3,

31、15,5,1,13,12,7,11,4,2,8,13,7,0,9,3,4,6,10,2,8,5,14,12,11,15,1,13,6,4,9,8,15,3,0,11,1,2,12,5,10,14,7,1,10,13,0,6,9,8,7,4,15,14,3,11,5,2,12,S4:7,13,14,3,0,6,9,10,1,2,8,5,11,12,4,15,13,8,11,5,6,15,0,3,4,7,2,12,1,10,14,9,10,6,9,0,12,11,7,13,15,1,3,14,5,2,8,4,3,15,0,6,10,1,13,8,9,4,5,11,12,7,2,14,S5:2,12,4,1,7,10,11,6,8,5,3,15,13,0,14,9,14,11,2,12,4,7,13,1,5,0,15,10,3,9,8,6,4,2,1,11,10,13,7,8,15,

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1