信息加密算法分析及在文件中加解密的应用.doc

上传人:小小飞 文档编号:5093583 上传时间:2020-02-01 格式:DOC 页数:59 大小:1.12MB
返回 下载 相关 举报
信息加密算法分析及在文件中加解密的应用.doc_第1页
第1页 / 共59页
信息加密算法分析及在文件中加解密的应用.doc_第2页
第2页 / 共59页
信息加密算法分析及在文件中加解密的应用.doc_第3页
第3页 / 共59页
信息加密算法分析及在文件中加解密的应用.doc_第4页
第4页 / 共59页
信息加密算法分析及在文件中加解密的应用.doc_第5页
第5页 / 共59页
点击查看更多>>
资源描述

《信息加密算法分析及在文件中加解密的应用.doc》由会员分享,可在线阅读,更多相关《信息加密算法分析及在文件中加解密的应用.doc(59页珍藏版)》请在三一文库上搜索。

1、信息加密算法及在文件中加解密的应用本科毕业设计(论文)信息加密算法分析及在文件中加解密的应用姓 名学 院计算机与电气工程学院专 业计算机科学与技术(中爱)指导教师完成日期53 信息加密算法分析及在文件中加解密的应用摘 要 信息技术的飞速发展,使人们的生活面貌发生了很大的变化,同时信息技术也促进了社会的发展。在计算机网络深入普及的信息时代,信息本身就是时间,就是财富。如何保护信息的安全使之不被窃取及不至于被篡改或破坏,已成为当今普遍关注的重大问题。密码是有效且可行的办法。本论文主要是介绍了文件加密以及一个小程序,从密钥生成、DES加密原理、DES解密原理三方面阐述了DES算法的整个过程。并在此基

2、础上,在windows环境下,利用java实现DES加密与解密算法,以窗体界面方式完成一个本地的文件加解密演示器。本论文共分为七部分。第一章从现代电子技术的发展揭示密码学在科学领域中的重要性,从而说明选此课题作为毕业设计的原因。第二章讲述了密码学的基础知识。第三章是本文的重点,以DES历史回顾为起点,逐一揭示DES算法原理,并按密钥生成、DES加密、DES解密的次序,利用java语言实现DES的加密与解密代码的设计。第四章对窗体界面作简要的介绍,说明本演示器的工作过程。第五章对DES存在的安全性进行分析及可行的解决方案。第六章对DES的工作模式进行简要的介绍。第七章举例对代码进行测试,看是否符

3、合标准的DES加密和解密。关键词:信息安全;密钥;DES;加密;解密The information encryption algorithm analysis and the cipher application in the document Abstract The information technology rapid development, caused peoples life appearance to have the very big change, simultaneously the information technology also promoted societ

4、y development. In the computer network thorough popularization information time, information itself is the time, is the wealth. How protects the information security to cause it not to be stole and as for not to tamper with or destruction, has become the major issue which now generally pays attentio

5、n . The password is useful and effectible method. This article mainly introduces the DES encryption and decipher algorithm java language realization, three aspects elaborated from key fresh、the encryption principle DES、the decryption principle DES algorithm entire has worked. And in this foundation,

6、 in windows environment, realizes the encryption and decryption algorithm using java, completes a local document by the window contact surface way to add the decipher demonstration.The article divides into seven to blow. First chapter promulgates cryptology from the modern electronic technology deve

7、lopment to be important in scientific domain, thus explained chooses this topic to take the graduation project originally. Second chapter narrated the cryptology elementary knowledge. Third chapter is this article key point, take narrates the DES history as the beginning, explain the DES algorithm p

8、rinciple, meanwhile how to make the encryption key、encrypts the DES、decrypts the DES as the line, realizes the DES encryption and decipher code using java language supposes discusses. Fourth chapter makes the simple introduction to the window contact surface, explain the working process of the decip

