毕业设计(论文)-IP网络数据传输安全性分析与实现.doc

上传人:哈尼dd 文档编号:3945357 上传时间:2019-10-10 格式:DOC 页数:88 大小:521.50KB
返回 下载 相关 举报
毕业设计(论文)-IP网络数据传输安全性分析与实现.doc_第1页
第1页 / 共88页
毕业设计(论文)-IP网络数据传输安全性分析与实现.doc_第2页
第2页 / 共88页
毕业设计(论文)-IP网络数据传输安全性分析与实现.doc_第3页
第3页 / 共88页
毕业设计(论文)-IP网络数据传输安全性分析与实现.doc_第4页
第4页 / 共88页
毕业设计(论文)-IP网络数据传输安全性分析与实现.doc_第5页
第5页 / 共88页
点击查看更多>>
资源描述

《毕业设计(论文)-IP网络数据传输安全性分析与实现.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)-IP网络数据传输安全性分析与实现.doc(88页珍藏版)》请在三一文库上搜索。

1、IP网络数据传输的安全性分析与实现IP网络数据传输安全性分析与实现摘 要 在电子商务和网络技术蓬勃发展的今天,网络安全也越来越受到技术人员的关注。本毕业设计中的目的就是在网络上建立一个安全的应用维护系统,在这个系统中实现数据在网络上的安全传输。加密和解密技术是这个系统的核心,在本系统中无处不在。本毕业设计中首先介绍了对称和非对称密钥密码机制,并分析了他们的优缺点,然后结合他们的优势,实现数据在网络上的快速、安全和秘密的传输,为进一步增加系统的抵抗攻击的能力,把敏感数据加密存储到数据库中。接下来讲密钥管理技术,没有安全的密钥管理,则对数据的一切加密操作都变得毫无意义。相应的密钥管理技术在数据加密

2、存储和SSL中都得到了应用和实现。紧接着简单介绍了SSL技术,它市数据在网络中安全传输的关键技术。然后重点介绍了TCP/IP各层的安全策略。最后,综合前面的各项技术组建了一个安全的应用系统,满足了IP网络数据的安全传输。关键词:加密、DES、RSA、密钥管理、SSL、网络安全The analysis and actualize of IP data transmission securityABSTRACT With the fast development of networks technology,more and more people focus on the security of

3、 network.This article will guide us to estabilish a security system.The system accomplish that the data can be safe transmitted through the network.Encryption and decryption are core technology in out system.Firstly,a short inteoduction of encryption and decryptions algorithm is given.On this basis,

4、then I show my analysis.And these algorithms are applied to the encryption of database and SSL technology.Secondly,I have introduced secret-keys theory.A good security system must have a right system of secret-keys management.The relevant secret-keys management system is applied to data encryption a

5、nd SSL.With the following is the introduction of the SSL technology in detail .Then the security analysis of TCP/IP layers is given.AT last,I have designed and estabished a safe system by using these key technologies.Key words: Encryption algorithm、DES、 RSA、Secret-key Management、 SSL、Network Securit

6、y文献综述 随着信息技术的发展与应用,信息安全的内涵在不断的延伸,从最初的信息保密性发展到信息的完整性、可用性、可控性和不可否认性,进而又发展为攻(攻击)、防(防范)、测(检测)、控(控制)、管(管理)、评(评估)等多方面的基础理论和实施技术。信息安全是一个综合、交叉学科领域,它要综合利用数学、物理、通信和计算机诸多学科的长期知识积累和最新发展成果,进行自主创新研究,加强顶层设计,提出系统的、完整的,协同的解决方案。与其他学科相比,信息安全的研究更强调自主性和创新性,自主性可以避免陷门,体现国家主权;而创新性可以抵抗各种攻击,适应技术发展的需求。 总的来说,目前在信息安全领域人们所关注的焦点主

7、要有以下几方面: 1) 密码理论与技术; 2) 安全协议理论与技术; 3) 安全体系结构理论与技术; 4) 信息对抗理论与技术; 5) 网络安全与安全产品。 一个稳定、安全、可靠的存储基础架构对企业来说是必不可少的。企业的信息系统不可避免地受到来自外界的安全危胁,包括自然灾害、网络、硬件、软件等方面,也包括人员的操作失误。数据存储的任何失误都可能给企业带来巨大的经济损失。为了避免或降低不可预测的灾难给企业带来的损失,建立一套安全存储策略是当务之急。 转变存储安全观念 目前,很多用户还没有形成存储安全的意识。例如,公司的信息网络只由一个人管理,万一管理人员有事不在,或者出现误操作,数据就可能面临

