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

上传人:1888****888 文档编号:37724913 上传时间:2021-11-04 格式:DOC 页数:60 大小:1.23MB
收藏 版权申诉 举报 下载
信息加密算法分析及在文件中加解密的应用_第1页
第1页 / 共60页
信息加密算法分析及在文件中加解密的应用_第2页
第2页 / 共60页
信息加密算法分析及在文件中加解密的应用_第3页
第3页 / 共60页
资源描述:

《信息加密算法分析及在文件中加解密的应用》由会员分享,可在线阅读,更多相关《信息加密算法分析及在文件中加解密的应用(60页珍藏版)》请在装配图网上搜索。

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个字母,但是

45、我们已经有眉目了。继续进行类似的分析、测试,很快就可以得出完整的明文,加上空格后如下:it was disclosed yesterday that several informal butdirect contacts have been made with politicalrepresentatives of the viet cong in Moscow单表代换密码容易被攻破,因为它带有原始字母使用频率的一些统计学特征。一种对策是对每个字母提供多种代换,就像一个读音可以代表多个单词的同音词一样,一个明文单元也可以变换成不同的密文单元。比如字母e可以替换成16、74、35和21,等等,循

46、环或随机地选择其中一个即可。如果对每个明文元素(字母)分配的密文元素(如数字等)的个数与此明文元素的使用频率成一定的比例关系,那么使用频率信息就完全被隐藏起来了。伟大的数学家Carl Friedrich Gauss认为他已经用这种“同音词”方法设计出一种牢不可破的密码。然而,即使采用了同音词方法,明文中的每个元素仅仅只对密文中的一个元素产生影响,多字母语法模式(比如双字母音节)仍然残留在密文中,这样就降低了密码分析者分析的难度。代换密码必须考虑的一个问题是明文的语法模式和结构有多少仍然保存在密文中。有两个方法可以减少这种残留:一种是对明文中的多个字母一起加密,另一种是采用多表代换密码。2.6

47、Playfair密码Playfair密码的算法是基于使用一个5*5字母矩阵,该矩阵使用一个关键词构造。设关键词是monarchy,矩阵的构造方法是:由从左到右、从上到下填入关键词的字母(去除重复字母),然后再以字母表顺序将余下的字母填入矩阵剩余空间,字母I和J被看作一个字母,如下表所示。字母矩阵表MONARCHYBDEFGI/JKLPQSTUVWXZPlayfair密码系统根据下列规则一次对明文的两个字母加密:1相同对中的重复明文字母将用一个填充字母如X进行分隔,因此单词balloon将被分隔为ba lx lo on。2属于该矩阵相同行的明文字母将由其右边的字母代替,而行的最后一个字母由行的第

48、一个字母代替。例如,ar被加密为RM。3属于该矩阵相同列的明文字母将由其下面的字母代替,而列的最后一个字母由列的第一个字母代替。例如,mu被加密为CM。4否则,明文的其他字母将由与其同行,且与另一个字母同列的字母所代替。因此,hs被加密为BP,ud被加密为CZ。Playfair密码相对于简单的单表密码是一个巨大的进步。首先,因为有26个字母,故有2626=676个字母对,因此对单个的字母对进行判断要困难得多。此外,单个字母在使用频率的统计规律上比字母对要强得多。这样,利用使用频率分析字母对就更困难一些。因为这些原因,Playfair密码在很长一段时间内被认为是牢不可破的。第一次世界大战中英军就

49、使用它作为陆军的标准加密体制,并且在第二次世界大战中,美军及其他一些盟军队用它来进行加密。尽管Playfair密码被认为是较安全的,它仍然是相对容易攻破的,因为它的密文仍然完整地保留了明文语言的结构。几百个字母的密文就足够我们分析出规律了。2.7 Hill密码Hill密码是1929年由数学家Lester Hill发明的。希尔密码就是矩阵乘法密码,运用基本矩阵论原理的替换密码。每个字母当作26进制数字:A=0, B=1, C=2. 一串字母当成n维向量,跟一个nn的密钥矩阵相乘,再将得出的结果模26。希尔密码的优点是完全隐藏了字符的频率信息,弱点是容易被已知明文攻击击破。假设n=3,系统可以描述