9、her demonstration. Fifth chapter carries on the analysis to the DES existence security simultaneously to separate out the feasible solution. Sixth chapter carries on the brief introduction to the DES working pattern. Seventh chapter gives an example to carry on the test to the code, confirms whether

10、 conforms to the standard DES encryption and decryption.KEYWORDS:Information security; key; DES; Encryption; Decipher目录摘 要IAbstractII第一章 引 言11.1本课题的研究意义21.2 攻击3第二章 密码学的基础知识52.1对称密码的模型52.2密码编码学62.3公钥密码学62.4 Caesar密码72.5单表代换密码82.6 Playfair密码92.7 Hill密码102.8 多表代换密码112.9 一次一密132.10 置换技术142.11 转轮机152.12

11、隐写术16第三章 数据加密标准DES173.1简化DES173.1.1 S-DES的密钥产生173.1.2 S-DES加密183.1.3 简化DES的分析193.2 DES193.2.1 密钥产生223.2.2 DES解密233.3 JAVA实现JCE中DES的加密和解密233.3.1 JCE中DES加密24第四章 窗体界面284.1界面视图284.2演示器工作工程28第五章 DES的安全性分析295.1 DES的安全性295.2 相关解决方案29第六章 DES工作模式306.1电子密码本模式ECB306.2密码分组链模式CBC306.3 密码反馈模式CFB306.4 输出反馈模式OFB306

12、.5 计数模式CTR31第七章 代码测试32致 谢33参考文献34附录35附录A:外文资料翻译原文部分35附录B:外文资料翻译译文部分38附录C:程序代码40第一章 引 言最近几十年中,企业对信息安全的需求经历了两个重要变革。在广泛使用数据处理设备之前,企业主要是依靠物理和行政手段来保证重要信息的安全。采用的物理手段如将重要的文件放在上锁的文件柜里,采用的行政手段如对雇员的检查制度。很显然,由于计算机的应用,需要有自动工具来保护存于计算机中的文件和其他信息。对于共享系统,如时间共享系统,以及通过公共电话网、数据网或Internet可访问的系统,尤其如此。用来保护数据和阻止黑客的工具一般称为计算

13、机安全。影响安全的第二个变革是,分布式系统、终端用户与计算机之间以及计算机与计算机之间传送数据的网络和通信设施的应用。在信息传输时,需要有网络安全措施来保护数据传输。事实上,术语网络安全容易引起误解,因为实际上所有的商业、政府和学术组织都将其数据处理设备与互联网相连,该互联网称为internet,并使用术语internet安全。上述两种形式的安全没用明确的界限。例如,对信息系统最常见的攻击就是计算机病毒,它可能已先感染磁盘,然后才加载到计算机上,从而进入系统;也可能是通过internet进入系统。无论是哪一种情况,一旦病毒驻留在计算机系统中,就需要内部的计算机安全工具来检查病毒并恢复数据。为了

14、不使计算机内的某些重要文件被入侵者访问、篡改或者修改,密码学成为了一门单独的学科。密码学是研究编制密码和破译密码的技术科学。研究密码变化的客观规律,应用于编制密码以保守通信秘密的,称为编码学;应用于破译密码以获取通信情报的,称为破译学,总称密码学。密码是通信双方按约定的法则进行信息特殊变换的一种重要保密手段。依照这些法则,变明文为密文,称为加密变换;变密文为明文,称为脱密变换。密码在早期仅对文字或数码进行加、脱密变换,随着通信技术的发展,对语音、图像、数据等都可实施加、脱密变换。密码学是在编码与破译的斗争实践中逐步发展起来的,并随着先进科学技术的应用,已成为一门综合性的尖端技术科学。它与语言学