8、无法挽回的损失。随着人们对数据安全性的认识不断提高,存储安全的理念也逐渐为用户所接受。存储安全就像是买保险。在没有发生意外时,人们可能意识不到它的重要性,而一旦遭遇意外,保险的必要性就可以充分显现了。面对无孔不入的病毒入侵,以及不可预测的灾难、人为操作失误等,我们在技术上已经完全有能力进行相应的预防,现在的关键是观念的转变。 在建设信息系统的初期,用户就应该考虑到建立相应的存储安全机制,像金融、电信、电力等行业,数据的安全性就更加重要。在进行存储安全投资时,必须要谨慎,最贵最好的产品并不一定能带来最好的效果,还要考虑到企业的实际情况。一个企业首先要分析危胁企业数据安全的主要因素有哪些,是机器故

9、障,还是人为误操作;然后,确定相应的存储安全策略,比如增添软件,还是采用容灾备份等其它措施。用最少的投入最有效地防御最多的安全危胁,是建立存储安全机制要把握的基本原则。 适宜的存储安全策略 针对数据传输过程中的数据安全问题,HDS公司首席安全官Arthur B. Edmonds给出了五步法。 第一步是Authentication(证明),即证明你符合你所声明的身份,相关的工具包括DABIOS、LDAP、DH-CHAP、密匙与密码等。不论何时,当你建立了一个数据传输通路时,这是必须要做的第一件事。这就好像是一个护照,上面记录你所有的信息。 如果从主数据中心向次级数据中心备份数据,就需要一个长时间

10、的通路连接。此时,次级数据中心就需要授权,即表明能做什么?被允许做什么?”这就是第二步,即Authorization(授权)。 第三步称为Audit/Accounting(稽核),即记录用户在登录后执行过的操作。稽查日志的精度极高,它可以捕捉到每一个按键的操作。因此,你的所有操作步骤都会被记录在日志中。 第四步是Integrity(一致性),即保证对方能够收到所发送的信息,且发送与接收的数据保持一致,而这中间也不会被其他人窜改意思。保证一致性,就是要防止黑客或其他人窃取本不该他们看到的数据。对于数据的安全性来说,这一步骤是非常重要的。 第五步是Confidentiality(保密性),即只有拥

11、有相应权限的人才能看到保密信息,这也是通常所说的加密(encryption)。加密有软件加密和硬件加密。 通过上述五步,就可以进行安全数据传输,最后是关闭对话通路。 在此,我们谈论存储安全,但不仅限于从存储设备出发。安全应该建立在应用的基础上,用户需要的是一个完整的端到端的安全解决方案。我们不能只关心存储阵列的安全,还必须保证连接的所有设备都运行于安全协议之上。据悉,HDS正在努力进行相关的研发工作。 本课题旨在通过对对称和非对称密钥密码机制进行分析,从各种不同的角度分析探讨网络数据传输安全性的实现技术与方法。在此基础上,综合应用各种技术组建一个满足数据传输安全需求的应用系统,在这个系统中实现

12、数据在网络上的快速、安全和秘密的传输。 本课题的关键在于从整体的角度综合考虑数据的安全,即在各层上都要有相应的策略保证数据的安全传输。难点一综合对称和非对称密码机制的优点实现数据的快速、安全和秘密的传输,难点二在于从整体上对OSI模型安全的考虑。 加密和解密技术是本课题的核心,首先分析各加密解密算法,然后通过密钥管理技术的介绍引出对SSL的分析,最后综合介绍当今流行的OSI模型各层的安全策略。 本课题最大的创新之处在于对OSI模型上各层的数据安全策略的整体把握,使整个系统从上到下都有不同的安全措施以保障网络数据的快速和秘密传输。 当前网络安全已成为各界关注的热点和讨论的焦点;对ASP和DES等

13、密码体制的争论仍将持续,而对SSL技术的研究也仍将深入;防火墙技术等网罗防护技术也将成为各计算机公司的研发重点,总而言之,网络安全是有利于保证国家机关、企业、银行、军事机关的重要数据的安全,能有效打击和减少网络犯罪,对维护网络的稳定、节约网络维护的费用也有重要的意义。参考文献1. Larry L.Peterson,Bruce S.Davie, 叶新铭 贾波译, 计算机网络-系统方法(原书第3版), 机械工业出版社, 2005 2. William Stallings. 密码编码学与网络安全. 北京:电子工业出版社. 2001 3. 郭栋, 孙锋, 唐植明. 加密与解密实战攻略. 北京:清华大学

