RSA加密算法的研究与实现Word格式.doc
《RSA加密算法的研究与实现Word格式.doc》由会员分享,可在线阅读,更多相关《RSA加密算法的研究与实现Word格式.doc(28页珍藏版)》请在冰豆网上搜索。
ThispapergivesthemouldbyRSAoperationspeedofthepowerofRSAencryptionimprovement,transform,thebasicprincipleofidentitycheckthecorrespondinganalysis,thisarticleanalysesthecurrentaccordingtotheRSAalgorithmsattackmethods,concludesimprovesafetyshouldconsiderRSAalgorithmsofseveralfactors.Inaddition,thispaperalsothroughexperimentstoimproveRSAalgorithmswayisverifiedbycomparing,concludedthattheimprovedalgorithmonefficiencythantheoriginalalgorithmwithacertaindegreeincreaseconclusion.
Thispaperalsodesignedagaldeclassificationprocedures,andanalysestheverification.
Keywords:
RSA,Cryptography,Algorithms
第一章绪论 1
1.1问题的提出 1
1.2密码学概述 3
1.3国内外研究现状与水平及其意义 5
第二章RSA算法 6
2.1RSA算法 6
2.2RSA签名算法 6
第三章RSA的安全性 8
3.1RSA参数选择 8
3.2RSA的安全性分析 10
第四章RSA算法的研究 12
4.1RSA算法实现 12
4.2RSA改进算法 13
4.3结果分析 16
第五章文件加密的设计 17
5.1分析和设计 17
5.2对TXT文本加解密 19
总结 22
参考文献:
23
致谢 24
第一章绪论
随着时代在进步,科技的发展。
计算机的应用已经普遍化,网络达到了全球化。
人与人之间交流不再有地域的限制,此外许多交往活动,包括商业贸易、金融财务和其他经济活动中,不少已以数字化信息的方式在网上流动着,电子商业、电子银行和电子货币的研究、实施和标准化也已经形成了一定的规模。
在生活中,人们常会遇到需要签字或者盖章的文件,比如支票、存折、法律文件、订单、合约、遗嘱、契约等等。
现在,这些传统的基于纸面的重要凭据已经逐渐发展成数字电子媒体的形式。
这一发展给人们带了的便利是不可估量的,让人看到了这一技术前景的辉煌。
这一技术不仅对个人产生了重大影响,而且对于当代社会的经济、文化、金融等方面也产生了深刻的影响。
1.1问题的提出
当代社会,各方面的信息都逐渐在向网络方面转化。
那么随之而来的便出现了信息的安全问题:
在信息的产生、传递、保存和验证等方面出现了很多问题和困难。
那么怎样才能保证信息不被偷取、伪造和篡改,如何来确认信息发送者的可靠性和真实性,如何找回丢失的信息,又如何使信息发送人无法抵赖等,这些都是当今社会信息传递所迫切的技术需求。
对于那些机密文件的传送这就要求有更高的保密措施。
网络的安全是指通过采用各种技术和管理措施,使网络系统正常运行,从而确保网络数据的可用性、完整性和保密性。
网络安全从其本质上来讲就是网络上的信息安全。
从广义来说,凡是涉及到网络上信息的保密性、完整性、可用性、真实性和可控性的相关技术和理论都是网络安全的研究领域。
网络安全是一门涉及计算机科学、网络技术、通信技术、密码技术、信息安全技术、应用数学、数论、信息论等多种学科的综合性学科。
信息安全技术包括多个方面,其核心技术是加密技术。
保护网络信息安全的方法一般分两大类:
一是防火墙技术;
二是数据加密技术。
“防火墙”是一种形象的说法,其实它是一种计算机硬件和软件的组合,使互联网与内部网之间建立起一个安全网关,从而保护内部网免受非法用户的侵入。
可以这样说,防火墙是网络信息安全的第一道屏障,选择一款合适的防火墙可在一定程度上对信息安全起到一定的保护作用。
数据加密技术是与“防火墙”配合使用的安全技术。
数据加密技术是为提高信息系统及数据的安全性和保密性,防止秘密数据被外部破析所采用的主要技术手段之一。
随着信息技术的发展,网络安全与信息保密日益引起人们的关注。
目前各国除了从法律上、管理上加强数据的安全保护外,从技术上分别在软件和硬件两方面采取措施,推动着数据加密技术和物理防范技术的不断发展。
按作用不同,数据加密技术主要分为数据传输、数据储存、数据完整性的鉴别以及密钥管理技术4种。
现在为了保障信息安全,实际上就是数据加密,但关键在于要有一合适的加密算法,可以实现加密和解密的功能,并且要便于处理。
那么,对密码算法的选择也就十分必要。
RSA算法是一种常用的数据加密算法,易于理解和操作,从提出到现在已有二十多年,经历了各种攻击的考验,得到了人们的认可。
它现在被应用在了各种安全和认证领域,得到了人们的一致好评。
但RSA算法存在速度上的缺陷,限制其进一步发展。
所以,如何提高RSA的效率也就成为了现阶段值得我们研究的一个课题。
当代社会网络无处不在,那么它的安全就会成为人们所关注点焦点,它现在的稳定发展可以给它进一步发展打下了良好的基础。
网络安全不是绝对的,为了确保它的安全就需要不断的完善系统程序、加强保密技术。
1.2密码学概述
密码学的历史极为久远,其起源可以追溯到远古时代,人类有记载的通信密码始于公元前400年【1】。
密码学的一些常用基本概念有【2-5】:
密码学是研究信息系统安全保密的科学,它包括两个分支,密码编码学和密码分析学;
密码编码学是对信息进行编码实现信息隐蔽的技术和科学;
密码分析学是研究分析破译密码的技术和科学;
明文是指发送方想要发给接受方的消息;
密文是指明文被加密后的消息;
加密是将明文变换为密文的过程;
解密是将密文恢复为明文的过程。
密码是实现秘密通讯的主要手段,是隐蔽语言、文字、图像的特种符号。
凡是用特种符号按照通讯双方约定的方法把电文的原形隐蔽起来,不为第三者所识别的通讯方式称为密码通讯。
在计算机通讯中,采用密码技术将信息隐蔽起来,再将隐蔽后的信息传输出去,使信息在传输过程中即使被窃取或截获,窃取者也不能了解信息的内容,从而保证信息传输的安全。
近三十年来,密码学已成为一门热门的学科,在理论和方法上都有了巨大的发展。
1949年香农(Shannon)发表“保密系统的信息理论”【6】;
1975年3月公开发表DES算法(DigitalEpStandard,数据加密标准)
【7】,1977年美国国家标准局宣布DES可用于非国家保密机关,正式作为商用加密算法的标准;
1976年由Diffie和Hellman在所谓“密码学的新方向”【8】一文中提出了公钥密码体制的思想,在此基础上1978年由R.L.Rivest,A.Shamir和L.Adleman【9】提出并实现了RSA公钥密码系统,该系统己成为事实上的工业标准;
随后DES也改进为3DES;
1985年由N.Kobliz和V.Miller把椭圆曲线密码(EllipticCurvesCryptography,简称ECC)理论应用到公钥密码系统中提出ECC算法;
2000年10月2日美国国家标准与技术研究所确定用比利时密码学家JoanDaemen,VincentRijmen发明的Rijndael算法替代DES算法,称为AES算法【10】;
1990年我国学者来学嘉与瑞士密码学家JamesMassey提出了著名的IDEA算法。
同时还有许多新的加密方法,如用于电子邮件加密的PEM(PrivacyEnhancedMail)和PGP(PrettyGoodPrivacy);
在网络系统中得到应用的加密算法还有美国国家标准局提出的DSA算法(DigitalSignatureAlgorithm)和标准局建议的可靠不可逆加密标准(SHS.SureHashStandard)以及数字签名中使用的SHA.1等算法。
根据加密密钥和解密密钥是否相同或者本质上等同,可将现有的加密体制分为两种。
一种是单钥加密体制(也叫对称加密密码体制),即从其中一个容易推出另一个,其典型代表是美国的数据加密标准DES·
(DataEpStandard);
另一种是公钥密码体制(也叫非对称加密密码体制),其典型代表是RSA密码体制pJ,其他比较重要的还有McEliece算法【11】、Merke.Hellman背包算法【12】、椭圆曲线密码算法【2】和E1Gamal算法【13】等。
1.3国内外研究现状与水平及其意义
自从1976年公钥密码的思想提出以来,国际上已经提出了许多种公钥密码体制,其中RSA就是现在比较常用的一种,是1987年R.L.Rivest,A.Shamir和L.Adleman三人在文章《实现数字签名和公钥密码体制的一种方法》中共同提出了的RSA公钥密码体制,是最具代表性的公钥密码体制。
由于算法既可用于数据加密,又可用于数字签名,安全性良好,易于实现和理解,RSA已成为一种应用极广的公钥密码体制,它的提出真正使得互不相识的通信双方在一个不安全的信道上进行安全通信最终成为可能。
在广泛的应用中,不仅它的实现技术日趋成熟,而且安全性也逐渐得到事实的证明,因此人们对RSA十分重视。
但在实现过程中,由于算法中包含有大数的乘方运算,在计算机上运算时,会耗费大量的时间,严重影响了RSA的加密效率,制约了它的应用。
对于如何提高RSA的运算速度,这是现在研究RSA算法的一个重点,也是现阶段人们讨论较多的一个话题。