15、、数学、电子学、声学、信息论、计算机科学等有着广泛而密切的联系。它的现实研究成果,特别是各国政府现用的密码编制及破译手段都具有高度的机密性。进行明密变换的法则,称为密码的体制。指示这种变换的参数,称为密钥。它们是密码编制的重要组成部分。密码体制的基本类型可以分为四种:错乱按照规定的图形和线路,改变明文字母或数码等的位置成为密文;代替用一个或多个代替表将明文字母或数码等代替为密文;密本用预先编定的字母或数字密码组,代替一定的词组单词等变明文为密文;加乱用有限元素组成的一串序列作为乱数,按规定的算法,同明文序列相结合变成密文。以上四种密码体制,既可单独使用,也可混合使用 ,以编制出各种复杂度很高的

16、实用密码。20世纪70年代以来,一些学者提出了公开密钥体制,即运用单向函数的数学原理,以实现加、脱密密钥的分离。加密密钥是公开的,脱密密钥是保密的。这种新的密码体制,引起了密码学界的广泛注意和探讨。利用文字和密码的规律,在一定条件下,采取各种技术手段,通过对截取密文的分析,以求得明文,还原密码编制,即破译密码。破译不同强度的密码,对条件的要求也不相同,甚至很不相同。中国古代秘密通信的手段,已有一些近于密码的雏形。宋曾公亮、丁度等编撰武经总要“字验”记载,北宋前期,在作战中曾用一首五言律诗的40个汉字,分别代表40种情况或要求,这种方式已具有了密本体制的特点。1871年,由上海大北水线电报公司选

17、用6899个汉字,代以四码数字,成为中国最初的商用明码本,同时也设计了由明码本改编为密本及进行加乱的方法。在此基础上,逐步发展为各种比较复杂的密码。在欧洲,公元前405年,斯巴达的将领来山得使用了原始的错乱密码;公元前一世纪,古罗马皇帝凯撒曾使用有序的单表代替密码;之后逐步发展为密本、多表代替及加乱等各种密码体制。二十世纪初,产生了最初的可以实用的机械式和电动式密码机,同时出现了商业密码机公司和市场。60年代后,电子密码机得到较快的发展和广泛的应用,使密码的发展进入了一个新的阶段。密码破译是随着密码的使用而逐步产生和发展的。1412年,波斯人卡勒卡尚迪所编的百科全书中载有破译简单代替密码的方法

18、。到16世纪末期,欧洲一些国家设有专职的破译人员,以破译截获的密信。密码破译技术有了相当的发展。1863年普鲁士人卡西斯基所著密码和破译技术,以及1883年法国人克尔克霍夫所著军事密码学等著作,都对密码学的理论和方法做过一些论述和探讨。1949年美国人香农发表了秘密体制的通信理论一文,应用信息论的原理分析了密码学中的一些基本问题。自19世纪以来,由于电报特别是无线电报的广泛使用,为密码通信和第三者的截收都提供了极为有利的条件。通信保密和侦收破译形成了一条斗争十分激烈的隐蔽战线。1917年,英国破译了德国外长齐默尔曼的电报,促成了美国对德宣战。1942年,美国从破译日本海军密报中,获悉日军对中途

19、岛地区的作战意图和兵力部署,从而能以劣势兵力击破日本海军的主力,扭转了太平洋地区的战局。在保卫英伦三岛和其他许多著名的历史事件中,密码破译的成功都起到了极其重要的作用,这些事例也从反面说明了密码保密的重要地位和意义。当今世界各主要国家的政府都十分重视密码工作,有的设立庞大机构,拨出巨额经费,集中数以万计的专家和科技人员,投入大量高速的电子计算机和其他先进设备进行工作。与此同时,各民间企业和学术界也对密码日益重视,不少数学家、计算机学家和其他有关学科的专家也投身于密码学的研究行列,更加速了密码学的发展。现在密码已经成为单独的学科,从传统意义上来说,密码学是研究如何把信息转换成一种隐蔽的方式并阻止