14、出版社. 2003 4. Christopher M. King, Curtis E. Dalton, T. Ertem Osmanoglu. 安全体系结构的设计、部署和操作. 北京:清华大学出版社. 2003 5.谢希仁.计算机网络.北京:电子工业出版社.20016.冯登国.计算机通信网络安全.北京:清华大学出版社.20017.李海泉、李健.计算机网络的安去与加密.计算机与通信.20008.黄志清.网络安全中的数据加密技术研究.2000 9.存储要考虑数据传输安全.郭涛.计算机学报.10.卢铁城.信息加密技术.成都:四川科学技术出版社.198911.刘少涛、凌捷,数据加密算法与大素数的生成及

15、运算.广东工业大学学报.2001 12.冯登国 中国科学院软件所信息安全国家重点实验室 邪恶八进制技术论坛绪论1.1 问题概述自IP网络诞生以来,网络数据的安全就是技术人员和广大用户关注的焦点,网络已经成为新世纪抵御经济犯罪的主要战场。1.1.1 问题的来源 随着网络电子商务和网络计算技术的发展,网络数据传输安全性越来越受到技术人员的关注。经济利益的驱使,使网络攻击者变的无孔不入,这就对网络技术人员提出了更高的要求,促使他们采取更安全的传输策略,以保证数据的快速有效的传输。1.1.2 目的和意义实现IP网络数据的安全传输,有利于保证国家机关、企业、银行、军事机关的重要数据的安全,能有效打击和

16、减少网络犯罪,对维护网络的稳定、节约网络维护的费用也有重要的意义。1.1.3 国内外研究现状 随着信息技术的发展与应用,信息安全的内涵在不断的延伸,从最初的信息保密性发展到信息的完整性、可用性、可控性和不可否认性,进而又发展为攻(攻击)、防(防范)、测(检测)、控(控制)、管(管理)、评(评估)等多方面的基础理论和实施技术。信息安全是一个综合、交叉学科领域,它要综合利用数学、物理、通信和计算机诸多学科的长期知识积累和最新发展成果,进行自主创新研究,加强顶层设计,提出系统的、完整的,协同的解决方案。与其他学科相比,信息安全的研究更强调自主性和创新性,自主性可以避免陷门,体现国家主权;而创新性可以

17、抵抗各种攻击,适应技术发展的需求。 总的来说,目前在信息安全领域人们所关注的焦点主要有以下几方面:1) 密码理论与技术;2) 安全协议理论与技术;3) 安全体系结构理论与技术;4) 信息对抗理论与技术;5) 网络安全与安全产品。1.2 问题剖析 本课题的实质就是要在OSI各层采取相应的安全策略,用于保证企事业单位内部数据的安全。攻击者不只是在某一特定层展开攻击,往往他们攻击的地方就是整个安全体系中最薄弱、最容易忽视的,所以一定要采取全面的安全策略,对任何有安全隐患的地方都不能放松。1.2.1 主要问题1. 分析和研究对称和非对称密钥密码机制及其优缺点。 2. 分析和探讨密钥交换的主要实现技术及

18、方法。 3. 组建一个应用系统,实现数据在网络上的快速、安全和秘密的传输。1.2.2 难点和关键 本课题的关键在于从整体的角度综合考虑数据的安全,即在各层上都要有相应的策略保证数据的安全传输。难点一综合对称和非对称密码机制的优点实现数据的快速、安全和秘密的传输,难点二在于从整体上对OSI模型安全的考虑。1.2.3 思路和方法加密和解密技术是本课题的核心,首先分析各加密解密算法,然后通过密钥管理技术的介绍引出对SSL的分析,最后综合介绍当今流行的OSI模型各层的安全策略。1.3 本毕业设计中的结构第一章:各种经典加密解密算法的比较与实现第二章:密码长度与密钥管理第三章:SSL技术简介第四章:OS

