毕业设计(论文)-RSA加密算法的分析与实现.doc

上传人:yyf 文档编号:3281542 上传时间:2019-08-07 格式:DOC 页数:39 大小:370.52KB
返回 下载 相关 举报
毕业设计(论文)-RSA加密算法的分析与实现.doc_第1页
第1页 / 共39页
毕业设计(论文)-RSA加密算法的分析与实现.doc_第2页
第2页 / 共39页
毕业设计(论文)-RSA加密算法的分析与实现.doc_第3页
第3页 / 共39页
毕业设计(论文)-RSA加密算法的分析与实现.doc_第4页
第4页 / 共39页
毕业设计(论文)-RSA加密算法的分析与实现.doc_第5页
第5页 / 共39页
点击查看更多>>
资源描述

《毕业设计(论文)-RSA加密算法的分析与实现.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)-RSA加密算法的分析与实现.doc(39页珍藏版)》请在三一文库上搜索。

1、河河 南南 科科 技技 大大 学学 毕毕 业业 设设 计(论计(论 文)文) 题目题目:RSA 加密算法的分析与实现加密算法的分析与实现 姓姓 名:名: 考考 号:号: 院院 系:系: 信系工程系信系工程系 专专 业:业: 计算机及应用计算机及应用 指导教师:指导教师: 2011 年年 04 月月 24 日日 河南科技大学毕业论文设计 1 摘摘 要要 随着信息产业的迅速发展,人们对信息和信息技术的需要不断增加,信息安 全也显得越来越重要。基于对网络传输数据安全性的考虑,保障网络信息安全的 加密产品具有广泛的应用前景,密码技术则是保障信息安全的一个重要手段。密 码学是信息安全技术的核心,现代密码

2、体制分为公钥体制和私钥体制两大类:私 钥体制又称单钥体制,其加密密钥和解密密钥相同;公钥体制又称为双钥体制, 其加、解密密钥不同,可以公开加密密钥,而仅需保密解密密钥,从而具有数字 签名、鉴别等新功能,被广泛应用于金融、商业等社会生活各领域。RSA 是目前 公认的在理论和实际应用中最为成熟和完善的一种公钥密码体制,不仅可以进行 加密,还可以用来进行数字签名和身份验证,是公钥密码体制的代表。大数模幂 乘运算是实现 RSA 等公钥密码的基本运算,该算法存在的问题是在实现时耗时太 多,这也是制约其广泛应用的瓶颈。 本论文的第一章介绍了国内外密码学和 RSA 的有关动态以及本论文的意义, 第二章介绍密

3、码学的有关知识,第三章对 RSA 算法进行分析、介绍,第四章是 RSA 加密与解密的实现的代码和测试,第五章对本课题的结论。最后是致谢和参 考文献。 关键词关键词:密码学,RSA 公钥密码体制,信息安全 河南科技大学毕业论文设计 2 ABSTRACT With the rapid development of IT technology, people depend on it increasingly, As a result, information security is getting more and more important. Meanwhile, Products that

4、ensure network information show a great prospect due to the importance .Of transmitting data by network safely, and as an important means of information Security, cryptography must be lifted.Cryptography is the core of the information security. Modern cryptograph is, Divided into the public key syst

5、em 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 process. The public key system is also called the double key system, Where the encryption process is different with the decryption process. Sinc

6、e 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 authentication, which is. ideally used in every field of the society.Among the various public key cryptosystem, RSA algorithm is the best choice in, Bot

7、h theory and application, and it is open used in digital signature and identificationSystem. Modular exponentiation and modular multiplication are the basic algorithms. For implementing the public key algorithms such as RSA, etc. However the, Time-consuming modulo exponentiation computation, which h

8、as always been the, Bottle-neck of RSA restricts its wider application. The first chapter introduces the domestic and foreign progress of cryptograph; The RSA related tendency as well as the meaning of the research. The second chapter Explains cryptograph. The third chapter describes and analyzes th

9、e RSA algorithm. The 河南科技大学毕业论文设计 3 fourth chapter discusses the improvement of the RSA algorithm including the big, Number restore and operation, and the improvement algorithm of the” Square multiply“ algorithm. The fifth chapter reprints an improved algorithm and Comparisons. KEY WORDS: cryptograp