20、其他人得到它。 密码学是一门跨学科科目,从很多领域衍生而来:它可以被看做是信息理论,却使用了大量的数学领域的工具,众所周知的如数论和有限数学。 原始的信息,也就是需要被密码保护的信息,被称为明文。加密是把原始信息转换成不可读形式,也就是加密的过程。解密是加密的逆过程,从加密过的信息中得到原始信息。cipher是加密和解密时使用的算法。 最早的隐写术只需纸笔,现在称为经典密码学。其两大类别为置换加密法,将字母的顺序重新排列;替换加密法,将一组字母换成其他字母或符号。经典加密法的资讯易受统计的攻破,资料越多,破解就更容易,使用分析频率就是好办法。经典密码学现在仍未消失,经常出现在智力游戏之中。在二

21、十世纪早期,包括转轮机在内的一些机械设备被发明出来用于加密,其中最著名的是用于第二次世界大战的密码机Enigma。这些机器产生的密码相当大地增加了密码分析的难度。比如针对Enigma各种各样的攻击,在付出了相当大的努力后才得以成功。1.1本课题的研究意义为了满足安全需要,对文件进行加解密是很有意义的。由于计算机的应用,大多数人类活动如商业、外交、军事以及人际交往等,都使用了文本,并且依赖交易双方对文本完整性的信赖。通常文件都要签名和日期,同时为防止它们被泄漏、篡改或破坏,要有公证和现场见证人,要被记录或被允许访问,等等。电子信息在很多方面已经取代了传统的纸文本的作用,一般来说要区分出纸文本的原

22、件和复印件是可能的,然而电子信息只不过是一些二进制位串,无法区分所谓的原件和复印件,更改纸文本必然会留下一些物理痕迹,比如擦除可能导致表面粗糙或留下一个小槽,而在内存中改变一些二进制位却不会留下任何物理痕迹,所有与纸文本有关的证据都来自文本本身的物理特征,比如手写签名、阴文或阳文的公证印章,等等;而电子信息若要进行此类认证,只能依靠本身所记录的二进制信息。如果对文本进行加密攻击者就没这么容易了解到文本的具体内容,在不知道密钥的情况下也不会轻易进行篡改。1.2 攻击攻击传统的密码体制有两种一般方法:密码分析学:密码分析学的攻击依赖于算法的性质和明文的一般特征或某些明密文对。这种形式的攻击企图利用

23、算法的特征来推导出特别的明文或使用的密钥。如果这种攻击能成功地推导出密钥,哪么影响将是灾难性的:将会危及所有未来和过去使用该密钥加密消息的安全。穷举攻击:攻击者对一条密文尝试所有可能的密钥,直到把它转化为可读的有意义的明文。平均而言,获得成功至少要尝试所有可能密钥的一半。基于密码分析者知道信息的多少,密码攻击大概可以分为以下几种类型。密码类型 密码分析者已知的信息惟密文攻击 加密算法 要解密的密文已知明文攻击 加密算法 要解密的密文 用同一密钥加密的一个或多个明密文对选择明文攻击 加密算法 要解密的密文 分析者任意选择的明文,用(与待解密的密文)同一密钥加密的密文选择密文攻击 加密算法 要解密

24、的密文 分析者有目的的选择的一些密文,用(与待解密的密文)同一密钥解密的对应明文选择文本攻击 加密算法 要解密的密文 分析者任意选择的明文,用(待解密的密文)同一密钥加密的对应密文 分析者有目的的选择的一些密文,用(与待解密的密文)同一密钥解密的对应明文 惟密攻击是最容易防范的,因为攻击者拥有的信息量最少。不过在很多情况下,分析者可以得到更多的信息。分析者可以捕获到一段或更多的明文信息及相应的密文,也可能知道某段明文信息的格式等。比如,按照Postscript格式加密的文件总是以相同的格式开头,电子金融消息往往有标准的文件头或者标志等。这些都是已知明文攻击的例子。拥有这些知识的分析者就可以从转