19、I各层的数据安全策略第五章:结论与存在的问题第一章 各种经典算法的比较与实现11 密码技术的发展概述 密码是一种可防止信息泄露的技术。就其体制而言,一般分为两类:秘密密码体制(又称对称密钥体制)和公钥密码体制(又称非对称密码体制、双钥密码体制),对称密钥密码体制是指加/解密双方采用相同的密钥,通常用来加密有大量数据的报文和文电通信的信息,因为这两种通信都可实现告诉的加密算法。秘密密码体制的特点是:在秘密密码体制中发送者和接收者之间的密钥必须安全传送,而双方用户通信所用的密钥必须妥善的保管。秘密密码体制的经典实例是日本NTT公司的FEAL(快速数据加密的标准)、瑞士的IDEA(国际数据加密算法)

20、和美国的DES(数据加密标准)。 FEAL是一种含有高速加密软件的秘密密码体制算法,这种算法具有重复数据置乱的功能。通常FEAL重复的圈数用N表示,例如8圈FEAL表示为TEAL-8。 IDEA是一种带有128比特的秘密密码体制算法,它已用与PGP(pretty good privacy)密码软件。 DES是一种有IBM开发的并在1977年就已经成为美国的秘密密码体制算法。 公钥密码体制的概念是在1976年有美国Standford大学的W.Diffie和N.E.Hellman首次提出的。它的特点是加密和解密使用不同的密钥,加解密的速度较慢并随密钥长度的增长呈指数下降。这样加密体制的出现较好的解

21、释了密钥的管理难题。公钥密码体制的典型代表是1978年由R.Rivest、A.Shamir和L.Adlman三人发明的RSA和NTT的ESIGN。 在实际保密通信中通常采用混合方案,即在数据量大的通信中采用高速的密码加密体制,而在数据量较小的通信中则采用公钥密码体制加密。12 密码的特性121 可证明的安全性密码和依靠的密钥信息交换或信息编码的运用有关。密码函数的运用叫做加密,经加密后的数据叫做密文,但函数通常并非可逆的。逆变换的运用叫做解密。密码变换具有一下两个基本特性:特性一、不知道密钥就不可能从密文中恢复出原始信息,通过这样一种函数进行变换(加密)以提供安全业务。特性二、不知道密钥就不可

22、能从原始信息形成密文,通过这样一种函数进行的变换以提供鉴别安全业务。要完善这些定义,就应当现解释一下所谓操作“不可能”含义是什么,事实上。这在很大程度上取决于所使用的变换的详情。在有些情况下就意味着没有足够的可用于运算的信息,以导致不管用什么手段都无法进行计算。纵观整个密码的发展史,自始至终都存在着维护其通信安全的密码员同企图破坏那种安全的密码体制的密码分析员之间的明争暗斗。一般来说只要在密码分析中投入足够的资源,就一定能够破解成功。能否设计出“不可破译”的密码体制的问题,早在香农的信息论模型中就有了明确的答案。它证明了虽然安全保密性是可能的,但在多数场合下又是不切实际的。1.2.2 对称算法

23、特性1221 分组密码和序列密码的特性研究密码算法最方便的区别就是分组密码和序列密码,像平常所做的那样,若要加密二进制数据序列,则序列密码将分别处理每个比特而分组秒则出来预定义大小的数据分组。但是,这种区别想到肤浅,因为从逻辑上看,分组密码的分组长度可以使一个比特。分组密码和序列密码之间正是的区别是序列密码使按其在数据中的位置加密每个比特;而分组密码则同等对待每个分组,它不考虑之前出现了什么。这种区别对实际通信有着重大的影响。如果差错发生在传输期间,则用二进制序列密码加密的数据会恰好在传输差错的脱密正文出现差错。然而。如果使用分组密码,则传输中的一个单独比特的差错就会酿成完全随机的相应脱密分组

24、。分组密码的这种差错扩散特性是选择使用密码是需要慎重考虑的东西。实际上,一般并不采用分组密码连续加密分离的数据分组,现已产生若干不同的操作方式,他们能根据应用场合使用效率、差错扩展个同步之类的特性达到最佳化。其中有一种模式还允许分组密码作为序列密码的二进制密钥序列产生器,这是在实际应用中实现序列密码的最常见的方式之一。1.2.2.2 数据加密标准特性毫无疑问,最重要的现代化对称加密算法是DES所包含的加密算法。算法与标准之间的关系使标准实现算法,其中算法使部分标准,美国NIST于1977年颁布的DES,以把它作为非秘密数据用于加密算法,DES算法已在国际范围那广泛使用。最主要的例子就是银行系统

