RSA加密算法的研究与实现
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
RSA加密算法的研究与实现
摘要:在信息时代,如何保证信息的安全是个十分重要的问题。
在多年的发展中,人们提出了许多不同类型的加密算法。
其中RSA加密算法是公认的最经典的非对称密码算法之一。
本文首先介绍了课题研究的背景和意义,再介绍了使用的研究工具,然后使用Verilog 硬件描述语言设计了一个RSA的加密系统,最后通过Modelsim进行了仿真测试。
结果证明本文通过硬件实现的RSA加密算法可以有效的加密数据。
关键词:RSA;Verilog;Modelsim;硬件仿真;
Abstract:In the information age, the security of information is a very important issue. In the years of development, people have proposed many different types of encryption algorithms. RSA encryption algorithm is one of the most classical asymmetric cryptographic algorithms. This paper first introduces the background and significance of the research, then introduces the research tools, then designs a RSA encryption system using Verilog hardware description language, and finally performs simulation tests through Modelsim. The result proves that the RSA encryption algorithm implemented in hardware can be effective and efficient.
Keywords:RSA; Verilog; Modelsim; Hardware simulation;
目录
摘要 (Ⅰ)
Abstract (Ⅰ)
目录 (Ⅱ)
1绪论 (1)
1.1研究背景 (1)
1.2研究意义 (1)
2相关知识介绍 (2)
2.1加密算法介绍 (2)
2.1.1对称密钥密码体制 (2)
2.1.2非对称密钥密码体制 (3)
2.1.3 RSA的研究现状 (3)
2.2开发工具介绍 (4)
2.2.1 Verilog语言的介绍 (4)
2.2.2 Modelsim介绍 (4)
3 RSA加密系统的实现细节 (5)
3.1 RSA参数的选择 (6)
3.2 RSA加密系统 (8)
4 RSA加密系统的实现 (10)
4.1 RSA的乘法求模模块 (10)
4.2 RSA加密系统顶层模块 (13)
4.3仿真测试 (15)
5总结 (16)
5.1本文总结 (16)
5.2未来展望 (17)
参考文献 (17)
致谢 (18)
1 绪论
1.1研究背景
自20世纪以来,计算机网络技术得到了飞速发展和十分广泛的应用,但网络在带给我们便利的同时也给我们带来了很多问题。
而在这些产生的问题中,网络信息安全则是当今世界都很重视的问题之一。
但是由于计算机应用环境越来越复杂且人们对自身信息越来越重视,所以尽管人们对于网络信息安全已经有一定研究,但是在当今社会还是不断被爆出网络信息安全事故。
因此,如何有效的保证网络信息的安全性仍然是近年来人们热衷于研究的课题之一。
非对称加密算法的特色是其算法强度复杂,且有两个密钥(一个公开,一个不公开)。
想要加密就必须要知道密钥,相比对称加密算法的只有一个密钥,非对称加密算法的两个密钥显然大大提高了安全性。
而RSA加密算法是其中被普遍认为最优秀的算法之一。
但是用软件来实现RSA加密算法效率低下,因此有条件的情况下使用硬件来加密会有效的提升加密算法的效率。
1.2研究意义
密码体制在近四十年一直是一种比较热门的加密的技术的研究,特别是体现在公钥体制方面[1]。
这其中比较具有代表性的就是RSA密钥方式,首先这种密钥的方式研发的时间比较早。
比起很多同类的密钥具有一定的代表性,也是很多现代密钥的鼻祖。
具有比较深刻的研究价值,在如今的生活中的应用也是比较广泛。
相对而言,这种算法不仅仅可以实现安全性的需求,也帮助了网络中不安全的交流方式的时候也可以实现信息的互换。
这种方式和方法在多年的实践中取得了可观的成绩和认可[2]。
并且实现了真正意义上的加密交流,所以也侧面的反映了RSA 的重要性。
这种算法的意义十分重要,但是也有它的缺点,就是在它的算法的过程中对于硬件的需求比较高,这不仅仅增加了计算成本和加密成本同时也会耽误了大量的时间,这些对于信息加密方面是不利的,影响了加密的效率,也会导致工作的
不辩解,这些对于算法又提出了新的要求,这些新的要求对于提升算法的速度并且实现加密的进一步优化具有很强的现实意义。
本文中不仅重点给出了RSA加密算法的设计与实现的过程,同时也通过V erilog硬件语言来描述加密算法,使用Modelsim(硬件描述语言仿真软件)作为仿真工具,并对系统进行了测试分析[3]。
本文主要内容及章节安排:
第一章基于全文的主旨,针对性的对于我们要探讨的问题的背景进行简单的介绍,同时阐述课题研究的意义;
第二章介绍了本设计中的相关知识,介绍了RSA算法和Verilog,包括RSA 算法的研究现状,以及Verilog语言和Modelsim工具;
第三章重点介绍如何设计RSA算法加密系统设计。
以及在加密的基础上怎么可以实现系统的有序的进行从而达到预期的效果;
第四章介绍了RSA算法加密系统的顶层模块和每个模块的实现。
通过细分结构,用片段性的分析研究最后研究网状性结论实现不同角度的交融和排异。
最后根据各模块进行波形分析的仿真;
第五章总结和展望,给出设计结果和评估,以及未来的研究前景。
2相关知识介绍
2.1加密算法介绍
加密,是以某种特殊的算法改变原有的信息数据,使得未授权的用户即使获得了已加密的信息,但因不知解密的方法,仍然无法了解信息的内容。
而数据加密的基本过程就是对原来为明文的文件或数据按某种算法进行处理,使其成为不可读的一段代码,通常称为“密文”,使其只能在输入相应的密钥之后才能显示出本来内容,通过这样的途径来达到保护数据不被非法人窃取、阅读的目的。
该过程的逆过程为解密,即将该编码信息转化为其原来数据的过程。
2.1.1 对称密钥密码体制
对称密钥加密,又称私钥加密,即信息的发送方和接收方用一个密钥去加密和解密数据。
它的最大优势是加/解密速度快,适合于对大数据量进行加密,但密钥管理困难。
这种体制不是新型的开发模式而是具有一定的历史。
它在解密和加密的程序中的准则基本是一致的,所以需要解密和加密的双方用共同的算法进行处理,这种方式方便了生活也保护了数据。
举例如下:
(1)DES算法:DES算法为密码体制中的对称密码体制,又被称为美国数据加密标准,是1972年美国IBM公司研制的对称密码体制加密算法。
DES是一个分组加密算法,典型的DES以64位为分组对数据进行加密,加密和解密用的是同一个算法。
(2)AES算法:AES算法,即高级加密标准,是常见的对称加密算法。
微信小程序加密传输就是用的这个加密算法。
2.1.2非对称密钥密码体制
非对称密钥加密,又称公钥密钥加密。
它需要使用一对密钥来分别完成加密和解密操作,一个公开发布,即公开密钥,另一个由用户自己秘密保存,即私用密钥。
信息发送者用公开密钥去加密,而信息接收者则用私用密钥去解密。
公钥机制灵活,但加密和解密速度却比对称密钥加密慢得多。
作为密码学中近年来意义重大的非对称密钥,针对这种体制的研究具有比较重要的意义。
目前,已经提出了很多密码学的公钥加密算法,如RSA、Elgamal、背包算法、Rabin、D-H、ECC(椭圆曲线加密算法)等,但影响最大的是RSA 和ECC。
RSA算法是第一个能同时用于加密和数字签名的算法,且易于理解和操作。
RSA是被研究得最广泛的公钥算法,从提出到现今的三十多年里,经历了各种攻击的考验,逐渐为人们接受,截止2017年被普遍认为是最优秀的公钥方案之一。