25、换明文的方法入手来推导出密钥。与已知明文攻击紧密相关的是可能词攻击。如果攻击者处理的是一般散文信息,他可能对信息的内容一无所知,但是如果他处理的是一些特定的信息,他就可能知道其中的部分内容。比如说,对于一个完整的会计文件,攻击者可能知道放在文件最前面的是某些密钥词。又比如,某某公司开发的程序源代码可能含有该公司的版权信息,并且放在某个标准的位置。此外,如果无论有多少可使用的密文,都不足以惟一地确定由该体制产生密文所对应的明文,则加密体制是无条件安全的。也就是说无论花多少时间,攻击者都无法将密文解密,这仅仅因为他没有所需要的信息。除一次一密之外,所有加密算法都不是无条件安全的。因此,加密算法的使

26、用者应挑选尽量满足以下标准的算法: 破译密码的代价超出密文信息的价值。 破译密码的时间超出密文信息的有效生命期。 第二章 密码学的基础知识对称加密,也称传统加密或单钥加密,是公钥密码产生之前惟一的一种加密技术。迄今为止,它仍是两种类型的加密中使用最为广泛的一种。首先,我们来定义一些术语。原始的消息称为明文,而加密后的消息称为密文。从明文到密文的变换过程称为加密;从密文到明文的变换过程称为解密。研究各种加密方案的科学称为密码编码学,而加密方案则称为密码体制或密码。研究破译密码获得消息的学科称为分析学。密码分析学即外行所说的“破译”。密码编码学和密码分析学统称为密码学。2.1对称密码的模型对称加密

27、方案有五个基本成分: 明文:作为算法的输入,原始可理解的消息或数据。 加密算法:加密算法对明文进行各种代换或变换。 密钥:密钥也是加密算法的输入。密钥独立于明文。算法将根据所用的特定的密钥而产生不同的输出。算法所用的代换和变换也依靠密钥。 密文:作为算法的输出,看起来完全随机而杂乱的数据,依赖于明文和密钥。对于给定的消息,不同的密钥将产生不同的密文,密文是随机的数据流,并且其意义是不可理解的。 解密算法:本质上是加密算法的逆。输入密文和密钥可以用解密算法恢复出明文。传统密码的安全使用要满足如下两个要求:1. 加密算法必须是足够强的。至少,我们希望这个算法在敌手知道它并且能够得到一个或者多个的密

28、文时也不能破译密文或计算出密钥。这个要求通常用一种更强的形式表述为:即使敌手拥有一定数量的密文和产生这些密文的明文,他也不能破译密文或发现密钥。2. 发送者和接收者必须在某种安全的形式下获得密钥并且必须保证密钥的安全。如果有人发现该密钥,而不知道相应的算法,那么就能读出使用该密钥加密的所有通信内容。我们假设基于已知密文和加密/解密算法的知识而能破译消息是不实际的。换句话说,我们并不需要保密算法,而仅需要保密密钥。对称密码的这些特点使其能够广泛地应用。算法不需要保密这一事实使得制造商可以开发出低成本的芯片,以实现数据加密算法。这些芯片能够广泛地使用,适用于大规模生产。因此,采用对称密码,首要的安

29、全问题就是密钥的保密性。可以清楚地理解对称加密方案的基本成分。发送方产生明文消息X=X1,X2,Xm,X的M个元素是某个字母表中的字母。一般地字母表由26个大写字母组成。而现在最常用的是基于二进制字母表0,1的二进制串。加密的时候先产生一个形如K=K1,K2,Kj的密钥。如果密钥是由信息的发送方产生的,那么它要通过某种安全渠道发送给接收方;另一种方法是由第三方生成密钥后再安全地分发给发送方和接收方。加密算法根据输入信息X和密钥K生成密文Y=Y1,Y2,Yn,即 Y=Ek(X) 该式表明密文Y是明文X的函数,而具体的函数由密钥K的值决定。拥有密钥K的接收方,可以进行以下转换,以得到明文: X=D