25、把DES作为当家算法用在资金汇兑安全上。最初被批准使用时间为5年,但标准经受住了时间的考验,接连两次被批准使用两个5年的时间,1994年1月第四次被批准继续使用至1998年。在DES公诸于世之初,曾对强度展开了公开的激烈的争论,已提高过的一个就是关于密钥的长度是否太短;而另一个问题则是算法的设计者是否在算法中加入了用不着知道密钥就能破译的“陷门”,虽然这种争论不会、也永远不会又定论,但确实迄今还没发现这种“陷门”。DES已成为受到过公众严格审查的最富有回弹力的算法之一。最近发现的一种攻击分组加密算法的新方法使这种争论变得更加扑朔迷离。这种新方法叫做差分密码分析。1990年,两位密码学家Eli

26、Biham和Adi Shamir首次香公众推出差分密码分析的概念,他们利用这个新方法找到了针对DES的选择明文攻击,而且这种攻击比强力攻击有效的多 。差分密码分析依据所产生的密文对的差来检查明文对的差,并利用这些差来计算出哪些密钥比其他密钥的可能性更大,最后求出正确的密钥。差分密码分析很快就被认为使非常强的概念,Eli Biham和Adi Shamir曾用它轻而易举的就破解了若干特定的分组算法。然而,当用到DES上时,情况就不相同了。对少于16轮迭代的缩短性算法,差分密码分析技术已经小于强力搜索的工作量即可破译该体制:当算法的迭代数为11轮时,皮衣该体制的工作量就少多了。分析中出现了两个值得注

27、意的特征:第一,如果在每一轮迭代中使用的全部密钥比特都是独立的随机密钥,那么就不能提高算法的抗差分密码的分析强度。第二,DES算法的核心部分S盒似乎已经过专门的选择以击败差分密码分析。因为随机选择S盒几乎可以肯定使算法变得脆弱,后来有一位DES的设计者透露的情况证明也是如此。DES的设计者早在1974年就已经知道差分密码分析,他们正是按击败的方式来设计S盒的,而外界的研究人员却花了差不多20年的时间才掌握这项技术。最新的说法使使用差分密码分析攻击DES算法比强力密钥搜索更快,至少在理论上使如此。然而,差分密码分析也不是非常实用的,因为它需要个选择明文的密文来进行工作,而且还必须在使用基本操作模

28、式条件下对这些密文进行计算,这也并非实际运用中的正常情况。因此,目前比较一致的意见是,除彻底搜索所有密钥的可能性之外,恰当实现的DES对所有的攻击都是安全的。1.2.3 非对称算法的特性大多数非对称算法都把他们的安全性建立在数论这一数学分支上。他们使用模数运算而不是普通的无界整数。如加法和乘法这样的算术运算,在模数运算中的运作方式与在普通运算中的运算方式大体相同。然而结果表明,有些函数,如取平方根,在普通整数中是恨平常的事情,但在足够大例子的模数运算中却是可行的,这正是模数运算适用于密码算法的真谛。1.2.3.1 RSA算法特性 如同对称算法一样,也有一种无疑为人民广泛知晓且谈论不休的非对称加

29、密算法,就是美国MIT于1978年首次推出的RSA算法,RSA算法是所有公钥算法中最容易理解和实现的算法,其全部加密过程可以用一个简单的方程式来解释。要产生一个公开密钥,首先要选择模数m,它是一个只有秘密密钥持有者才知道的两个大随机素数p和q的乘积。一旦选定m,则产生整数e和d使ed=1mod(p-1)(q-1) 公开密钥中包含e和m两个数值,而d却是保密的。要加密一份报文,发方首先用一种众所周知的方式把它编码成一个小于m的正整数x,然后发方利用方程计算出密文c.用基本的数论就可以证明 所以,秘密密钥持有者就可以把密文恢复出来。如不知道秘密密钥d,则人都会束手无策。模数m一般有几百个比特长,随

30、实现的不同在256比特到1024比特或者更多之间进行改变。RSA经受了不少年的广泛的密码分析破解,虽然未证明也未推翻RSA的安全性,但却提出了一个算法理论基础方面致信度的问题。 RSA算法的安全性来自分解大数因子的困难性。可以证明,知道公开密钥e,求秘密密钥d同把模数m分解为素数因子p和q一样困难。既然认为对足够大的数值进行整数因式分解不可行,那么就有足以说明依据公开密钥而秋初秘密密钥同样也不可行。当然,模数越大,分解因子就越困难,所以256比特模数远不及1024位比特的安全性抢,而1024比特的模数组足以实现长时间的、能满足绝大多数应用场所的安全性。 RSA提供搞安去擦的障碍就是实现的复杂性

