ImageVerifierCode 换一换
格式:DOCX , 页数:28 ,大小:185.79KB ,
资源ID:8496500      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/8496500.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(RSA加密算法的分析与实现毕业设计论文.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

RSA加密算法的分析与实现毕业设计论文.docx

1、RSA加密算法的分析与实现毕业设计论文河 南 科 技 大 学毕 业 设 计(论 文) 题目:RSA加密算法的分析与实现摘 要随着信息产业的迅速发展,人们对信息和信息技术的需要不断增加,信息安全也显得越来越重要。基于对网络传输数据安全性的考虑,保障网络信息安全的加密产品具有广泛的应用前景,密码技术则是保障信息安全的一个重要手段。密码学是信息安全技术的核心,现代密码体制分为公钥体制和私钥体制两大类:私钥体制又称单钥体制,其加密密钥和解密密钥相同;公钥体制又称为双钥体制,其加、解密密钥不同,可以公开加密密钥,而仅需保密解密密钥,从而具有数字签名、鉴别等新功能,被广泛应用于金融、商业等社会生活各领域。

2、RSA是目前公认的在理论和实际应用中最为成熟和完善的一种公钥密码体制,不仅可以进行加密,还可以用来进行数字签名和身份验证,是公钥密码体制的代表。大数模幂乘运算是实现RSA等公钥密码的基本运算,该算法存在的问题是在实现时耗时太多,这也是制约其广泛应用的瓶颈。本论文的第一章介绍了国内外密码学和RSA的有关动态以及本论文的意义,第二章介绍密码学的有关知识,第三章对RSA算法进行分析、介绍,第四章是RSA加密与解密的实现的代码和测试,第五章对本课题的结论。最后是致谢和参考文献。关键词:密码学,RSA公钥密码体制,信息安全ABSTRACT With the rapid development of IT

3、 technology, people depend on it increasingly, As a result, information security is getting more and more important. Meanwhile, Products that ensure network information show a great prospect due to the importance .Of transmitting data by network safely, and as an important means of information Secur

4、ity, cryptography must be lifted.Cryptography is the core of the information security. Modern cryptograph is, Divided into the public key system and the private key system. The private key system, Is also called the single key system, in which the encryption process is the same as the. Decryption pr

5、ocess. The public key system is also called the double key system, Where the encryption process is different with the decryption process. Since the Public key system can publish its public key and keep its private key secret, it has, Many new applications such as the digital signature and authentica

6、tion, which is. ideally used in every field of the society.Among the various public key cryptosystem, RSA algorithm is the best choice in, Both theory and application, and it is open used in digital signature and identificationSystem. Modular exponentiation and modular multiplication are the basic a

7、lgorithms. For implementing the public key algorithms such as RSA, etc. However the, Time-consuming modulo exponentiation computation, which has always been the, Bottle-neck of RSA restricts its wider application. The first chapter introduces the domestic and foreign progress of cryptograph; The RSA

8、 related tendency as well as the meaning of the research. The second chapter Explains cryptograph. The third chapter describes and analyzes the RSA algorithm. The fourth chapter discusses the improvement of the RSA algorithm including the big, Number restore and operation, and the improvement algori

9、thm of the” Square multiply algorithm. The fifth chapter reprints an improved algorithm and Comparisons.KEY WORDS: cryptography, RSA, public key cryptosystem, information security第一章 引 言1.1 研究背景自20世纪90年代以来,计算机网络技术得到了空前飞速的发展和广泛的应用,但网络在带给我们方便快捷的同时,也存在着种种安全危机,随着计算机应用的日益广泛和深入,信息交流和资源共享的范围不断扩大,计算机应用环境日趋复

10、杂,计算机的数据安全问题也越来越重要。在计算机网络日益扩大和普及的今天,计算机对安全的要求更高、涉及面更广。其内容主要包括: (1)实体安全。实体安全是指对场地、环境、设施、设备、载体、人员采取的各种安全对策和措施; (2)数据传输网络安全。是指信息、在数据传输网络中传输时,如何保证其安全性的问题,避免在传输途中遭受非法窃取、篡改等; (3)软件安全。它涉及信息在存储和处理状态下的保护问题; (4)信息安全。即数据安全,是指系统有能力抵抗外来非法入侵者对信息的恶意访问、泄漏、修改和破坏等,即:机密性、完整性、可用性。所以,如何实现计算机网络中数据安全传输近年来一直是人们研究的课题之一。1.2

11、信息加密技术信息加密技术是信息安全技术l2的核心技术,其主要目的是防止恶意攻击者非法破译系统中的机密信息。数据加密技术可以提高信息系统及数据的安全性和保密性,防止秘密数据被外部破译所采用的主要技术手段之一。而密码学是研究通信安全保密的科学,其目的是保护信息在信道上传输过程中不被他人窃取、解读和利用,它主要包括密码编码学和密码分析学两个相互独立又相互促进的分支。前者研究将发送的信息(明文)变换成没有密钥不能解或很难解的密文的方法;而后者则研究分析破译密码的方法。其发展经历了相当长的时期。第一次世界大战之前,密码学的重要进展根本是不为人知的,很少有文献披露这方面的信息。直到1918年由WF.Fri

12、endlunn论述了重合指数及其在密码学中的应用以及转轮机专利的发表才引起了人们的重视,但仅仅由军事和秘密部门所控制。第一次世界大战之后到20世纪40年代末期,密码学家们将信息理论、密码学和数学结合起来研究,使信息论成为了研究密码编码学和密码分析学的重要理论基础。完全处于秘密工作状态的研究机构开始在密码学方面取得根本性的进展,最具代表性的有Shannon(香农)的论文保密系统的通信理论和通信的数学理论,他将安全保密的研究引入了科学的轨道,从而创立了信息论的一个新学科。从20世纪50年代初期到60年代末期的20年中,在密码学的研究方面公开发表的论文极少,但David Kahn于1967年出版的著

13、作破译者使密码学的研究涉及到了相当广泛的领域,使不知道密码学的人了解了密码学,因此密码学的研究有了新的进展。自20世纪70年代初期到现在,随着计算机科学与技术的发展,促进了密码学研究的兴起和发展,人们使用密码学技术来保护计算机系统中信息的安全。因此,在密码学的研究和应用等方面取得了许多惊人的成果和理论。具有代表性的有:(l)由Daffier和Hellman于1976年发表的“密码学的新方向”一文提出了公开密钥密码学(即公开密钥或双密钥体制),打破了长期沿用单密钥体制的束缚,提出了一种新的密码体制。公开密钥体制可使收、发信息的双方无须事先交换密钥就可秘密通信。(2)由Horst Festal研究

14、小组于20世纪70年代初着手研究美国数据加密标准(Data Encryption standard,DES),并于1973年发表了“密码学与计算机保密”等有价值的论文,该文论述了他们的研究成果并被美国标准局伽BS)采纳,于1977年正式公布实施为美因数据加密标准并被简称为Desk标准。上述密码学的发展可粗略的划分为三个阶段:第一阶段(1949年之前)的密码学可以说不是什么学科,仅为一门艺术;第二阶段(1949年到1975年)可以说是密码学研究的“冬天”,成果和论文少且为单密钥体制,但在这一阶段有如Shaman的理论和Dave记Kahn的著作并为密码学奠定了坚实的理论基础;第三阶段(1976年到

15、现在)可以说是密码学研究的“春天”,密码学的各种理论和观点百花齐放,应用成果累累。1.3 密码技术研究现状密码技术是信息安全技术的核心,它主要由密码编码技术和密码分析技术两大分支组成。密码编码技术的主要任务是寻求产生安全性高的有效密码算法和协议,以满足对消息进行加密或认证的要求。密码分析技术的主要任务是破译密码或伪造认证信息,实现窃取机密信息或进行诈骗破坏话动。这两个分支既相互对立又相互依存,正是由于这种对立统一关系,才推动了密码学自身的发展。目前人们将密码理论与技术分成两大类,一类是基于数学的密码理论与技术,包括公钥密码、分组密码、序列密码、认证码、数字签名、Hash函数、身份识别、密钥管理