10、hy, RSA, public key cryptosystem, information security 河南科技大学毕业论文设计 4 目目 录录 摘摘 要要 1 1 ABSTRACTABSTRACT 2 2 第一章第一章 引引 言言 6 6 1.1 研究背景.6 1.2 信息加密技术.6 1.3 密码技术研究现状.8 1.4 研究本课题的意义.9 第二章第二章 密码学概论密码学概论 1111 2.1 密码学的基本概念 11 2.2 古典密码体制14 2.3 对称密码体制14 2.3.1 DES (Data Encryption Standard) 16 2.3.2 AES(Advance

11、d Encryption Standard) 18 2.4 公钥密码体制 19 2.5 密码分析技术.21 第三章第三章 RSARSA 公钥密码体制公钥密码体制2424 3.1RSA 的数学基础知识24 3.1.1 因子的概念 24 3.1.2 素数与合数 25 3.1.3 公约数与最大公约数 26 3.14 互质数 .27 3.2 RSA 算法 .28 3.2.1 RSA 体制描述.28 3.2.2 RSA 工作原理29 第四章第四章 RASRAS 的加密与解密技术的实现的加密与解密技术的实现3232 4.1 RSA 加密与解密代码 .32 4.2 测试的环境与工具 34 河南科技大学毕业论

12、文设计 5 4.3 测试的结果 35 第五章第五章 结论结论 3636 5.1 结论 36 致谢致谢 3737 参考文献参考文献 3838 河南科技大学毕业论文设计 6 第一章第一章 引引 言言 1.11.1 研究背景研究背景 自 20 世纪 90 年代以来,计算机网络技术得到了空前飞速的发展和广泛的应 用,但网络在带给我们方便快捷的同时,也存在着种种安全危机,随着计算机应 用的日益广泛和深入,信息交流和资源共享的范围不断扩大,计算机应用环境日 趋复杂,计算机的数据安全问题也越来越重要。在计算机网络日益扩大和普及的 今天,计算机对安全的要求更高、涉及面更广。其内容主要包括: (1)实体安全。

13、实体安全是指对场地、环境、设施、设备、载体、人员采取的各种安全对策和措 施; (2)数据传输网络安全。是指信息、在数据传输网络中传输时,如何保证其 安全性的问题,避免在传输途中遭受非法窃取、篡改等; (3)软件安全。它涉及 信息在存储和处理状态下的保护问题; (4)信息安全。即数据安全,是指系统有 能力抵抗外来非法入侵者对信息的恶意访问、泄漏、修改和破坏等,即:机密性、 完整性、可用性。所以,如何实现计算机网络中数据安全传输近年来一直是人们 研究的课题之一。 1.21.2 信息加密技术信息加密技术 信息加密技术是信息安全技术 l2的核心技术,其主要目的是防止恶意攻击 者非法破译系统中的机密信息

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

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

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

17、方无须事先交换密钥 就可秘密通信。(2)由 Horst Festal 研究小组于 20 世纪 70 年代初着手研究美国 数据加密标准(Data Encryption standard,DES),并于 1973 年发表了“密码学 与计算机保密”等有价值的论文,该文论述了他们的研究成果并被美国标准局伽 BS)采纳,于 1977 年正式公布实施为美因数据加密标准并被简称为 Desk 标准。 上述密码学的发展可粗略的划分为三个阶段:第一阶段(1949 年之前)的密码学 可以说不是什么学科,仅为一门艺术;第二阶段(1949 年到 1975 年)可以说是密码 学研究的“冬天” ,成果和论文少且为单密钥体制

18、,但在这一阶段有如 Shaman 的 理论和 Dave 记 Kahn 的著作并为密码学奠定了坚实的理论基础;第三阶段(1976 年 到现在)可以说是密码学研究的“春天” ,密码学的各种理论和观点百花齐放,应 用成果累累。 1.31.3 密码技术研究现状密码技术研究现状 密码技术是信息安全技术的核心,它主要由密码编码技术和密码分析技术两 大分支组成。密码编码技术的主要任务是寻求产生安全性高的有效密码算法和协 议,以满足对消息进行加密或认证的要求。密码分析技术的主要任务是破译密码 或伪造认证信息,实现窃取机密信息或进行诈骗破坏话动。这两个分支既相互对 立又相互依存,正是由于这种对立统一关系,才推动