50、为:=()mod26)mod26用列矢量和矩阵表示如下:=mod26或C=KP mod 26这里C和P是长度为3的列矢量,分别代表密文和明文,K是一个33矩阵,代表加密密钥。运算按模26执行。例如,对明文“paymoremoney”,用加密密钥: 明文的前面3个字母用矢量(15 0 24)表示,则有: K(15 0 24)=(375 819 486) mod 26 = (11 13 18) = LNS照此方式转换余下字母,可得整段明文对应的密文是LNSHDLEWMTRW。 解密则需要用到矩阵K的逆。矩阵K的逆矩阵由等式K=K=I定义,其中I是单位矩阵。不一定所有的矩阵都有逆,但是如果有逆则一定

51、能满足上式。对于刚才这个例子,K的逆是: 可以验证如下: = 用一般术语,Hill密码可以表示如下: C= mod 26 P= mod 26 =KP=P同Playfair密码相比,Hill密码的优点是完全隐蔽了单字母频率特性。实际上,Hill用的矩阵越大,所隐藏的频率信息就越多。因此,一个33的Hill密码不仅隐藏了单字母的频率特性,还隐藏了双字母的频率特性。尽管Hill密码足以抗惟密文攻击,但是它较易被已知明文攻击破解。对于一个mm的Hill密码,假如我们有m个明密文对,每个长度都是m,定义和,使得对每个和(1)都有=K,其中K是未知矩阵形密钥。现在定义两个mm的矩阵X=()和Y=()。那么

52、我们可以得出矩阵等式Y=KX。若X可逆则可得K=Y。若X不可逆,那么我们可以另找X直到得到一个可逆的X。假设明文“Friday”经过一个2的Hill加密生成pqcfku。因此我们知道K(5 17)=(15 16);K(8 3)=(2 5); K(0 24)=(10 20)。那么由这两个明密文对可得: X的逆是: 该结果可以由第3个明密文对来验证。2.8 多表代换密码 改进简单的单表代换的方法是在明文消息中采用不同的单表代换。这种方法一般称之为多表代换密码。所有这些方法都有以下的共同特征:1. 采用相关的单表代换规则集。2. 由密钥决定给定变换的具体规则。此类算法中最著名、简单的是Vigener

53、e密码。它的代换规则集由26个类似Caesar密码的代换表组成,其中每个代换表是对明文字母移位0到25次后得到的代换单表。每个密码代换表由一个密钥字母来表示,这个密钥字母就是用来代换明文字母a的那个字母。对于Caesar密码,代换表是移位3次得到的,所以Caesar密码的代换表由密钥值d来代表。为了帮助理解该方案并帮助它的使用,需要构造一个称为Vigenere的表格。26个密文的每个都是水平排列的,每个密文的左侧为其密钥字母。对应明文的一个通常的字母表从顶部向下排列。加密的过程很简单:给定一个密钥字母x和一个明文字母y,密文字母则为于标为x的行和标为y的列的交叉点;在此情况下密文为V。 为了加

54、密一个消息,需要一个与该消息一样长的密钥。通常该密钥为一重复的关键词。例如,如果关键词是deceptive,消息“wearediscoveredsaveyourself”被加密为: 密钥:deceptivedeceptivedeceptive 明文:wearediscoveredsaveyourself 密文:zicvtwqngrzgvtwavzhcqyglmgj 解密也同样简单。密钥字母也标识行。明文字母所在行的位置决定列,该明文字母位于该列的顶部。该密码的强度在于对每个明文字母由多个密文字母对应,每个明文字母对应于该关键词的每个独特的字母,因此,该字母的频率信息是模糊的。然而,并非所有明文