16、、PKI技术、VPN技术等;另一类是非数学的密码理论与技术,包括信息隐藏、量子密码、基于生物特征的识别理论与技术等。现在世界上的一些大国都非常重视密码学研究I3jI4。在美国国家安全局(Nast)和国家标准技术研究所(Mist)的共同推动下,20世纪70年代以来陆续建立了国家数据加密标准(DES)和数字签名标准(D55),2001年又确定了高级加密标准算法(AES)以作为21世纪的应用基础。美国政府为了适应信息社会发展的需要,加强政府司法机构的社会管理执法的高技术支撑能力和情报部门的对抗信息战的能力,正通过Nast提出并推动着密钥托管、密钥恢复、证书授权认证、公开密钥基础设施、公开密钥管理基础

17、设施等一系列技术手段、技术标准和相关理论基础的研究。国际上对在分组密码和序列密码设计和分析的理论和技术已经比较成熟。除了算法的设计之外,美国、欧洲、日本发达国家在加密算法的标准化方面做了大量的工作。我们国内的学者也设计了很多对称加密算法,但是目前的问题是,国内还没有一个统一的加密标准。可喜的是,目前有关部门正在组织对加密标准的讨论和征集。1.4 研究本课题的意义加密技术按照密码使用方法不同可以分为对称密钥算法和非对称密钥算法。对称密钥算法中,加密、解密都使用相同的密钥。非对称密钥算法又称公钥密码算法,即加密、解密使用两个不同的密钥。由于公钥密码算法在保证数据的机密性、完整性以及签名和认可等方面