30、k(Y) 假设某敌手窃得Y但是并不知道K或X,而企图得到K或X,或K和X。假设他知道加密算法E和解密算法D,但如果他只只是对某些特定信息感兴趣,那么他将注意力集中在计算明文的估计值X来恢复X;不过,攻击者往往对进一步的信息同样有兴趣,这种情况下他企图通过计算密钥的估计值K来恢复K。2.2密码编码学密码编码学系统具有以下三个独立的特征:1. 转换明文为密文的运算类型。所有的加密算法都基于两个原理:代换和置换。代换是将明文中的每个元素(如位、字母、位组或字组等)映射成另一个元素;置换是将明文中的元素重新排列。上述运算的基本要求是不允许有信息丢失(即所有的运算都是可逆的)。大多数密码体制都使用了多层

31、代换和置换。2. 所用的密钥数。如果发送方和接收方使用相同的密钥,这种密码就称为对称密码、单密钥密码或传统密码。如果发收双方使用不同的密钥,这种密码就称为非对称密码、双钥密码或公钥密码。3. 处理明文的方法。分组密码每次处理一个输入分组,相应地输出一个输出分组。而流密码则是连续地处理输入元素,每次输出一个元素。2.3公钥密码学在当今高度信息化、数字化的社会里,随着信息高速公路的建设和计算机网络特别是因特网的迅猛发展,人们已经开始习惯于通过各种先进的通信手段传递重要的数据、图象和话音等信息进行各种学术交流、乃至网络贸易。这种信息传递和交流的高效性和准确性给人们带来了极大的便利.但同时大量传输和存

32、贮的各种数据、图象和话音等信息的安全问题也成为人们关注的焦点问题。人们对网络和信息的安全性提出了越来越高的要求,引起了世界各国政府以及商业机构的高度重视。解决网络和信息的安全问题已经成为迫在眉睫的事情,可以说,信息安全是信息社会赖以生存的根基。 一、公钥密码学 密码技术按照加解密所使用的密钥相同与否,分为秘密密钥密码学(对称密码学)和公开密钥密码学(非对称密码学),前者加解密所使用的密钥是相同的,而后者加解密所使用的密钥是不相同的,即一个秘密的加密密钥(签字密钥)和一个公开的解密密钥(验证密钥)。传统的密码学中只使用单钥密码体制,其主要作用是保护消息的保密性,一般不提供消息的认证性,而且通信双

33、方必须共享相同的秘密密钥才可以实现保密通信.在以INTERNET为公开的信息传输基础的社会中,通信双方有时根本是互不相识的,通信前无法共享(传递)秘密密钥。如果要采用对称密码体制保护秘密信息,一方面,需要协商产生共享密钥,另一方面既需要验证消息的可信性又需要验证通信方的身份,这都是对称密码体制无法完成的。如果采用公钥密码体制,不仅可以完成上述的功能,而且公钥密码体制本身也既可以实现消息的保密性,又可以验证消息的可信性和通信方的身份。因此,公钥密码学是当今社会信息安全技术的核心,它不仅可以实现加密功能,而且可以实现数字签名,身份认证、消息认证等功能。 二、公钥密码学的应用 随着密码学商业应用的普

