2024年5月28日发(作者:)
摘 要
分析RSA算法的应用现状,论证文件加密应用RSA算法的可行性和意义。设计一
套完整实用的RSA文件加密解决方案,具体编码实现。对RSA算法进行研究,从常规
RSA算法出发,用C++实现RSA加密算法类库,并在32位windows平台封装成组件。
在.Net平台引用此组件,实现可以对任意文件进行RSA加密操作的窗体应用程序。经过
加密的文件以及密钥文件都是文本文件。给出关键类类图、整个应用程序的结构描述文
档、关键模块流程图、较详细的接口文档、所有源代码。对应用程序进行测试,对测试
结果进行分析研究,进而对应用程序进行改进,对关键算法进行尽可能的优化,最终得
到一个在windows运行的可以用指定密钥对任意文件进行RSA加密并可解密的完整应
用程序,和一些相关的可移植组件。
关键词 RSA RSA算法 文件加密 加密成文本
Abstract
Do research about the application area of RSA encryption and reason that RSA can be
used for file encryption. Design a RSA file-encrypt solution and complete an application on
Microsoft Windows™. Design a C++ class based on normal RSA algorithm. And make a DLL
module based on the class. Then complete a .Net Framework™ window-application using that
DLL. The application can encrypt any file and decrypt them. The file after encryption can be
saved as a text file. And the encryption-keys also can be saved as e pivotal classes
chart, project description, core algorithm flowchart, all source code, and module interfaces
document. Do application performance test and record the performance data. Analyze the
result then optimize core algorithm and improve the application. Finally, create a practical
application using RSA algorithm that can encrypt and decrypt any file. And several modules in
the project can be reuse by other applications. For instance, the C++ class can be
cross-compiled for handheld devices, the DLL can be referenced by other win32 applications,
and the .Net class can be easily referenced by web server applications or web services.
Keywords RSA RSA algorithm file encryption encrypt to text
1
目 录
前 言 .............................................................................. 错误!未定义书签。
第1章 RSA应用现状及应用于文件加密的分析 .......... 错误!未定义书签。
1.1 RSA算法介绍与应用现状 ................................................................ 错误!未定义书签。
1.2 RSA应用于文件加密的分析 ............................................................ 错误!未定义书签。
1.2.1 文件加密使用RSA的可行性 .................................................... 错误!未定义书签。
1.2.2 文件加密使用RSA的意义 ........................................................ 错误!未定义书签。
第2章 RSA文件加密软件的设计与实现...................... 错误!未定义书签。
2.1 需求分析与总体设计 ........................................................................ 错误!未定义书签。
2.1.1 功能分析 ...................................................................................... 错误!未定义书签。
2.1.2 工程方案选择 .............................................................................. 错误!未定义书签。
2.2 各部分的设计与开发 ........................................................................ 错误!未定义书签。
2.2.1 实现RSA加密算法的C++核心类库 ........................................ 错误!未定义书签。
2.2.2 封装C++核心类库的DLL组件 ................................................ 错误!未定义书签。
2.2.3 引用DLL的.Net类与实现文件操作功能的窗体应用程序 .... 错误!未定义书签。
第3章 软件整体测试与分析改进.................................. 错误!未定义书签。
3.1 编写测试各项性能需要的精确计时类 ............................................ 错误!未定义书签。
3.2 测试数据与分析改进 ........................................................................ 错误!未定义书签。
3.2.1 密钥生成测试 .............................................................................. 错误!未定义书签。
3.2.2 数据输入输出测试 ...................................................................... 错误!未定义书签。
3.2.3 加密解密测试 ................................................................................................................ 3
3.2.4 性能分析与改进优化 .................................................................. 错误!未定义书签。
3.3 使用中国余数定理 ............................................................................ 错误!未定义书签。
第4章 可移植模块的简要说明与开发前景................... 错误!未定义书签。
结束语 .............................................................................. 错误!未定义书签。
谢 辞 .............................................................................. 错误!未定义书签。
参考文献........................................................................... 错误!未定义书签。
附 录 .............................................................................. 错误!未定义书签。
2
最终实现的应用程序,结构如图2-8所示。
图2-8 本软件的Visual Studio解决方案
3.2.3 加密解密测试
进行对任意文件加密与解密的测试,这里给出几组从不同角度进行测试的数据。下
面除了第3组测试,其他都是把文件逐字节进行RSA运算,逐字节加密是本软件的默认
设置。加密时使用的测试文件、各密钥文件以及加解密后生成的文件可以从以下地址下
载:/www/download/ 内附说明。
1. 用同样的密钥对不同大小的文件公钥加密、私钥解密,各自消耗的时间与待加密
文件大小的关系
随机生成两组密钥,一组n长512bit,一组n长1024bit。密钥具体数据见附录(n
的实际位数有微小差距)。
分别对一组不同大小的文件进行公钥加密。统计消耗时间情况如表3-4所示,统计
数据以曲线表示如图3-1。
表3-4 待加密文件大小与加密时间的关系(时间单位:秒)
n位数 文件大小
512bit公钥加密
50Byte
4.8537
100Byte
9.7636
150Byte
14.3205
200Byte
18.9084
250Byte
23.5322
3
512bit私钥解密
1024bit公钥加密
1024bit私钥解密
9.5452
12.6111
40.0084
18.9207
24.5664
79.2507
28.1287
36.5895
120.4443
37.9556
48.6288
158.0028
46.5794
60.6503
198.365
重要提示:
本论文由大学论文网
毕业论文下载网: 提供
如果需要详细内容请与QQ:4991024联系
4


发布评论