31、。尽管基于简单的运算,但涉及数字的大小却使RSA加密和解密成为计算量特大的过程。现已开发出穴道可以缓解这个问题的专用芯片,不过即使使用这些芯片也只能达到每秒数千比特的典型吞吐量。鉴于这个限制,一般不推荐使用RSA进行整体数据的加密,而代之给经常在传输开始时使用RSA传送秘密会话密钥,然后在DES这样的对称算法中使用这个会话密钥。这样,既保持了不学要初始共享密钥的长处,又去掉了有限吞吐量的问题。 1.2.3.2 RSA代替算法的特性 RSA方案有很多变形,其安全性均依赖于因子分解问题的困难性。在计算复杂性理论范畴,存在着许多相信时不可求解的其他问题。 公钥密码体制的唯一的重要竞争对手就是用离散对

32、数(DLP)作为安全基础的那些体制。DLP时已经,求x,其中p时一个素数,a是一个已知值。这看起来似乎与普通的对数差不多,但如果是在大整数范围内进行,则它就变成了另一种无法求解的问题。DLP构成了Diffe和Hellman首次描述公钥密码概念本毕业设计中所提出的公钥交换机制的基础。 1985年EL.Gamal提出拉基于DLP的安全公开密钥体制。Gamal方案的安全性来自计算离散对数的困难性。其算法可以用于加密和数字签名。 1.2.3.3 零知识识别协议 零知识识别协议令不少人着迷,在很多情况下,我们并不需要鉴别特定的报文而是需要鉴别但是在物理上的存在的用户的身份,人民所熟悉的例子有多用户在计算

33、机上的注册时间等。比较有意思的情况包裹消费电子资金会对期间使用电子护照和用户验证的问题。在类似的情况下。用户并没有可用的强大的计算机而只是利用微型芯片或者智能卡。由于计算能力有限,所以是RSA算法的使用就成立问题。而零知识协议的计算量比完全公开密钥体制小得多,所以对智能卡得使用就特别理想。而它们得局限性在于他们不能提供秘密性或基本形式得报文鉴别,而且由于互相作用的性质,其网络痛惜的可用性还很有限。1.3 数据加密标准算法DES1.3.1 算法描述 DES是一种分组密码,每次加密64位数据。64位的明文从算法的一端输入,从另一端输出64位密文。密钥的长度位56位(密钥通常位64位的二进制数,但每

34、个8的倍数位用于奇偶校验,不算在密钥长多之那)。密钥可以使任意56位的数,且随时可更换。有一些密钥使弱密钥,但可以很容易的避免。所有的安全都依赖于密钥。 算法使用了两种基本的机密技术:混乱和扩散。DES的最基本部分在密钥的基础上对文本联合使用这些技术,这称为一圈。DES共有16圈,对明文族使用了16次相同的技术(如图1.1)算法对最多64位的数只使用标准的算术和逻辑操作,所以在20世纪70年代末就可以很容体的用硬件技术实现。 图1.1 DES算法框图1.3.1.1 算法概述 DES算法处理64位的明文组:在一个初始变换后,明文组被分成左右两部分,每部分32位;然后使16圈的安全操作,称为函数f

35、,将数据与密钥结合起来。第16圈以后,右半部分和左半部分再连接起来,经过一个最后变化(初始变换的逆变换)得到密文,算法结束。 在每一圈中,对密钥进行右移位,然后从密钥的56位中选取48位,将数据的右半部分扩到48位,与48位密钥异或(XOR),再送入8个S盒中,产生32位,再进行一位。这四个操作构成函数f。F的数再与左边部分异或,其结果成为新的右半部分,而原来右半部分作为新的左半部分。这些操作重复16次,构成DES的16圈。 图1.2 DES的一圈 如果Bi位第i圈的结果,Li和Ri为Bi的左半部分和右半部分,Ki为48位的第i圈密钥,f位进行代替、移位和与密钥做异或的函数。则一圈为 1.3.