19、了密码学自身的发展。目 前人们将密码理论与技术分成两大类,一类是基于数学的密码理论与技术,包括 河南科技大学毕业论文设计 9 公钥密码、分组密码、序列密码、认证码、数字签名、Hash 函数、身份识别、密 钥管理、PKI 技术、VPN 技术等;另一类是非数学的密码理论与技术,包括信息隐 藏、量子密码、基于生物特征的识别理论与技术等。现在世界上的一些大国都非 常重视密码学研究 I3jI4。在美国国家安全局(Nast)和国家标准技术研究所 (Mist)的共同推动下,20 世纪 70 年代以来陆续建立了国家数据加密标准(DES)和 数字签名标准(D55),2001 年又确定了高级加密标准算法(AES)

20、以作为 21 世纪的 应用基础。美国政府为了适应信息社会发展的需要,加强政府司法机构的社会管 理执法的高技术支撑能力和情报部门的对抗信息战的能力,正通过 Nast 提出并 推动着密钥托管、密钥恢复、证书授权认证、公开密钥基础设施、公开密钥管理 基础设施等一系列技术手段、技术标准和相关理论基础的研究。国际上对在分组 密码和序列密码设计和分析的理论和技术已经比较成熟。除了算法的设计之外, 美国、欧洲、日本发达国家在加密算法的标准化方面做了大量的工作。我们国内 的学者也设计了很多对称加密算法,但是目前的问题是,国内还没有一个统一的 加密标准。可喜的是,目前有关部门正在组织对加密标准的讨论和征集。 1

21、.41.4 研究本课题的意义研究本课题的意义 加密技术按照密码使用方法不同可以分为对称密钥算法和非对称密钥算法。 对称密钥算法中,加密、解密都使用相同的密钥。非对称密钥算法又称公钥密码 算法,即加密、解密使用两个不同的密钥。由于公钥密码算法在保证数据的机密 性、完整性以及签名和认可等方面的突出优点,它已经成为当今网络安全中最重 要的解决方法。在众多的公钥密码体制中,1978 年由 Rivets,Shamir 和 河南科技大学毕业论文设计 10 Adelman 在美国 MIT 提出的 Rosa 算法 156被公认为是目前理论和实际应用中 最为成热和完善的一种公钥密码体制,可以用来进行数字签名和身

22、份验证。该算 法的安全性依赖于大整数的素数因子分解的困难性,其最基本最核心的算术操作 是模乘运算,再由一系列的模乘来完成模幂运算。 RSA 体制算法完善(既可用于数据加密,又可用于数字签名),安全性良好, 易于实现和理解。使用 RSA 体制作为课题算法和方案的实现基础,我们可以有效 地利用 RSA 体制的优点。同时,关于 RSA 体制的大量的研究工作的文献和成果为 本文研究工作的开展提供了良好的基础。 RSA 体制是最具代表性的公钥密码体制。RSA 体制的特点使得它成为公钥密 码体制研究的一个标准模板。同时,由于 RSA 算法发展至今,在实现技术上己经 相当成熟,因此本文算法的实现在许多方面都

23、可以利用己有的技术,这对增强算 法的实用性是非常有益的。 RSA 算法计算复杂,实现的难度大。软件实现主要问题是加密、解密操作要 计算位数达十进制百位以上的模幂乘函数。执行的时间长,难以满足实际使用要 求。在实际应用中,其加密和解密的速度是主要的问题,所以研究 RSA 的快速算 法具有非常重要的现实意义。 本论文主要研究了密码学尤其是 RSA 的发展历程,及目前 RSA 在应用中面临 的问题。在大量阅读国内外重要文献资料的基础上,深入剖析了 RSA 算法的精 要。 河南科技大学毕业论文设计 11 第二章第二章 密码学概论密码学概论 密码学7的历史极为久远,其起源可以追溯到远古时代,人类有记载的