55、结构的所有知识都丢失了。例如,对具有一个长度为9的关键词的Vigenere密码的频率分布,它取得了优于Playfair密码的改进,但是保留了可观的频率信息。拟定攻破这种密码的方法具有指导意义,因为该方法显示了某些应用于密码分析的数学原则。 首先,假定对手认为该密文是使用单字母表替代或一种Vigenere密码进行了加密的。为了判定,可以进行简单的测试。如果使用了单字母表替代,则密文的统计性质应当与对应明文的语言的统计性质相同。如果仅有单一消息可供分析,我们将不能期待这个小样本与该明文语言的统计参数有额外的匹配。无论如何,如果对应是密切的,能够假定是单字母替代。 另一方面,如果猜测是Vigener

56、e密码,则进展取决于其关键词长度的决定,稍后将看到这一点。现在,让我们关注如何能确定关键词的长度。导致问题解决的关键点在于:如果两个等同的明文字母序列出现在一定的距离内,该距离就为该关键词长度的整数倍,它们将产生等同的密文序列。在前述的例子中序列“red”的两个实例被9个字符位置所分割。结果,在这两种情况下,r使用密钥字母e加密,e使用密钥字母p加密。因此,在两种情况下相应的密文序列是VTW。 分析者仅通过观察密文就能够觉察到位移量为9的重复序列VTW,并假定该关键词长度是3个或9个字母。VTW两次出现可能是由于偶然,不反映相同的明文字母用相同的密钥字母加密。然而,如果该消息足够长,将有许多这

57、样的重复密文序列。通过在各种序列的位移中寻找共同因子,分析者将能够很好地猜测密钥词的长度。该密码的解析现在取决于这样一个重要的洞察。如果该关键词的长度为N,则该密码实际上有N个单字母替代密码组成。例如,对应于关键词DECEPTIVE,在位置1、10、19等处的字母都是用相同的单字母密码进行加密的。因此,我们能使用明文语言已知的频率特征分别逐个攻击单字母密码。通过使用与该消息本身一样长的非周期型特性。Vigenere提议使用称之为自动密钥系统的设备,在该设备中一个关键词与明文本身连接起来以提供连续不断的密钥。例如: 密钥:deceptivewearediscoveredsav 明文:weared

58、iscoveredsaveyourself 密文:zicvtwqngkzeiigasxstslvvwla 即使这种方案对密码分析也是脆弱的,因为密钥和明文共享相同的字母频率分布,能够应用统计技术进行分析。例如,用e加密e,可能期望以一定的频率出现,而用t加密t将以通常出现频率的一半出现。这些规律性能够被加以利用,以取得成功的密码分析。Beaufort体制 与Vigenere体制非常相似,是一种多表简单加法密码 设明文m=m1m2mn,密钥k=k1k2kn,则密文 c=Ek(m)=c1c2cn, 其中ci=(ki+25-mi)mod26,i=1,2,n n利用Beaufort方阵进行加密和解密,

59、当使用密钥字母ki对明文中的第ki行第mi列的字母就是密文字母. n密钥的长度比明文短时,密钥可以周期性的重复使用,直至完成明文每个字母的加密。 n字母mi进行加密是Beaufort方阵 Beaufort方阵 abcdefghIjkLmnopqrstuvwxyz aZYXWVUTSRQPONMLKJIHGFEDCBA bAZYXWVUTSRQPONMLKJIHGFEDCB . . .例:明文:BeaufortK=ba 密文:ZVAFVLJG 1918年AT&T工程师GilbertVernam曾提出过这样一个系统,他的系统用二进制数据而不是用字母工作。该系统能够简单地表示为: Ci=piki 其中 pi=明文的第I个二进制数字 ki=密钥的第I个二进制数字 Ci=密文的第I个二进制数字 异或操作 通过执行明文和密钥的逐位异或操作,产生密文。因异或的性质,解密仅需执行相同的逐位操作: pi=Ciki 该技术的核心是密钥构造的方法。Vermam提议使用循环的带子,这最终使密钥重复,因此事实上该系统用一个非常长但却重复的密钥工作。尽管这种使用一个长密钥的方案使得密钥分析极为困难,但只需有

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!