18、的突出优点,它已经成为当今网络安全中最重要的解决方法。在众多的公钥密码体制中,1978年由Rivets,Shamir和Adelman在美国MIT提出的Rosa算法156被公认为是目前理论和实际应用中最为成热和完善的一种公钥密码体制,可以用来进行数字签名和身份验证。该算法的安全性依赖于大整数的素数因子分解的困难性,其最基本最核心的算术操作是模乘运算,再由一系列的模乘来完成模幂运算。RSA体制算法完善(既可用于数据加密,又可用于数字签名),安全性良好,易于实现和理解。使用RSA体制作为课题算法和方案的实现基础,我们可以有效地利用RSA体制的优点。同时,关于RSA体制的大量的研究工作的文献和成果为本

19、文研究工作的开展提供了良好的基础。RSA体制是最具代表性的公钥密码体制。RSA体制的特点使得它成为公钥密码体制研究的一个标准模板。同时,由于RSA算法发展至今,在实现技术上己经相当成熟,因此本文算法的实现在许多方面都可以利用己有的技术,这对增强算法的实用性是非常有益的。RSA算法计算复杂,实现的难度大。软件实现主要问题是加密、解密操作要计算位数达十进制百位以上的模幂乘函数。执行的时间长,难以满足实际使用要求。在实际应用中,其加密和解密的速度是主要的问题,所以研究RSA的快速算法具有非常重要的现实意义。本论文主要研究了密码学尤其是RSA的发展历程,及目前RSA在应用中面临的问题。在大量阅读国内外

20、重要文献资料的基础上,深入剖析了RSA算法的精要。第二章 密码学概论密码学7的历史极为久远,其起源可以追溯到远古时代,人类有记载的通信密码始于公元前400年。虽然密码是一门古老的技术,但自密码诞生直至第二次世界大战结束,对于公众而言,密码始终处于一种未知的黑暗当中,常常与军事、机要、间谍等工作联系在一起,让人在感到神秘之余,又有几分畏惧。信息技术的发展迅速改变了这一切。随着计算机和通信技术的迅猛发展,大量的敏感信息常常通过公共通信设施或计算机网络进行交换,特别是intermit的广泛应用、电子商务和电子政务的迅速发展,越来越多的个人信息需要严格保密,如:银行账号、个人隐私等。正是这种对信息的秘

21、密性与真实性的需求,密码学才逐渐揭去了神秘的面纱,走进公众的日常生活当中。本章回顾了密码学的基础知识,包括密码学的基本概念、密码理论与技术基础、认证理论与技术基础以及密码分析学基础。这些基础概念和知识是本课题研究工作的理论与技术基础。2.1 密码学的基本概念首先我们明确一下本文所使用的密码学的一些基本概念。它们将贯穿本文的由始至终。定义1密码学 (Cryptology)是研究信息系统安全保密的科学。它包括两个分支,即密码编码学和密码分析学。定义2密码编码学(Cryptography)是对信息进行编码实现信息隐蔽的技术和科学。定义3密码分析学(Cryptanalysis)是研究分析破译密码的技术

