当前位置:首页 > 免费毕业设计

ASP.NETRSA可视化算法程序的实现与研究(源代码+论文)免费下载

ASP.NETRSA可视化算法程序的实现与研究(源代码+论文)免费下载

  • 网站价格: 1
  • 特殊技术: ASP.NET
  • 作品类型: 免费毕业设计
  • 售后服务:

联系方式: 微信:biyebang QQ: 629001810

作品详情

 摘要:

本文设计的是一套完整实用的RSA文件加密解决方案,并具体编码实现。本文采用费马小定理测试素数,使用Montgomery加快大数模乘运算,用C++实现RSA加密算法类库,并在32位windows平台封装成组件。在.Net平台引用此组件,实现可以对任意文件进行RSA加密操作的窗体应用程序。经过加密的文件以及密钥文件都是文本文件。本文首先给出关键类类图、整个应用程序的结构描述文档,然后对关键模块流程图、详细的接口文档进行阐述,并给出关键的实现代码,最后对应用程序进行测试,对测试结果进行分析研究,进而对应用程序进行改进,对关键算法进行尽可能的优化,最终得到一个在windows运行的可以用指定密钥对任意文件进行RSA加密并可解密的完整应用程序,和一些相关的可移植组件。


关键词:

RSA;文件加密;Montgomery;费马定理

 

 

目录结构:

屏幕截图 2020-12-18 085021.png



需求分析和总体设计:

  功能分析
经过1.3.2节的论述,我们可以将对软件的要求总结如下:
①可以按要求的位数生成非对称密钥。
②可以用指定密钥以RSA算法加密任意一个文件,加密生成的数据为纯文本。
③可以装载加密过的文件,并用指定的密钥解密还原出原文件。
④ 提示信息完整、操作舒适、图形界面雅观
按上述描述,给出Use CaseStatechart如图2-1

图片1.png

图2-1 本项目的 Use Case和Statechart

根据以上分析,一般来说,需要进行编码的程序有
RSA密钥生成 ②RSA加密解密 ③任意文件的读取 ④各环节必要的数据编码转换 ⑤图形操作界面。
工程方案选择
综合考虑复用性、可维护性和执行效率,较妥当的方法是分层设计。核心的RSA算法由C++类库实现,针对用户所在的操作系统封装成本地化组件。其他各功能如文件操作、数据编码转换和图形界面等,由托管代码借助虚拟机平台标准库的功能快速开发实现(本文针对选用.Net上的C#论述,选用javaJNI或其他方式调用本地组件,设计模式上是完全类似的)。这种开发方式,核心功能集中在最底层,在不断的封装中针对具体环境对组件功能不断扩充,任意一个层面的封装都可以被直接应用到其他项目,比如在Web使用以前为某窗体程序写的组件、给嵌入式设备交叉编译算法库等。但是每一层都需要依赖底层的所有组件。图2-2形象的说明了分层设计给复用带来的好处。

图片2.png

2-2 综合考虑复用性、可维护性和执行效率的分层设计

选用这种设计方案,上层使用C#,底层算法使用C++,可以由一个Visual Studio解决方案管理,给调试带来极大的方便。整个工程分四层,实现RSA加密算法的C++核心类库、封装C++核心类库的DLL组件、引用DLL的.Net类、实现文件操作功能的.Net窗体应用程序。2.2节详细介绍各部分的设计与开发。
考虑到工作量,本软件加解密数据没有严格遵从RSA标准PKCS #1,而是在满足设计要求的前提下,以一种尽可能简单的方式实现加密和解密。



算法实现部分页面展示:

图片3.png

 

随机生成密匙

图片4.png

载入待加密的文本

图片5.png

准备加密文本

图片6.png

加密后生成的文本

图片7.png 

图2-11加密过程完成

图片8.png

图2-12 载入加密后生成的文本 

图片9.png

图2-13解密已加密的文本

图片10.png

图2-14 解密生成解密文件

图片11.png 

图2-15 解密过程完成

帮我毕业网微信

版权所有© 帮我毕业网 并保留所有权利

QQ 1370405256 微信 biyebang

QQ:629001810微信:biyebang

收缩