摘 要
本文设计的是一套完整实用的RSA文件加密解决方案,并具体编码实现。本文采用费马小定理测试素数,使用Montgomery加快大数模乘运算,用C++实现RSA加密算法类库,并在32位windows平台封装成组件。在.Net平台引用此组件,实现可以对任意文件进行RSA加密操作的窗体应用程序。经过加密的文件以及密钥文件都是文本文件。本文首先给出关键类类图、整个应用程序的结构描述文档,然后对关键模块流程图、详细的接口文档进行阐述,并给出关键的实现代码,最后对应用程序进行测试,对测试结果进行分析研究,进而对应用程序进行改进,对关键算法进行尽可能的优化,最终得到一个在windows运行的可以用指定密钥对任意文件进行RSA加密并可解密的完整应用程序,和一些相关的可移植组件。
关键词: RSA;文件加密;Montgomery;费马定理
目 录
论文总页数:35页
1 引言 1
1.1课题背景 1
1.2 RSA算法介绍与应用现状 1
1.3 RSA应用于文件加密的分析 2
1.3.1 文件加密使用RSA的可行性 2
1.3.2 文件加密使用RSA的意义 3
2 RSA文件加密软件的设计与实现 4
2.1 需求分析与总体设计 4
2.1.1 功能分析 4
2.1.2 工程方案选择 4
2.2 各部分的设计与开发 5
2.2.1 实现RSA加密算法的C++核心类库 5
2.2.2 封装C++核心类库的DLL组件 25
2.2.3 引用DLL的.Net类与实现文件操作功能的窗体应用程序 26
3 软件整体测试与分析改进 27
3.1 编写测试各项性能需要的精确计时类 27
3.2 测试数据与分析改进 27
3.2.1 密钥生成测试 27
3.2.2 数据输入输出测试 28
3.2.3 加密解密测试 29
结 论 31
参考文献 32
附 录 33
致 谢 34
声 明 35