当前文档已下架!返回首页
返回

毕业论文:浅析RSA算法的实现文档35页 毕业论文:浅析RSA算法的实现文档35页

格式:word 上传:2026-10-27 06:39:00
温馨提示:手指轻点页面,可唤醒全屏阅读模式,左右滑动可以翻页。
毕业论文:浅析RSA算法的实现.doc预览图(1)
第 1 页 / 共 35 页
毕业论文:浅析RSA算法的实现.doc预览图(2)
第 2 页 / 共 35 页
毕业论文:浅析RSA算法的实现.doc预览图(3)
第 3 页 / 共 35 页
毕业论文:浅析RSA算法的实现.doc预览图(4)
第 4 页 / 共 35 页
毕业论文:浅析RSA算法的实现.doc预览图(5)
第 5 页 / 共 35 页
毕业论文:浅析RSA算法的实现.doc预览图(6)
第 6 页 / 共 35 页
毕业论文:浅析RSA算法的实现.doc预览图(7)
第 7 页 / 共 35 页
毕业论文:浅析RSA算法的实现.doc预览图(8)
第 8 页 / 共 35 页
毕业论文:浅析RSA算法的实现.doc预览图(9)
第 9 页 / 共 35 页
毕业论文:浅析RSA算法的实现.doc预览图(10)
第 10 页 / 共 35 页
毕业论文:浅析RSA算法的实现.doc预览图(11)
第 11 页 / 共 35 页
毕业论文:浅析RSA算法的实现.doc预览图(12)
第 12 页 / 共 35 页
毕业论文:浅析RSA算法的实现.doc预览图(13)
第 13 页 / 共 35 页
毕业论文:浅析RSA算法的实现.doc预览图(14)
第 14 页 / 共 35 页
毕业论文:浅析RSA算法的实现.doc预览图(15)
第 15 页 / 共 35 页
预览结束,还剩 20 页未读
阅读全文需用电脑访问
温馨提示 电脑下载 投诉举报

1、手机端页面文档仅支持阅读 15 页,超过 15 页的文档需使用电脑才能全文阅读。

实际调试好的软件,测试给出具体的时间消耗数据。


例如,在台配置为,外频,物理内存的上测试实现的软件,以的逐字节加密个大小的文件需要秒。


通常记录如银行帐号密码等重要数据的文本文件大小不足百字节,加密只需要数秒钟。


所以对于小型文件,进行较长密钥的加密是完全可行的。


文件加密使用的意义如节所述,小型文件加密可以使用。


等数论中的知识对程序进行算法优化,最终在台配置为,外频,物理内存的通常文件被想象成大数据块,但是实际上在日常应用中,有些极其重要的文本资料是并不太大的,比如因担心遗忘而用普通文本记录的银行帐号和密码不应被陌生人知道的重要电话号码几千字节大的重要小图片等。


虽然加密运算的速度十分慢,但是在性能越来越好的今天,对于几千字节的数据进行次几百位密钥的加密,所消耗的时间应该是可以接受的。


下面结合大数运算程序的调试,从理论上简单的分析消耗时间。


在台普通配置的机上对个整数进行幂模运算,因为公开密钥的通常取的较小,所以指数取个小整数,比如,模个字节长的整数位十六进制,大数单元以线性组方式实现,对应到算法中,这相当于约的,调试个函数测试,按初下面结合大数运算程序的调试,从理论上简单的分析消耗时间。


性能越来越好的今天,对于几千字节的数据进行次几百位密钥的加密,所消耗的时间应该是可以接受的。


部分内容简介法直被忽略。


通常文件被想象成大数据块,但是实际上在日常应用中,有些极其重要的文本资料是并不太大的,比如因担心遗忘而用普通文本记录的银行帐号和密码不应被陌生人知道的重要电话号码几千字节大的重要小图片等。


虽然加密运算的速度十分慢,但是在性能越来越好的今天,对于几千字节的数据进行次几百位密钥的加密,所消耗的时间应该是可以接受的。


下面结合大数运算程序的调试,从理论上简单的分析消耗时间。


在台普通配置的机上对个整数进行幂模运算,因为公开密钥的通常取的较小,所以指数取个小整数,比如,模个字节长的整数位十六进制,大数单元以线性组方式实现,对应到算法中,这相当于约的,调试个函数测试,按初等数论中的知识对程序进行算法优化,最终在台配置为,外频,物理内存的上测试需要约毫秒时间。