24、通 信密码始于公元前 400 年。虽然密码是一门古老的技术,但自密码诞生直至第二 次世界大战结束,对于公众而言,密码始终处于一种未知的黑暗当中,常常与军 事、机要、间谍等工作联系在一起,让人在感到神秘之余,又有几分畏惧。信息 技术的发展迅速改变了这一切。随着计算机和通信技术的迅猛发展,大量的敏感 信息常常通过公共通信设施或计算机网络进行交换,特别是 intermit 的广泛应 用、电子商务和电子政务的迅速发展,越来越多的个人信息需要严格保密,如: 银行账号、个人隐私等。正是这种对信息的秘密性与真实性的需求,密码学才逐 渐揭去了神秘的面纱,走进公众的日常生活当中。本章回顾了密码学的基础知识, 包

25、括密码学的基本概念、密码理论与技术基础、认证理论与技术基础以及密码分 析学基础。这些基础概念和知识是本课题研究工作的理论与技术基础。 2.12.1 密码学的基本概念密码学的基本概念 首先我们明确一下本文所使用的密码学的一些基本概念。它们将贯穿本文的 由始至终。 定义 1 密码学 (Cryptology)是研究信息系统安全保密的科学。它包括两个 分支,即密码编码学和密码分析学。 定义 2 密码编码学(Cryptography)是对信息进行编码实现信息隐蔽的技术和 河南科技大学毕业论文设计 12 科学。 定义 3 密码分析学(Cryptanalysis)是研究分析破译密码的技术与科学。 定义 4

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