34、及,公钥密码学受到前所未有的重视,基于公钥密码学的技术发展也非常快,成果也相当丰富。除传统的加密技术以外,有数字签名(盲签名、群签名、代理签名)、消息认证、身份认证、密钥管理、密钥协商、密钥分发、秘密共享等等,这些技术都有相当广泛的应用前景。除基于专用目的的密码应用系统(如Kerberos 、KryptoKnight认证系统,E-mail安全保密系统PGP、PEM等)外,随着电子商务的发展,在商用领域,人们对于保密、认证等安全技术的要求越来越多。为了使普通的技术人员能够容易的使用密码技术,解决日常商务活动中的安全性业务,构建可以无缝嵌入操作系统中的公钥基础设施(PKI,Pubic Key In

35、frastructure)已经成为当前的一个热点问题。PKI系统以公钥密码技术为主,提供加密、签名、认证、密钥管理、分配等功能。 下面介绍基于公钥密码体制的各种密码技术及其功能:1、保密通信:保密通信是密码学产生的动因。使用公钥密码体制进行保密通信时,信息发送者使用接收者的公开密钥加密所发送的信息,只有拥有该公开密钥对应的秘密钥的接收者才可以解密该信息。由于公钥密码体制加解密所需要的计算量很大,在需要传输大量信息时效率不高。 2、数字签名:数字签名技术可以代替传统的手写签名,而且从安全的角度考虑,数字签名具有很好的防伪造功能。在政府机关、军事领域、商业领域有广泛的应用环境。尤其是在商业领域,利

36、用数字签名技术进行合同的签定;利用盲签名、盲群签名实现电子现金的发放和使用;利用群签名技术,公司或团体的每个被授权的成员可以代表公司或团体进行签名;利用代理签名技术,秘书或其它被授权的人员可以代表经理或授权人进行签字。3、秘密共享:秘密共享技术是指将一个秘密信息利用密码技术分拆成n个称为共享因子的信息,分发给n个成员,只有k( kn)个合法成员的共享因子才可以恢复该秘密信息,其中任何一个或m(mk)个成员合作都不知道该秘密信息。利用秘密共享技术可以控制任何需要多个人共同控制的秘密信息、命令等。例如,一个国家的核发射命令只有国家元首、国防部长、军队司令等人都同意时才能发射;银行金库有两个以上的管

37、理人员管理钥匙;利用可验证的秘密共享技术可以实现可分的电子现金系统。 4、认证功能:在公开的信道上进行敏感信息的传输,攻击者有可能对所传输的信息进行篡改、重放,或者可能冒充通信方接受或发送信息,因此必须对所传输的信息进行真实性、完整性的认证。对通信方的身份进行真实性认证。可以采用签名技术实现对消息的真实性、完整性进行验证,通过验证公钥证书实现对通信主体的身份证。 5、密钥管理;设计安全的密码算法和协议并不容易,而密钥管理则更困难。密钥是保密系统中更为脆弱的环节,其中分配和存储可能是最棘手的。密钥管理是处理密钥自产生到最终销毁的整个过程中的有关问题,包括系统的初始化、密钥的产生、存储,备份恢复、

38、分配、保护,销毁等。过去密钥管理由手工作业来处理,在现代多用户通信系统中,手工作业显然无法完成大量的密钥管理工作,公钥密码体制是解决密钥管理工作的有力工具;利用公钥密码体制进行密钥协商和产生,保密通信双方不需要事先共享秘密信息;利用公钥密码体制进行密钥分发、保护、密钥托管、密钥恢复等。基于公钥密码体制可以实现以上通用功能以外,还可以设计实现以下的系统:安全电子商务系统、电子现金系统、电子选举系统、电子招投标系统、电子彩票系等。总之,公钥密码体制的产生是密码学由传统的政府、军事等应用领域走向商用、民用的基础,同时INTERNET、电子商务的发展为密码学的发展开辟了更为广阔的前景。 2.4 Cae

39、sar密码已知最早的代换密码是由Julius Caesar发明的Caesar密码。它非常简单,就是对字母表中的每个字母,用它之后的第3个字母来代换。例如:明文:meet me after the toga party密文:phhw ph diwhu wkh wrjd sduwb注意到字母表是循环的,即认为紧随z后的是字母a。我们可通过列出所有的可能来定义如下变换:明文:a b c d e f j h i j k l m n o p q r s t u v w x y z密文:d e f j h i j k l m n o p q r s t u v w x y z a b c另一种是比较实用的