如果按这种速度,逐字节对的数据进行同样的运算,所消耗的时间理论上为毫秒的倍即约秒。


这个时间并不是非常长。


其实从个简单的角度来说,既然用于数字签名可行,那就完全可以用于同样大小的普通文件。


对于较大的文件,如果分成与数字签名同样大小的段这里假设数字签名较短,不分段次计算加密完成,分开的各段逐进行加密运算,那所需要的时间也只是按文件大小线性的增长。


通常数字签名为几十字节,加密运算并不需要很长的等待,这就说明对于几百字节或两字节大小的文件来说,如果进行加密,并不会是非常漫长的工作。


当然,如果文件更大,加密就显得十分漫长了。


比如按前面叙述的毫秒大数运算程序推理,加密字节大小的文件需要约天的时间。


所以,要在普通用几百位以上的长密钥加密文件,文件不能过大,般可以接受的上限是几。


如果要在较短时间内加密大文件,需要缩短密钥长度以减小运算量,这将带来安全性隐患。


本文的第章将根据实际调试好的软件,测试给出具体的时间消耗数据。


例如,在台配置为,外频,物理内存的上测试实现的软件,以的逐字节加密个大小的文件需要秒。


通常记录如银行帐号密码等重要数据的文本文件大小不足百字节,加密只需要数秒钟。


所以对于小型文件,进行较长密钥的加密是完全可行的。


文件加密使用的意义如节所述,小型文件加密可以使用。


比如,因担心遗忘而用普通文本记录的银行帐号和密码不应被陌生人知道的重要电话号码几千字节大的重要小图片等。


可行的方法未必是必要的,本小节讨论何种文件适合用非对称密钥加密,即加密文件的意义所在。


对于前面叙述的带有重要信息的小型文本和二进制数据的维护,如果不加密,将无法放心的保存在计算机上,尤其是连网的或机房里的公共计算机。


如果借助功能强大的大型多用户数据保护程序维护几个小型文件,显得十分烦琐,好比杀鸡用牛刀。


如果采用对称密钥加密,即加密解密的密钥相同,只适合部分情况。


在些情况下,使用对称密钥加密文件,交流使用不够方便。


比如,张三由于种原因,需要将自己的个文件在公共计算机上留给李四,而不希望别人看到内容。


如果采用对称密钥加密,张三和李四提前约好个密码就可以。


但是如果张三想要在同台公共计算机上再留个秘密文件给王五,而不希望别人看到,就要和王五另外约定个密码。


如果需要在这台公共计算机上留十个文件给不同的人,自己就要记和十个人约定好的密码,这样以来交流起来不够方便,因为对于张三,要自己维护太多的密钥。


非对称密钥公开密钥方式恰好解决这样的问题。


只要大家都在这台计算机或这台计算机可以访问到的地方,留下自己的公开密钥,切就变的容易解决了。


张三要留给李四的文件,就用李四的公开密钥加密,要留给王五的文件,就用王五的公开密钥加密。


李四和王五只要把留给自己的文件用自己的私有密钥解密,就可以得到留给自己的文件了。


显然,非对称密钥体制更适合多用户交流,而将这种加密方式直接应用于文件加密,使我们在公开场合的交流更加灵活方便。


综上所述,使用前面叙述的方式加密文件有两点重要意义应用非对称密钥加密任意文件,使非对称密钥的应用不仅仅局限于互联网络。


非对称加密后的数据变换成文本,使得我们可以通过几乎任何方式安全传递任意文件,比如在只有的环境使用方式。


文件加密软件的设计与实现需求分析与总体设计功能分析经过节的论述,我们可以将对软件的要求总结如下可以按要求的位数生成非对称密钥。


可以用指定密钥以算法加密任意个文件,加密生成的数据为纯文本。


可以装载加密过的文件,并用指定的密钥解密还原出原文件。


④提示信息完整操作舒适图形界面雅观按上述描述,给出和如图。


图本项目的和根据以上分析,般来说,需要进行编码的程序有密钥生成加密解密任意文件的读取④各环节必要的数据编码转换图形操作界面。


工程方案选择综合考虑复用性可维护性和执行效率,较妥当的方法是分层设计。


核心的算法由类库实现,针对用户所在的操作系统封装成本地化组件。


其他各功能如文件操作数据编码转换和图形界面等,由托管代码借助虚拟机平台标准库的功能快速开核心类库中的所有文件加入到此工程下,新建对和文件,把可能用到的功能全部规划为新文件中的全局函数,并以接口导出,即。