36、1.2 初始变换 初始变换在第一圈之前做。它对输入的明文进行移位(见表2.1)。本毕业设计中所有表都应该从左到右,从上到下。 表1.1 初始变换 初始变换和对应的最后变换并不影响DES的安全性。由于这种按位操作用软件实现较困难,所以DES的许多软件都舍弃了初始变换和逆初始变换。这个新算法虽然安全性不比DES,但它不遵循DES的标准,所以不应该称为DES。1.3.1.3 密钥交换开始时,将64位的密钥去掉第8的倍数位,缩减到56位(见表1.2)。去掉的这些位可以作为奇偶校验位来确保密钥的正确。取出56位后,还要为DES的16圈变换产生不同的48为子密钥。表1.2 密钥交换 这些子密钥Ki由下面的

37、过程来产生。首先,56位密钥分成28位的两部分。然后这两部分分别循环左移一位或者两位,由圈数决定。而循环的位数见表1.3。移位后再从56位中选出48位。由于这种变换既做移 位,又从中选出位串的一个子集,因此叫压缩变换(PC-2)。由于每次都移位,所以每次产生的密钥都不同。表1.3 每圈移位次数1.3.1.4 扩展变换 E该操作将数据的右半部分Ri从32位扩展到48位。因为该操作即改变各位的顺序,又重复了某些位,因此称为扩展变换。这一步将右半部分变成要进行异或的子密钥相同大小,可以得到一个较长的位串;该位串可以再代替操作中被压缩。然而,主要的保密目的是通过使一位影响两次代替,使输出位对输入位的依

38、赖性更强。DES被设计成能尽快的使密文的每一位都依赖于明文和密钥的每一位。下表给出了输出位置和输入位置的对应关系。输入的第3位移到输出的第四位,而输入的第21位移到输出的第30位和32位。尽管输出比输入块大,但一个输入块只产生唯一的输出块。表1.4 扩展变化E1.3.1.5 S盒代替 压缩的子密钥与扩展后的数据块异或后,要对得到的48位结果再做一次代替操作。代替由8个代替盒(S盒)来完成。每个S盒由6位输入和4位输出,一共有8个不同的S盒。48位输入被分成8个6位,每6位输入一个单独的S盒。如图2.3:图1.3 S盒替代每个S盒为一个4行16列的表,盒中的每个元素为4为的数字。有6位输入来决定

39、将盒的哪一行哪一列的元素作为输出。将输入的6位分别记为b1、b2、b3、b4、b5、b6,则b1和b6连接起来构成一个2位的二进制数,为0到3,对应于表中的行号。而中间的4位数连接起来构成一个4位的二进制数,为0到15,对应于表中的列号。举例如下:设S盒的6位输入位110011,第1位和最后1位为11,对应于S盒中的第三行,中间4位为1001,对应于同一S盒6的第三行第九列为14,则若为S6的输入,则输出为1110。S盒代替使DES中的关键一步。算法中的其他操作都使线性的,容易分析,而S盒是非线性的决定了DES的安全性。1.3.1.6 P变换 S盒的32位输出在经过P变幻,将这32位做一次移位

40、操作。然后,P变换的结果与上一圈的左半部分异或成为新的右半部分,开始下一圈。1.3.1.7 逆初始变换逆初始变换使初始变换IP的逆变换,在最后一圈后,左右两部分没有变换为止,因此逆初始变换的输入为R16L16。因而算法既可以用于加密又可以用于解密。1.3.1.8 DES解密 DES的加密过程可以描述为: 由此可得解密的过程为: 因此,DES算法的解密过程实际上就是加密的逆过程,而且算法与加密过程的算法也完全相同,只是子钥的使用顺序相反,即为1.3.2 DES的安全性 很长时间以来,人们都对DES的安全性有疑问,对于密钥长度、循环次数和S盒,尤其使S盒,其中所有常数的选取没有明显理由。尽管IBM

41、宣称DES过程使有密码编码员经过17年的工作完成的,有人还是担心会有人在算法中嵌入了一个陷门,因而他们可以简单的解密信息。1.3.2.1 弱密钥初始密钥被分为两部分,每部分单独作移位。如果每一部分的每一位都是0或者都是1,则每一圈的子钥都相同,这样的密钥就是弱密钥。弱密钥总共有4个。此外,有些成对的密钥会将明文加密成相同的密文,即一对密钥中的一个能用来解密有另一个密钥加密的消息。这是右DES产生子钥的方式决定的。这些密钥不是产生16个不同的子钥,而是产生两个不同的子钥,每一种出现8次,这些密钥称为半弱密钥。还有些密钥只产生4种子密钥,每种出现4次,这种密钥称为半半弱密钥。弱密钥、半弱密钥、半半

