RSA文件加密软件的设计与实现 毕业设计论文.doc

RSA文件加密软件的设计与实现 毕业设计论文.doc

  1. 1、本文档共37页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
目 录 第1章 RSA应用现状及应用于文件加密的分析 2 1.1 RSA算法介绍与应用现状 2 1.2 RSA应用于文件加密的分析 3 1.2.1 文件加密使用RSA的可行性 3 1.2.2 文件加密使用RSA的意义 4 第2章 RSA文件加密软件的设计与实现 6 2.1 需求分析与总体设计 6 2.1.1 功能分析 6 2.1.2 工程方案选择 7 2.2 各部分的设计与开发 8 2.2.1 实现RSA加密算法的C++核心类库 8 2.2.2 封装C++核心类库的DLL组件 18 2.2.3 引用DLL的.Net类与实现文件操作功能的窗体应用程序 19 第3章 软件整体测试与分析改进 20 3.1 编写测试各项性能需要的精确计时类 20 3.2 测试数据与分析改进 20 3.2.1 密钥生成测试 20 3.2.2 数据输入输出测试 23 3.2.3 加密解密测试 23 3.2.4 性能分析与改进优化 26 3.3 使用中国余数定理 27 第4章 可移植模块的简要说明与开发前景 29 结束语 30 谢 辞 31 参考文献 32 附 录 33 前 言 RSA公钥加密算法是第一个既能用于数据加密也能用于数字签名的算法。它易于理解和操作,也十分流行。算法的名字以发明者的姓氏首字母命名:Ron Rivest, Adi Shamir 和Leonard Adleman。虽然自1978年提出以来,RSA的安全性一直未能得到理论上的证明,但它经历了各种攻击,至今(2006年)未被完全攻破。随着越来越多的商业应用和标准化工作,RSA已经成为最具代表性的公钥加密技术。VISA、MasterCard、IBM、Microsoft等公司协力制定的安全电子交易标准(Secure Electronic Transactions,SET 取素数p,q,令n=p×q. 取与(p-1)×(q-1)互素的整数e, 由方程d×e=1 (mod (p-1)×(q-1))解出d, 二元组(e,n)作为公开密钥, 二元组(d,n)作为私有密钥. 加密解密 b=ae mod n,c=bd mod n. 附录中给出了证明a=c (mod n). (具体的RSA算法协议见.au/rsa_alg.html ,提及的算法中的字母与协议文档中的一致,不再另做解释) RSA公开密钥加密算法自20世纪70年代提出以来,已经得到了广泛认可和应用。发展至今,电子安全领域的各方面已经形成了较为完备的国际规范。RSA作为最重要的公开密钥算法,在各领域的应用数不胜数。RSA在硬件方面,以技术成熟的IC应用于各种消费类电子产品。 RSA在软件方面的应用,主要集中在Internet上。加密连接、数字签名和数字证书的核心算法广泛使用RSA。日常应用中,有比较著名的工具包Open SSL(SSL,Security Socket Layer,是一个安全传输协议,在Internet上进行数据保护和身份确认。Open SSL是一个开放源代码的实现了SSL及相关加密技术的软件包,由加拿大的Eric Yang等发起编写的。相关详细介绍见/about/ )。Open SSL应用RSA实现签名和密钥交换,已经在各种操作系统得到非常广泛的应用。另外,家喻户晓的IE浏览器,自然也实现了SSL协议,集成了使用RSA技术的加密功能,结合MD5和SHA1,主要用于数字证书和数字签名,对于习惯于使用网上购物和网上银行的用户来说,几乎天天都在使用RSA技术。 RSA更出现在要求高度安全稳定的企业级商务应用中。在当今的企业级商务应用中,不得不提及使用最广泛的平台j2ee。事实上,在j2se的标准库中,就为安全和加密服务提供了两组API:JCA和JCE。 JCA (Java Cryptography Architecture)提供基本的加密框架,如证书、数字签名、报文摘要和密钥对产生器; JCA由几个实现了基本的加密技术功能的类和接口组成,其中最主要的是java.security包,此软件包包含的是一组核心的类和接口,Java中数字签名的方法就集中在此软件包中。JCE(Java Cryptography Extension) 在JCA的基础上作了扩展,JCE也是由几个软件包组成,其中最主要的是javax.crypto包,此软件包提供了JCE加密技术操作API。javax.crypto中的Cipher类用于具体的加密和解密。在上述软件包的实现中,集成了应用RSA算法的各种数据加密规范(RSA算法应用规范介绍参见: /rsalabs/node.asp?id=2146 ,这些API内部支持的算法不仅仅只有RSA,但是RSA是数字签名和证书中最常用的),用户程序可以直接使用java标准库中提供的API进行数字签名和证书的各种操作

文档评论(0)

绿风 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档