40、,推算法1)首先把字母表写出来,并标上数字:ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567891011121314151617181920212223242526那么加密算法可以如下表达。对每个明文字母p,代换成密文字母C:C=E(p)=(p+3)mod(26)移位可以是任意整数k,这样就得到了一般的Caesar算法:C=E(p)=(p+k)mod(26)这里k取值范围从1到25。解密算法是:p=D(C)=(C-k)mod(26)如果已知某给定的密文是Caesar密码,那么穷举攻击密码学分析是很容易实现的:只要简单地测试所有25种可能的密钥。Caesar密码的三个重要特征使

41、我们可以采用穷举攻击分析方法。1. 已知加密和解密算法。2. 需测试的密钥只有25个。3. 明文所用的语言是已知的,且其意义易于识别。在大多数网络情况下,我们假设密码算法是已知的。一般说来,密钥空间很大的算法使得穷举攻击分析方法不太可能。上述的第三个特征也是非常重要的。如果明文所用的语言不为我们所知,那么明文输出就不可识别。而且,输入可能按某种方式经过缩写或压缩,则识别就更加困难 。2.5单表代换密码 Caesar密码仅有25种可能的密码,是很不安全的。通过允许任意代换,密钥空间将会急剧增大。如果密文行是26个字母的任意置换,那么就有26!或大于4的密钥,这比DES的密钥空间要大10个数量级,

42、应该可以抵挡穷举攻击了。这种方法称为单表代换密码,这是因为每条消息用一个字母表加密。不过,攻击办法仍然存在。如果密码分析者知道明文的属性,他就可以利用语言的一些规律进行攻击。为了说明分析过程,我们在这里给出一段从文献SIN66中摘选出来的例子。需要解密的密文是:uzqsovuohxmopvgpozpevsgzwszopfpesxudbmetsxaizvuephzhmdzshzowsfpappdtsvpquzwymxuzuhsxepyepopdzszufpombzwpfupzhmdjudtmohmq首先把字母使用的相对频率统计出来,与英文字母的使用频率分布进行比较。如果已知消息足够长的话,只用这

43、种方法就足够了,但是如果消息相对较短,我们就不能得打准确的字母匹配。我们可以尝试者将密文中的字母替换,看是否像一个消息的轮廓。更系统一点的方法是寻找其他的规律。例如,明文中有某些词可能是已知的,或者寻找密文字母中的重复序列,推导它们的等价明文。统计双字母组合(比如代表单音节的两个字母)的频率是一个很有效的工具。由此可以得到一个类似的字母相关频率图。最常用的一个字母组合是th。而我们的密文中,用得最多的字母是zw,它出现了三次。所以我们可以估计z对应于明文t,而w对应明文h。根据先前的假设,我们可以认为p对应e。现在我们意识到密文中的zwp很可能就是the,这是一个英语中最常用的三字母组合,这表

44、明我们的思路是正确的。接下来注意到第一行中的序列zwsz。我们并不知道它是否为一个完整的单词,若是这样的话,它一个被翻译成th_t的形式,因此s很可能是明文a。 至此我们有以下结果: uzqsovuohxmopvgpozpevsgzwszopfpesxudbmetsxaiz t a e e te a that e e a a vuephzhmdzshzowsfpappdtsvpquzwymxuzuhsx e t ta t ha e ee a e th t a epyepopdzszufpombzwpfupzhmdjudtmohmq e e e tat e the et虽然只确定了4个字母,但是我们已经有眉目了。继续进行类似的分析、测试,很快就可以得出完整的明文,加上空格后如下:it was disclosed yesterday that several informal butdirect contacts have been made with politicalrepresentatives of the viet cong in Moscow单表代换密码容易被攻破,因为它带有原始字母使用频率的一些统计学特征。一种对

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

当前位置:首页 > 绩效管理


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