27、c k dcpxp ( )()k k ex dx= 们用香农(Salmon)的密码模型来说明密码体制。Shalom 提出的保密系统的模型8如 图 2-1 所示: 河南科技大学毕业论文设计 13 它由以下几部分组成:明文空间 P,密文空间 C,密钥空间 K1 和 k2 单钥体制下 K1=k2=k3 密钥 K 需通过安全的密钥通道由发送方传给接密变换 EK1:,由加pc 密器完成,其中;解密变换 DK2:密器完成,其中。称五元组12kkcp11kk (P,c,K,E,D)为一保密系统。 如果一个密码体制的,或由其中一个很容易推出另一个,钥密码体制或12kk 对称密码体制或传统密码体制(one- k

28、ey Cryptosystem,其是美国的数据加密标 准 Desk(Data Encryption Standard): 其中 (3.2) a ap=0 p a= 否则,称为双体制或非对称密码体制。进而,如果在计算上 K2 不能由 K1 推 出,这公开也不会损害 K2 的安全,于是便可以将 K1 公开。这种密码体制称码体 制(public 一 key Cryptosystem),其典型代表是 Rosa 密码体制。 根据对明文的划分与密钥的使用方法的不同可将密码体制分为分序列密码体 制。 分组密码是将明文 M 划分为一系列明文块 M1,M2,Mn,通常若干字符, 并且对每一块 Mi 都用同一个密

29、钥 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 分组密码一次加密 一个明文块,而序列密码一次加密一个字符或一个位。两种密码在计算机系统中 都有广泛应用。为了实现信息的保密性,抗击密码分析,保密系统应当满足下述 要求: 即使达不到理论上是不可破解的,也应当是实际上是不可破解的。也就是 河南科技大学毕业论文设计 14 说,从截获的密文或某些己知明文密文对

30、,要确定密钥或任意明文在计算上是不 可行的;保密系统的安全性应依赖于密钥,而不是依赖于密码体制或算法本身 的细节的安全性;加密解密算法实用于所有密钥空间中的元素;系统应该易于 实现和使用方便。 2.22.2 古典密码体制古典密码体制 古典密码是密码学的渊源,这些密码都是由基于字符的密码算法构成的,可 用手工或机械操作实现加解密。不同的密码算法是字符之间互相代换或者是互相 置换,好的密码算法是结合这两种方法,每次进行多次运算。虽然现在己经很少 采用了,但原理还是没变。重要的变化是算法对位而不是对字符进行变换,实质 上这只是字母表长度的改变。 古典密码的基本运算有两种代替(substitution

31、)和换位(Transposition)。 代替是指每一个或一组字符被另一个或另一个或一组字符所取代;换位是不改变 明文字符,而按一定规则重新安排字符次序。实际的密码算法是执行一系列这两 种基本运算的不同组合,即得到所谓的乘积密码。 比较有名的古典密码包括 J 恺撒(Kaiser)密码、维吉利亚(viewers)密码、 维尔南(Velma)、普莱费厄(pl 即 fair)密码和希尔(Hill)密码等。 2.32.3 对称密码体制对称密码体制 对称密码体制10又叫私钥密码算法,是指能够从解密密钥中推算出加密密 钥,反过来也成立。在大多数的对称密码体制中,加密密钥和解密密钥的,它要 河南科技大学毕业

32、论文设计 15 求发送者和接收者在通信之前协商一个安全的密钥,因此有时码也称为单钥密码。 单钥密码体制的安全性主要取决于算法和密钥的长漏密钥就意味着任何人都能对 消息进行加、解密。 对称密码体制不仅可以用于数据加密,也可以用于消息认、证。但是码体制 存在着严重的缺陷:在进行安全通信之前,通信的双方必须通过道商定和传送密 钥,而在实际的通讯网中,通信双方很难确定一条合理通道;另外一个问题就是 密钥的管理。在拥有大量用户的计算机通信网个相互进行保密通信的用户需要 N(N 一 1)/2 个密钥;当 N 值比较大的钥管理的开销极大,密钥只能记录在计算机 内存或外存上,这.本身就是全的。 分组密码一般的

33、设计原则包括: 分组长度 n 要足够大,使分组代替字母表中的元素个数 2n 足够大明文穷举攻 击法奏效。 密钥量要足够大(即置换子集中的元素足够多),尽可能消除弱密钥有密钥无 特殊性可分析,以防止密钥穷举攻击奏效。但密钥又不能过长于密钥的管理。 由密钥确定代替的算法要足够复杂,充分实现明文和密文的扩散没有简单的 关系可循,要能抗击各种己知的攻击,如差分攻击和线性攻 加密和解密运算简单,易于软件和硬件的快速实现。 数据扩展。一般无数据扩散,在采用同态置换和随机化加密技术入数据扩展。 差错传播尽可能地小。 为了抗击统计分析破译法,需要实现三条要求,Shannon 曾建议采用扩散 河南科技大学毕业论

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

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

36、了。其他比较有名的分 组密码算法还有国际数据加密算法(IDEA)Ghost 算法等。 2.3.12.3.1 DESDES (Data(Data EncryptionEncryption Standard)Standard) 数据加密标准 DES(Data Encryption standard)算法由 IBM 公司开发,并被 美国国家标准局困(NIST)于 1977 年 2 月采纳作为“非密级”应用的一个标准, 河南科技大学毕业论文设计 17 此后, DES 成为全世界使用最广泛的加密标准。DES 是迄今为止最为广泛应用的 一种加密算法,也是最具代表性的一种分组密码体制。DES 对于推动密码理

37、论的 发展和应用起了重大作用,掌握和了解这一算法的基本原理、设计思想、安全性 分析等问题,对于研究分组密码理论和其实际应用具有重要意义。 DES 是一种对二元数据进行加密的方法,数据分组长度为 64 位,密文分组长 度也是 64 位,没有数据扩展。其算法的基本思想是:通过循环或迭代,将简单的 基本运算(例如左移、右移、模 2 加法等)和变换(选择函数、置换函数)构造成数 据流的非线性变换(加密变换或解密变换)。DES 算法的数据流程的基本框架是固 定的,通过密钥分解将一个实际上是 56 位 (二进制)(64 位密钥去掉奇偶校验位, 刚好是 56 位)的密钥分解成 16 个 48 位(二进制)的

38、子密钥,每个子密钥控制一次 循环或迭代。加密与解密的密钥和流程是完全相同的,区别仅仅是加密与解密使 用子密钥序列的操作顺序刚好相反。DES 算法在历史上曾发挥重要作用,但也存 在以下问题:DES 密钥空间的规模 256 对实际安全而言太小。DES 的密钥存在 弱密钥、半弱密钥和互补密钥。DES 里的所有计算,除去 S 盒,全是线性的。 S 盒的设计对密码算法的安全性至关重要。然而,美国国家安全局并没有公布 S 盒的设计原则,因此,有人怀疑 S 盒里隐藏了“陷门(trapdoors)” ,如果是这样, 美国国家安全局就能轻易地解密消息。由于 DES 的密钥空间小,针对 DES 算法进 行穷举攻击

39、就可以取得成 1998 年 7 月,电子前沿基金会(EFF)使用一台 25 万美 元的电脑在 56 小时了 DES 密钥。1999 年 1 月 RSA 数据安全会议期间,EFF 通过 遍布全世万台计算机的协同工作,用 22 小时巧分钟就宣告破解了一个 DES 的密 河南科技大学毕业论文设计 18 外,关于 DES 的攻击还有差分密码分析方法和线性密码分析方法。 2.3.2 AES(Advanced Encryption Standard) 从各方面来看,DES 已走到了它生命的尽头,为了替代己经超龄服役 DES 算法,Nils 于 1997 年 1 月开始了公开筛选 DES 替代者高级加密标准

40、(AES) 的工作。其目的是为了确定一个非保密的、全球免费使用的分组密码算法,用于 保护下一世纪政府的敏感信息,并希望成为秘密和公开部门的数据加密标准.最终, 2000 年 10 月 2 日,NIST 宣布比利时的密码学家 Joan Diemen 和 Vincent Rijmen 设计的“Roundel 算法”最终获胜。 Roundel 之所为能当选 AES,主要是因为: 运算速度快。在无论有无反馈模式的计算环境下的软硬件中,Rijndael 表 现出非常好的性能。 对内存的需求非常低,使它很适合用于受限制的环境。 算法可靠。使用非线性结构的 S 一盒,表现出有足够的安全余地。 Irondal

41、e 算法的设计策略是宽轨迹策略(Wide Trail Strategy),这种策略会有 效抵抗差分分析和线性分析攻击。 Irondale 是一个分组迭代密码,被设计成 128/192/256 比特三种密匙标准可 用于加密长度为 128/192/256 比特的分组,相应的轮数为 10/12/14,分组长度和密 钥长度设计灵活。 密钥安装的时间很好,也具有很高的灵活性。 操作简单,并可抵御时间和能量攻击,此外,它还有许多未被特的防御性 河南科技大学毕业论文设计 19 能。由上可见,助 deal 汇聚了安全性能、效率、可实现性和灵活性等。 2.42.4 公钥密码体制公钥密码体制 对称密码体制的特点是

42、解密密钥与加密密钥相同或者很容易从加密密钥导出 解密密钥。在对称密码体制中,加密密钥的暴露会使系统变得不安全。对称密码 系统的一个严重缺陷是在任何密文传输之前,发送者和接收者必须使用一个安全 信道预先商定和传送密钥。在实际的通讯网中,通信双方则很难确定一条合理的 安全通道。 由 Dime 和 Hellman 首先引入的公钥密码体制克服了对称密码体制的缺点。 它的出现是密码学研究中的一项重大突破,也是现代密码学诞生的标志之一。在 公钥密码体制中,解密密钥和加密密钥不同,从一个难以计算出另一个,解密运 算和加密运算可以分离。通信双方无须事先交换密钥就可建立起保密通信。公钥 密码体制克服了对称密码体

43、制的缺点,特别适用于计算机网络中的多用户通信, 它大大减少了多用户通信所需的密钥量,节省了系统资源,也便于密钥管理。 1978 年 Rivets,Shamir:和 Adelman 提出了第一个比较完善的公钥密码算法,这 就是著名的 RSA 算法。自从那时起,人们基于不同的计算问题,提出了大量的公 钥密码算法。比较重要的有 RSA 算法、Mermen- Hellman 背包算法、Mealier 算 法、Enigmas 算法和椭圆曲线密码算法等。 设计公钥密码体制的关键是先要寻找一个合适的单向函数,大多数的公钥密 码体制都是基于计算单向函数的逆的困难性建立的。例如,RSA 体制就是典型的 基于单向

44、函数模型的实现。这类密码的强度取决于它所依据的问题的计算复杂性。 河南科技大学毕业论文设计 20 值得注意的是,公钥密码体制的安全性是指计算安全性,而绝不是无条件安全性, 这是由它的安全性理论基础即复杂性理论决定的。 单向函数在密码学中起一个中心作用。它对公钥密码体制的构造的研究是非 常重要的。虽然目前许多函数(包括 RSA 算法的加密函数)的被认为或被相信是单 向 26 的,但目前还没有一个函数能被证明是单向的。目前己经问世的公钥密码 算法主要有三大类: 第一类是基于有限域范围内计算离散对数的难度而提出的算法。比如,世界 上第一个公钥算法 Defile 一 Hellman 算法就属此类,但是

45、,它只可用于密钥发, 不能用于加密解密信息。此外,比较著名的还有 Enigma 算法和 1991 年 NIST 提 出的数字签名算法-Digital signature Algorithm(DSA)。 第二类是 20 世纪 90 年代后期才得到重视的椭圆曲线密码体制。1985 年,美 国 Washington 大学的 Neal Koblenz 和 IBM Watson 认研究中心的 Victor Miller 各自独立的提出:一个称为椭圈曲线的不引人注目的数学分支可以用于实 现密码学。他们没有设计出用椭圆曲线的新的密码算法,但他们在有限域上用椭 圆曲线实现了己有的公钥算法,如 Dine-Hen

46、lman.lGamal 和 Schonn 一算法等。 第三类就是本课题研究要涉及的 RSA 公钥密码算法。1977 年,MIT 的 Ronald L.Rivest.Adi Shamir Leonard 和 Madmen 教授对 Defies 和 Hellman 的公约密码 学的思想进行了深入的研究,开发出了一个能够真正加密数据的算法。 众所周知的用他们三个名字首字母命名的 RSA 算法问世。由于 Whiff 和 Martin Hellman 提供的 ME 背包算法于 1984 年被破译,失去了实际意义,因而 河南科技大学毕业论文设计 21 RSA 算法是真正有生命力的公开密钥加密系统算法,也是

47、第一个既能用于数据加 密也能用于数字签名的算法,在过去数年中提出的所有公钥算法是最易于理解和 实现的,也是最流行的,自提出后已经经过了多密码分析,至今还没有发现其中 的严重缺陷,仍然在发挥的及其重要的作用。本文将在下一章对该算法作比较详 细的介绍。 另外,还有由 Remark。和 Elhanan 设计出的第一个广义的公钥加密算法-背 包算法,Rabin 算法,细胞自动机算法等许许多多的算法。1988 年,daffier 总 结了己经出现的所有公钥密码算法,提出大多数公钥算法都基于三个难问题之一:背 包问题、离散对数和因子分解。所以说,公钥密码学的数学基础是很狭窄的,设 计出全新的公钥密码算法的

48、难度相当大,而且无论是数学上对因子分解还是计一 算离散对数问题的突破都会使现在看起来安全的所有么:钥算法变得不安全。 2.52.5 密码分析技术密码分析技术 密码分析学是密码学的一个重要分支,同密码编码学并列。一般说来密码分 析学是研究是在不掌握密钥的情况下,利用密码体制的弱点来恢复明文的一门学 科。对一个密码系统采取截获密文进行分析的这类攻击称作被动攻击 (passive attack)。密码系统可能遭受的另一种攻击是主动攻击口、evilest。既非法入侵 者主动向系统窜扰,采用删除、更改、增添、重放、伪造等手段向系统插入假消 息,以达到窃取非法信息的目的。 如果能够根据密文确定出明文或密钥

49、,或者能够根据明文一密文对确定出密 钥,则我们说这个密码是可破译的。否则,我们说这个密码是不可破译的。 河南科技大学毕业论文设计 22 密码分析者攻击密码的方法主要有以下三种: 穷举攻击:是指密码分析者用试遍所有密钥的方法来破译密码。穷举攻击所 花费的时间等于尝试次数乘以一次解密(加密)所需的时间。显然可以通过增大密 钥量或加大解密(加密)算法的复杂性来对抗穷举攻击。当密钥量增大时,尝试的 次数必然增大。当解密(加密)算法的复杂性增大时,完成一次解密(加密)所需的 时间增大。从而使穷举攻击在实际上不能实现。 统计分析攻击:是指密码分析者通过分析密文和明文的统计规律来破译密码。 统计分析攻击在历史上为破译密码做出过极大的贡献。许多古典密码都可以通过 分析明文字母和字母组的频率而破译。对抗统计分析攻击的方法是设法使明文的 统计特性不带入密文。这样,密文不带有明文的痕迹,从而使统计分析成为不可 能。 数学分析攻击:是指密码分析者针对加密算法的数学依据通过数学求解的方法 来破译密码。为了对抗这种数学分析攻击,应选用具有坚实数学基础和足够复杂 的加密算法。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 研究报告 > 信息产业


经营许可证编号:宁ICP备18001539号-1