- 37
- 0
- 约1.4万字
- 约 19页
- 2019-09-02 发布于江西
- 举报
《网络与信息安全》课程设计报告
PAGE
PAGE 17
《网络与信息安全》课程设计报告
班级:07网络工程(3)班
学号:310709040308
姓名:韩立伟
题目: 加密软件的设计
评阅:
成绩:
2010-1-
RSA算法加密软件的设计
摘要:分析RSA算法的应用现状,论证文件加密应用RSA算法的可行性和意义。设计一套完整实用的RSA文件加密解决方案,具体编码实现。对RSA算法进行研究,从常规RSA算法出发,用C#实现RSA加密算法类库,并在32位windows平台封装成组件。在.Net平台引用此组件,实现可以对任意文件进行RSA加密操作的窗体应用程序。经过加密的文件以及密钥文件都是文本文件。给出关键类类图、整个应用程序的结构描述文档、关键模块流程图、较详细的接口文档、所有源代码。对应用程序进行测试,对测试结果进行分析研究,进而对应用程序进行改进,对关键算法进行尽可能的优化,最终得到一个在windows运行的可以用指定密钥对任意文件进行RSA加密并可解密的完整应用程序,和一些相关的可移植组件。
关键词:RSA , RSA算法, 文件加密, 加密成文本
目 录
TOC \o 1-3 \h \z \u 第1章 RSA应用现状及应用于文件加密的分析………………. 4
1.1 RSA算法介绍与应用现状………………………………………….4
1.2 RSA应用于文件加密的分析……………………………………….5
1.2.1 文件加密使用RSA的可行性5
1.2.2 文件加密使用RSA的意义 6
第2章 RSA文件加密软件的设计与实现………………………7
2.1 需求分析与总体设计 7
2.1.1 功能分析 7
2.1.2 工程方案选择 8
2.2 各部分的设计与开发 10
2.2.1 实现RSA加密算法的C#核心类库 10
3.2 测试数据与分析改进 14
3.2.1 密钥生成测试 14
3.2.2 数据输入输出测试 16
3.2.3 加密解密测试 16
总结与体会……………………………………………………….17
致谢……………………………………………………………….17
参考文献…………………………………………………………17
前 言
RSA公钥加密算法是第一个既能用于数据加密也能用于数字签名的算法。它易于理解和操作,也十分流行。算法的名字以发明者的姓氏首字母命名:Ron Rivest, Adi Shamir 和Leonard Adleman。虽然自1978年提出以来,RSA的安全性一直未能得到理论上的证明,但它经历了各种攻击,至今(2007年)未被完全攻破。随着越来越多的商业应用和标准化工作,RSA已经成为最具代表性的公钥加密技术。VISA、MasterCard、IBM、Microsoft等公司协力制定的安全电子交易标准(Secure Electronic Transactions,SET)就采用了标准RSA算法,这使得RSA在我们的生活中几乎无处不在。网上交易加密连接、网上银行身份验证、各种信用卡使用的数字证书、智能移动电话和存储卡的验证功能芯片等,大多数使用RSA技术。
当今公钥加密更广泛应用于互联网身份认证,本课题将公钥加密算法RSA应用于小型文件加密。将任意文件加密成文本的解决方案,使其使用更加灵活。整个工程的分层设计,给引用移植和后续开发带来便利。
第1章 RSA应用现状及应用于文件加密的分析
1.1 RSA算法介绍与应用现状
RSA算法可以简单叙述如下:
密钥生成
取素数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公开密钥加密算法自20世纪70年代提出以来,已经得到了广泛认可和应用。发展至今,电子安全领域的各方面已经形成了较为完备的国际规范。RSA作为最重要的公开密钥算法,在各领域的应用数不胜数。RSA在硬件方面,以技术成熟的IC应用于各种消费类电子产品。
RSA在软件方面的应用,主要集中在Internet上。加密连接、数字签名和数字证书的核心算法广泛使用RSA。日常应用中,有比较著名的工具包Open SSL(SSL,Security Socket Layer,是一个安全传输协议,在Internet上
原创力文档

文档评论(0)