42、弱密钥总共有4124864个,而可能的密钥总数为随机选择一个密钥,落在这64个密钥种的几率非常小。因此,弱密钥对DES算法的安全性没有影响。1.3.2.2 互补密钥 将密钥的0换成1,1换成0,就得到该密钥的补密钥。如果用原密钥加密一组明文,则用补密钥可以将明文的补码加密成密文的补码。 设X表示X的补码,则Ek(M)=C Ek(m)=C这表明,对DES的选择明文的攻击只需测试一半的可用密钥:而不是个。1.3.2.3 密钥长度 IBM最初交给NBS的算法有112位密钥。到DES成为一个标准时,缩短为56位密钥。许多密钥学专家建议使用更长的密钥,他们的讨论集中在穷举攻击上。 在1976年和1977

43、年,Diffie和Hellman指出了一个专用的破译DES的并行处理机,可以在一星期之内恢复密钥,该机器的造价为2000万美元。在1981年,Diffie将其提高到两天。价值5000万美元。然而,随着硬件技术的发展,破译DES的专用机器的成本会不断下降,到1993年,Michael Wiener设计了一台100万美元的专用机器,用穷举法破译DES的平均时间为3.5小时。1.3.2.4 圈数 为什么DES是16圈而不是32圈?在第5圈后,密文的每一位都已经是明文和密钥的每一位的函数了,而第8圈后密文基本上已经是密文和密钥的每一位的一个随机数,为什么不在第8圈以后就停止呢? 在过去的几十年中,减少

44、圈数的DES的变体都被成功的破译了。1982年很容易的破解了有3圈和4圈的DES,6圈的DES在几年后被破译。Biham和Shamir的差分分析法说明:任何少于16圈的DES都可以用已知明文的攻击比穷举法更有效的破译。1.3.2.5 盒的设计 除了密钥长度外,NSA还被指责修改了S盒的内容。NSA宣布算法设计的理由是敏感的,不能公开。许多密码学家还是担心NSA设计的S盒中隐藏着陷门。1.4 公开密钥算法RSA算法1.4.1 RSA算法的描述 RSA的安全性是基于大整数的因数分解的困难性。公开密钥和秘密密钥是一对大素数(100到200位十进制,甚至更大)的函数,人们推测从公开密钥和密文恢复明文等

45、价于对两个大素数的乘积进行因式分解。 产生两个密钥时,先选择两个随机的大素数p和q,为了得到最大的安全性,应选择p和q是等长的。计算乘积npq,然后随机选择加密密钥e,满足e与(p1)(q1)互素,最后,用扩展的欧几里德算法计算解密密钥d,使得 ed1(mod(p-1)(q-1)注意到d与(p1)(q-1)是互素的。整数e和n位公开密钥,d为秘密密钥,两个素数p和q就不再需要了 ,但是不能暴露。 加密一条消息m时,首先将它分成小于n的数字块。即如果p和q都是100位的十进制素数,则n将少于200位,而每个消息块都应该小于200位。加密后的密文c是有同样大小的消息块Ci组成的。加密公式为解密时,

46、对每个密文消息Ci计算由于所以这个公式恢复可消息,消息可以用d加密,然后用e解密。1.4.2 RSA的安全性 RSA的安全性完全依赖于大整数的因数分解问题。实际上,人民推测RSA的安全性依赖于大整数因数分解问题,但谁有没有在数学上阵名从c和e计算m需要对n进行因数分解。可以想象可能有完全不同的方式去分析RSA。然而,如果这种方法能让密码分析员退到出d,则它可以用作大数因数分解的新方法。 也可能通过猜测(p-1)(q-1)的值来破译RSA,但这种攻击并不比分解n容易,最令人难以质疑的是,有些RSA变体已经被证明与因数分解同样难,甚至从用RSA加密的密文中恢复特定的某些位也与解密整个信息同样困难。 分解n是最明显的攻击方法。对于拥有公开密钥e和n,要找出解密密钥d,只能对n进行因数分解。现在可以分解129位十进制整数,因此n应该比129位整数大。密码分析员当然能测试每个肯可能的d,直到找到正确的。这种强力攻击没有分解n的效率搞。此外,还要记得p和q一定是素数。1.5 密码算法分析和应用1.5.1 DES算法和RSA算法的

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

当前位置:首页 > 其他


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