22、与科学。定义4明文(Plaintext)是指发送方想要发送给接受方的消息。定义5密文(Cipher text)是指明文被加密后的消息。定义6加密(Encryption)将明文变换为密文的过程。定义7解密(Decryptions)将密文恢复为明文的过程。定义1.8一个密码体制是满足以下条件的五元组(P,C,K,E,D):1.P表示所有可能的明文组成的有限集。2.C表示所有可能的密文组成的有限集。3.K代表密钥空间,是由所有可能的密钥组成的有限集。4.对任意的,都存在一个加密法则和相应的解密法则。并且对每一:和:对任意的明文,均有。通常人们用香农(Salmon)的密码模型来说明密码体制。Shalo

23、m提出的保密系统的模型8如图2-1所示:它由以下几部分组成:明文空间P,密文空间C,密钥空间K1和k2单钥体制下K1=k2=k3密钥K需通过安全的密钥通道由发送方传给接密变换EK1:,由加密器完成,其中;解密变换DK2:密器完成,其中。称五元组(P,c,K,E,D)为一保密系统。 如果一个密码体制的,或由其中一个很容易推出另一个,钥密码体制或对称密码体制或传统密码体制(one- key Cryptosystem,其是美国的数据加密标准Desk(Data Encryption Standard): 其中 (3.2)否则,称为双体制或非对称密码体制。进而,如果在计算上K2不能由K1推出,这公开也不

24、会损害K2的安全,于是便可以将K1公开。这种密码体制称码体制(public一key Cryptosystem),其典型代表是Rosa密码体制。根据对明文的划分与密钥的使用方法的不同可将密码体制分为分序列密码体制。分组密码是将明文M划分为一系列明文块M1,M2,Mn,通常若干字符,并且对每一块Mi都用同一个密钥Kill进行加密,即C=(C1,C2,Cn)。序列密码将M划分为一系列的字符或位m1,m2,mn,并且对于这每一个mi用密钥序列KI=(Kl1,Kl2,Kln)的第I个分量Kli来加密,即C=(C1,C2,Cn),其中Ci=E(mi,kli),i=l,2,n分组密码一次加密一个明文块,而序

25、列密码一次加密一个字符或一个位。两种密码在计算机系统中都有广泛应用。为了实现信息的保密性,抗击密码分析,保密系统应当满足下述要求:即使达不到理论上是不可破解的,也应当是实际上是不可破解的。也就是说,从截获的密文或某些己知明文密文对,要确定密钥或任意明文在计算上是不可行的;保密系统的安全性应依赖于密钥,而不是依赖于密码体制或算法本身的细节的安全性;加密解密算法实用于所有密钥空间中的元素;系统应该易于实现和使用方便。2.2 古典密码体制古典密码是密码学的渊源,这些密码都是由基于字符的密码算法构成的,可用手工或机械操作实现加解密。不同的密码算法是字符之间互相代换或者是互相置换,好的密码算法是结合这两

26、种方法,每次进行多次运算。虽然现在己经很少采用了,但原理还是没变。重要的变化是算法对位而不是对字符进行变换,实质上这只是字母表长度的改变。古典密码的基本运算有两种代替(substitution)和换位(Transposition)。代替是指每一个或一组字符被另一个或另一个或一组字符所取代;换位是不改变明文字符,而按一定规则重新安排字符次序。实际的密码算法是执行一系列这两种基本运算的不同组合,即得到所谓的乘积密码。比较有名的古典密码包括J恺撒(Kaiser)密码、维吉利亚(viewers)密码、维尔南(Velma)、普莱费厄(pl即fair)密码和希尔(Hill)密码等。2.3 对称密码体制对称

27、密码体制10又叫私钥密码算法,是指能够从解密密钥中推算出加密密钥,反过来也成立。在大多数的对称密码体制中,加密密钥和解密密钥的,它要求发送者和接收者在通信之前协商一个安全的密钥,因此有时码也称为单钥密码。单钥密码体制的安全性主要取决于算法和密钥的长漏密钥就意味着任何人都能对消息进行加、解密。对称密码体制不仅可以用于数据加密,也可以用于消息认、证。但是码体制存在着严重的缺陷:在进行安全通信之前,通信的双方必须通过道商定和传送密钥,而在实际的通讯网中,通信双方很难确定一条合理通道;另外一个问题就是密钥的管理。在拥有大量用户的计算机通信网个相互进行保密通信的用户需要N(N一1)/2个密钥;当N值比较

28、大的钥管理的开销极大,密钥只能记录在计算机内存或外存上,这.本身就是全的。分组密码一般的设计原则包括:分组长度n要足够大,使分组代替字母表中的元素个数2n足够大明文穷举攻击法奏效。密钥量要足够大(即置换子集中的元素足够多),尽可能消除弱密钥有密钥无特殊性可分析,以防止密钥穷举攻击奏效。但密钥又不能过长于密钥的管理。由密钥确定代替的算法要足够复杂,充分实现明文和密文的扩散没有简单的关系可循,要能抗击各种己知的攻击,如差分攻击和线性攻加密和解密运算简单,易于软件和硬件的快速实现。数据扩展。一般无数据扩散,在采用同态置换和随机化加密技术入数据扩展。差错传播尽可能地小。为了抗击统计分析破译法,需要实现

29、三条要求,Shannon曾建议采用扩散 (Diffusion)和混淆(confusedly)法。所谓扩散,就是将明文及密钥的每一位数字的影响尽可能迅速地扩散到输出密文的较多个数字中,以便隐蔽明文数字的统计特性。在理想情况下,明文的每一位bit和密钥的每一bit应影响密文的每一bit即实现所谓的“完备性”。Sharman提出的“混淆”概念目的在于使作用于文明的密钥和密文之间的关系复杂化,使明文和密文之间、密文和密钥之间的统计相关性极小化,从而使统计分析攻击法不能奏效。扩散和混淆原则是设计分组密码的基本准则,到达良好的扩散和混淆效果是分组密码设计的核心问题Shannon还提出了“乘积”的方法,所谓

30、“乘积密码”,是将若干个密码复合。例如,设有两个子密码T和S,我们先以T对明文进行加密,然后再以S对所得的结果进行加密,则乘积密码可表示为F二ST。利用这种方法常可将简单易于实现的密码组合成复杂的更为安全的密码。分组密码的特点是将明文消息编码后的数字序列在密钥的控制下变换成等长的数字序列。分组密码的输入输出序列长度预先己确定(一般二者相等),故从本质上看,这种密码可看作是字长为分组长度的数字序列的代换密码。著名的数据加密标准(Data Encryption Standard,DES)是分组密码家族的一个成员,它作为世界范围的标准己经有20多年的历史了。其他比较有名的分组密码算法还有国际数据加密

31、算法(IDEA)Ghost算法等。2.3.1 DES (Data Encryption Standard)数据加密标准DES(Data Encryption standard)算法由IBM公司开发,并被美国国家标准局困(NIST)于1977年2月采纳作为“非密级”应用的一个标准,此后, DES成为全世界使用最广泛的加密标准。DES是迄今为止最为广泛应用的一种加密算法,也是最具代表性的一种分组密码体制。DES对于推动密码理论的发展和应用起了重大作用,掌握和了解这一算法的基本原理、设计思想、安全性分析等问题,对于研究分组密码理论和其实际应用具有重要意义。DES是一种对二元数据进行加密的方法,数据分

32、组长度为64位,密文分组长度也是64位,没有数据扩展。其算法的基本思想是:通过循环或迭代,将简单的基本运算(例如左移、右移、模2加法等)和变换(选择函数、置换函数)构造成数据流的非线性变换(加密变换或解密变换)。DES算法的数据流程的基本框架是固定的,通过密钥分解将一个实际上是56位 (二进制)(64位密钥去掉奇偶校验位,刚好是56位)的密钥分解成16个48位(二进制)的子密钥,每个子密钥控制一次循环或迭代。加密与解密的密钥和流程是完全相同的,区别仅仅是加密与解密使用子密钥序列的操作顺序刚好相反。DES算法在历史上曾发挥重要作用,但也存在以下问题:DES密钥空间的规模256对实际安全而言太小。DES的密钥存在弱密钥、半弱密钥和互补密钥。DES里的所有计算,除去S盒,全是线性的。S盒的设计对密码算法的安全性至关重要。然而,美国国家安全局并没有公布S盒的设计原则,因此,有人怀疑S盒里隐藏了“陷门(trapdoors)”,如果是这样,美国国家安全局就能轻易地解密消息。由于DES的密钥空间小,

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1