由于核心类库的对外功能都使由类提供的,所以在新文件中全局的声明个类的对象指针,全局函数初始化对象,在初始化成功后,其他全局函数通过调用对象的公开方法实现各种功能,如加密读取密钥等。


在关闭上层引用程序以前,应执行来释放,该函数执行的操作。


其他接口函数的使用见接口文档。


另外,组件可以自己在全局函数中实现些其他功能,作为对核心类库功能的补充。


接口的组件可以被诸如等开发环境方便的引用。


引用的类与实现文件操作功能的窗体应用程序在编写的类里,使用特性引用接口的组件。


类中接口的函数都以静态成员的方式对外公开,其他程序可以直接使用。


在类库中还提供了任意长度随机串的生成函数,此函数用于生成寻找素数的大数起点。


文件操作使用基础类库中的中的类实现。


般因为文件操作十分简单,用流输入输出的方式包装完成,程序中将文件操作直接放在菜单项关联的事件处理函数中。


窗体等图形操作界面直接由的所见即所得的方式完成,不需要编码实现。


最终实现的应用程序,结构如图所示。


图本软件的解决方案软件整体测试与分析改进编写测试各项性能需要的精确计时类由于基础类库提供的计时功能十分不精确,无法胜任软件性能测试的工作,这里使用函数和进行精确计时。


功能被封装在类中,使用时只需构造个此类的对象,在计时开始的时候调用其方法,计时结束时调用其方法,然后访问其属性,就可以得到个以秒为单位的型精确的计时值了。


函数和是靠查询的高精度计时器来计时的,所以可以轻松的精确到毫秒级计时。


附录中给出了这个类的源代码。


测试数据与分析改进密钥生成测试数据输入输出测试主要测试文件的输入输出性能。


实际上就是测试基础类库中实现文件操作的中的等类的读写性能。


直接在调试个简单的文件读写程序,得到本软件中使用的文件操作方法的执行性能。


在配置为外频物理内存主板芯片组缓存硬盘的上,读入个的文件仅需要毫秒,写出个的文件需要毫秒。


这样的时间消耗,相对于繁复的计算所消耗的时间来说,是完全可以忽略不计的。


加密解密测试进行对任意文件加密与解密的测试,这里给出几组从不同角度进行测试的数据。


用同样的密钥对不同大小的文件公钥加密私钥解密,各自消耗的时间与待加密文件大小的关系随机生成两组密钥,组长,组长。


密钥具体数据见附录的实际位数有微小差距。


分别对组不同大小的文件进行公钥加密。


统计消耗时间情况如表所示。


表待加密文件大小与加密时间的关系时间单位秒位数文件大小公钥加密私钥解密公钥加密私钥解密从表可以看出,使用同公开密钥加密不同大小的文件,消耗时间随着文件大小的增加而增加,和小节分析的完全致。


对于较大的文件,加密位数对时间的影响十分明显。


对于字节的文件来说,的公钥加密比的耗时多倍左右的私钥解密比的耗时多倍以上。


对于定的加密位数来说,私钥解密所需要的时间比公钥加密需要的时间长。


对于定大小的文件,使用的密钥,私有密钥解密需要的时间是公开密钥加密需要时间的倍左右而如果使用的密钥,私有密钥解密需要的时间是公开密钥加密需要时间的倍以上。


再测试几个的密钥加解密,发现私有密钥解密所需要的时间相对于公钥加密时间更长。


可见,本软件密钥长度越长,私有密钥解密与公开密钥加密的耗时比越大,这和其他软件是致的。


因为根据的的应用建议,是比较短的,而和的长度差不多,这就使得求与有关的幂模运算量比与有关的幂模运算量大很多,而且随着的增加,两组幂模运算的运算量差距也迅速加大。


在更快的,对进行文件加密测试在些性能更好的上,本软件可以获得更好的性能,测试数据同样可以分析得

下一篇
  • Hi,我是你的文档小助手!
    你可以按格式查找相似内容哟
DOC PPT RAR 精品 全部
小贴士:
  • 🔯 当前文档为word文档,建议你点击DOC查看当前文档的相似文档。
  • ⭐ 查询的内容是以当前文档的标题进行精准匹配找到的结果,如果你对结果不满意,可以在顶部的搜索输入框输入关健词进行。
帮帮文库-精品文档 帮帮文库-免费阅读 帮帮文库-海量资源
换一批

搜索

客服

足迹

下载文档