C++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 text.Provide 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
摘 要
分析RSA算法的应用现状,论证文件加密应用RSA算法的可行性和意义。设计一套完整实用的RSA文件加密解决方案,具体编码实现。对RSA算法进行研究,从常规RSA算法出发,用C++实现RSA加密算法类库,并在32位windows平台封装成组件。在.Net平台引用此组件,实现可以对任意文件进行RSA加密操作的窗体应用程序。经过加密的文件以及密钥文件都是文本文件。给出关键类类图、整个应用程序的结构描述文档、关键模块流程图、较详细的接口文档、所有源代码。对应用程序进行测试,对测试结果进行分析研究,进而对应用程序进行改进,对关键算法进行尽可能的优化,最终得到一个在windows运行的可以用指定密钥对任意文件进行RSA加密并可解密的完整应用程序,和一些相关的可移植组件。
关键词 RSA RSA算法 文件加密 加密成文本
目 录
前 言 1
第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
附 录 859
[1] [2] [3] [4] [5] [6] [7] [8] [9] [10] ... 下一页 >>