DES加密算法的设计与实现毕业论文

上传人:仙*** 文档编号:99851094 上传时间:2022-06-01 格式:DOC 页数:41 大小:1.35MB
收藏 版权申诉 举报 下载
DES加密算法的设计与实现毕业论文_第1页
第1页 / 共41页
DES加密算法的设计与实现毕业论文_第2页
第2页 / 共41页
DES加密算法的设计与实现毕业论文_第3页
第3页 / 共41页
资源描述:

《DES加密算法的设计与实现毕业论文》由会员分享,可在线阅读,更多相关《DES加密算法的设计与实现毕业论文(41页珍藏版)》请在装配图网上搜索。

1、本 科 毕 业 论 文 DES加密算法的设计与实现DES Encrypts The Study and Application of Algorithms姓 名:学 号:学院:软件学院系:软件工程专 业:软件工程年 级: 指导教师: 年 月摘要摘 要电子计算机的出现是20世纪的大事,它改变了我们这个世界的面貌。它带来了人类历史上的第三次革命信息革命。在计算机网络深入普及的信息时代,信息本身就是时间,就是财富。然而信息的传输通道是脆弱的公共信道,信息的安全受到了严重的威胁。信息的保密对于个人、公司、国家都有着极其重要的意义。信息的泄密将对个人、公司、国家都带来重大的财产损失已经精神伤害。随着网络

2、技术的进一步发展,各种针对网络的犯罪也越来越严重,个人、公司、国家的隐私机密越来越有着泄密的危险。如何保护信息的安全使之不被窃取及篡改或破坏是当今普遍关注的大问题。世界各国为研究对信息的加密,都投入了巨大的人力物力。研究,发展属于中国自己的加密算法,对于中国的国家安全和经济利益都有着深刻的意义。DES算法作为加密算法的第一种世界标准,虽然目前已经有了新的替代,但是对于研究加密算法有着巨大的作用。理解,掌握DES加密算法对于领会加密算法精神,掌握加密方法都有着巨大作用。本文就介绍了密码学的形成和发展的过程,密码学的概念及加密技术体系,以及介绍了DES加密算法的原理、特点和DES的实现过程。关键词

3、:网络安全;加密;DES算法ABSTRACTThe appearance of the electronic computer is a major issue in the 20th century; it has changed our appearance of the world. It has brought the third revolution in the history of mankind -Information revolution.In the information age when the computer network popularizes thoroug

4、hly, information is time, it is the wealth.But transmission of information passway fragile public channel, security of information threatens a serious one. The keeping secret of information has extremely important meanings in individual, company, country. To divulge a secret, bring to individual, Co

5、mpany, country great property loss already spiritual injury information. The countries all over the world study the encryption of information, absorbed and enormous manpower and materials. Study, development belongs to the Chinese encryption algorithm; all have deep meanings in national security and

6、 economic benefits in China.DES algorithm is as the first kind of world standard of encrypting the algorithm, though there is new substitution at present, but has enormous function in studying the algorithm of encrypting. Understand, know DES encrypt algorithm encrypt algorithm spirit understanding,

7、 grasp encryption method have enormous function.This text introduces the forming of cryptography and course of development, the concept of cryptography and encryption technology system, and has introduced the principle that DES encrypts the algorithm, realization course of characteristic and DES.Key

8、word: Online Security; Encryption; DES Algorithm目 录第一章 前言11.1 课题的意义11.2 国内外研究现状11.3 论文主要工作2第二章 加密算法概述32.1 算法的特征32.2 为什么出现密码32.3 密码学的形成42.4 密码学简介52.5 密码系统72.6 加密技术的体系8第三章 DES算法简介93.1 DES加密算法的提出93.2 DES加密算法的描述103.2.1密钥生成103.2.2数据的加密操作123.2.3数据的解密193.2.4 DES的几种工作方式193.3 DES的安全性及强度20第四章 DES算法的实现224.1 算法

9、实现接口函数的介绍224.1.1 int des(char *data, char *key,int readlen)224.1.2 int Ddes(char *data, char *key,int readlen)224.1.3 int des3(char *data, char *key, int n ,int readlen)224.1.4 int Ddes3(char *data, char*key, int n ,int readlen)234.1.5 int desN(char*data,char*key,int n_key,int readlen)234.1.6 int Dd

10、esN(char*data,char*key,intn_key,int readlen)244.2 实验结果分析244.2.1软件界面244.2.2演示过程254.2.3算法性能分析294.3 应用实例30第五章 总结31参考书目32致 谢34 ContentsChapter One Preface11.1 Characteristic of the algorithm11.2 Why will the password appear11.3 Forming of cryptography2Chapter Two Pile up the summary of Encrypt algorithm

11、s32.1 Characteristic of the algorithm32.2 Why will the password appear32.3 Forming of cryptography42.4 Brief introduction of cryptography52.5 Cryptography72.6 System of the encryption8Chapter Three Brief introduction of DES algorithm93.1 The proposition of DES algorithm93.2 The description of DES al

12、gorithm103.2.1 The key is produced103.2.2 Encryption operation of the data123.2.3 Deciphering of the data193.2.4 Several kinds of working ways of DES193.3 Security and intensity of DES20Chapter Four Realization of DES algorithm224.1 The algorithm realizes the introduction to the interface function22

13、4.1.1 int des(char *data, char *key,int readlen)224.1.2 int Ddes(char *data, char *key,int readlen)224.1.3 int des3(char *data, char *key, int n ,int readlen)224.1.4 int Ddes3(char *data, char*key, int n ,int readlen)234.1.5 int desN(char*data,char*key,int n_key,int readlen)234.1.6 int DdesN(char*da

14、ta,char*key,intn_key,int readlen)244.2 Analysis of experimental result244.2.1 Software interface244.2.2 Demonstrate the course254.2.3 Analysis of performance of the algorithm294.3 Employ the embodiment30Chapter Five Summary31Reference32Thanks34第一章 前言第一章 前言1.1 课题的意义信息安全的自主性特点决定了加密算法的研究和开发必须本土化,因为只有这样

15、才能完全消除加密算法是否安全的忧虑,才能放心的用来维护网络信息的安全。加密技术是信息安全技术中的核心技术。当前我国在加密技术的理论和应用水平方面跟国外相比还有一定的差距。如果没有好的加密理论不可能有好的加密技术,也不可能有先进的、自主的、创新的加密技术。因此,必须持之以恒地坚持和加强密码基础理论研究。DES算法是第一个加密标准算法。研究它对理解加密精神,了解加密方法具有深刻的意义。考虑到信息安全的重要性和加密算法本土化的迫切要求,对加密理论和算法进行研究具有重要的理论意义和实践意义。1.2 国内外研究现状数据加密作为一项基本技术是所有通信安全的基石。数据加密过程是由形形色色的加密算法来具体实施

16、,它以很小的代价提供很大的安全保护。在多数情况下,数 据加密是保证信息机密性的唯一方法。据不完全统计,到目前为止,已经公开发表的各种加密算法多达数百种。如果按照收发双方密钥是否相同来分类,可以将这些 加密算法分为常规密码算法和公钥密码算法。 在常规密码中,收信方和发信方使用相同的密钥,即加密密钥和解密密钥是相同或等价的。比较著名的常规密码算法有:美国的DES及其各种变形,比如 Triple DES、GDES、New DES和DES的前身Lucifer; 欧洲的IDEA;日本的FEAL N、LOKI 91、Skipjack、RC4、RC5以及以代换密码和转轮密码为代表的古典密码等。在众多的常规密

17、码 中影响最大的是DES密码。 在公钥密码中,收信方和发信方使用的密钥互不相同,而且几乎不可能从加密密钥推导解密密钥。比较著名的公钥密码算法有:RSA、背包密码、 McEliece密码、Diffe Hellman、Rabin、Ong Fiat Shamir、零知识证明的算法、椭圆曲线、EIGamal算法等 等。最有影响的公钥密码算法是RSA,它能抵抗到目前为止已知的所有密码攻击。1.3 论文主要工作本文通过研究DES加密算法原理,理解加密算法精神,了解加密算法方法。为以后研究加密算法,创造出属于中国自己的加密算法打下基础。34第二章 加密算法概述第二章 加密算法概述算法是在有限步骤内求解某一问

18、题所使用的一组定义明确的规则。通俗点说,就是计算机解题的过程。在这个过程中,无论是形成解题思路还是编写程序,都是在实施某种算法。前者是推理实现的算法,后者是操作实现的算法。2.1 算法的特征有穷性: 一个算法必须保证执行有限步之后结束; 确切性: 算法的每一步骤必须有确切的定义; 输入:一个算法有0个或多个输入,以刻画运算对象的初始情况,所谓0个输入是指算法本身定除了初始条件; 输出:一个算法有一个或多个输出,以反映对输入数据加工后的结果。没有输出的算法是毫无意义的; 可行性: 算法原则上能够精确地运行,而且人们用笔和纸做有限次运算后即可完成。2.2 为什么出现密码自从人类有了战争,就有了密码

19、,所以密码学是一门既古老又年轻的学科,其历史可以追溯到几千年以前。由于计算机科学技术蓬勃发展,近20年来已经作为一门学科来进行研究。在计算机被广泛应用的信息时代,信息的价值众所周知。而大量信息用数据形式存放在计算机系统里。信息的传输则通过公共信道。这些计算机系统和公共信道不是设防的,是很脆弱,容易受到攻击和破坏,而且也不容易被发现,而后果是极其严重的。因为在网络化的今天,计算机犯罪每年使他们遭受的损失巨大,而且还在发展中。如何保护信息的安全已引起各个领域的关注。在今天的新形势下,通信安全保密问题的研究已不仅仅出于军事、政治和外交上的需要。科学技术的研究和发展及商业等方面,无一不与信息息息相关。

20、所以信息就是生命,信息就算时间,信息就是财富。由于信息是共享的,信息的扩散会产生社会影响,所以保护信息的安全是信息时代的迫切需要。保护信息的安全无疑是十分重要的,然而信息的丢失不容易被发现。同时它又是具有时间性的。同一信息在不同的时间里的价值也是不一样的,有时候获得信息的时间比信息本身还重要。而密码是有效而且可行的保护信息安全的方法,有效是指密码能做到使信息不被非法窃取,不被篡改或破坏,可行是说他需要付出的代价是可以接受的。2.3 密码学的形成密码形成一门学科是在20世纪70年代。它的理论基础之一应该首推1949年Shannon的一篇文章“保密通信的信息发展理论”,这篇文章过了30年才显示出它

21、的价值。现在密码学有了突飞猛进的发展,而且成为有些学科的基础。特别是“电子商务”和“电子政府”的提出,使得近代密码学的研究成为热门课题。也大大地扩大了它的发展空间。在近代密码学上值得一提的大事有两件:一是1977年美国国家标准局正式公布实施了美国的数据加密标准(DES),公开它的加密算法。二是Diffie和Hellman联合写成的一篇文章“密码学的新方向”,提出了适应网络上保密通信的公钥密码思想,掀起了公钥密码研究的序幕。受他们的思想启迪,各种公钥体制被提出,特别是¥RSA公钥密码的提出在密码学史上是一个里程碑。可以这么说:“没有公钥密码的研究就没有近代密码学。” 在密码学的发展过程中,计算机

22、科学和数学工作者做出了卓越的贡献。数学中许多分支如数论、概率统计、近世代数、信息论、椭圆曲线理论、算法复杂性理论、自动机理论、编码理论等都可以在其中找到自己的位置。它的踪影遍及数学许多分支,而且还推动了并行算法的研究,从而成为近若干年来非常引人入胜的领域。但还应该强调指出的是密码学毕竟不等于数学,它还有自己的空间。近年来,密码学研究之所以十分活跃,主要原因是它与计算机科学的蓬勃分支息息相关。此外由于电信事业以及防止日益严重的计算机犯罪的需要,由于公共和私人部门的一些机构愈来愈多的应用电子数据处理,将数据存储在数据库中,因此防止非法泄漏,删除,修改等是必须正视的问题。特别是,电子资金传输系统是一

23、个由通信网络互相连接的金融机构,并通过这种网络传输大量的资金,这是密码通信通向民用的典型例子。因此,信息的安全性也成为全社会关心的问题,密码学从此也就成为一门新的学科,引起了数学家和计算机科学工作者日益浓厚的兴趣。中国不能没有自己的密码系统,中国也必须有自己的数据加密标准。近年来,我国引进了很多设备,惟有密码设备不能依*引进,开展这方面的研究是当务之急。近代密码学研究并非是传统密码技术的旧话重提,它有自己的特点。快速电子计算机和现代数学方法一面为加密技术提供了新的概念和工具,另一方面也给破译者以有力的武器。总之,较之传统的密码系统有更丰富多彩的内容。2.4 密码学简介密码学是研究编制密码和破译

24、密码的技术科学。研究密码变化的客观规律,应用于编制密码以保守通信秘密的,称为编码学;应用于破译密码以获取通信情报的,称为破译学,总称密码学。 密码是通信双方按约定的法则进行信息特殊变换的一种重要保密手段。依照这些法则,变明文为密文,称为加密变换;变密文为明文,称为脱密变换。密码在早期仅对文字或数码进行加、脱密变换,随着通信技术的发展,对语音、图像、数据等都可实施加、脱密变换。密码学是在编码与破译的斗争实践中逐步发展起来的,并随着先进科学技术的应用,已成为一门综合性的尖端技术科学。它与语言学、数学、电子学、声学、信息论、计算机科学等有着广泛而密切的联系。它的现实研究成果,特别是各国政府现用的密码

25、编制及破译手段都具有高度的机密性。进行明密变换的法则,称为密码的体制。指示这种变换的参数,称为密钥。它们是密码编制的重要组成部分。密码体制的基本类型可以分为四种:错乱按照规定的图形和线路,改变明文字母或数码等的位置成为密文;代替用一个或多个代替表将明文字母或数码等代替为密文;密本用预先编定的字母或数字密码组,代替一定的词组单词等变明文为密文;加乱用有限元素组成的一串序列作为乱数,按规定的算法,同明文序列相结合变成密文。以上四种密码体制,既可单独使用,也可混合使用 ,以编制出各种复杂度很高的实用密码。20世纪70年代以来,一些学者提出了公开密钥体制,即运用单向函数的数学原理,以实现加、脱密密钥的

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

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

28、3年普鲁士人卡西斯基所著密码和破译技术,以及1883年法国人克尔克霍夫所著军事密码学等著作,都对密码学的理论和方法做过一些论述和探讨。1949年美国人香农发表了秘密体制的通信理论一文,应用信息论的原理分析了密码学中的一些基本问题。自19世纪以来,由于电报特别是无线电报的广泛使用,为密码通信和第三者的截收都提供了极为有利的条件。通信保密和侦收破译形成了一条斗争十分激烈的隐蔽战线。1917年,英国破译了德国外长齐默尔曼的电报,促成了美国对德宣战。1942年,美国从破译日本海军密报中,获悉日军对中途岛地区的作战意图和兵力部署,从而能以劣势兵力击破日本海军的主力,扭转了太平洋地区的战局。在保卫英伦三岛

29、和其他许多著名的历史事件中,密码破译的成功都起到了极其重要的作用,这些事例也从反面说明了密码保密的重要地位和意义。当今世界各主要国家的政府都十分重视密码工作,有的设立庞大机构,拨出巨额经费,集中数以万计的专家和科技人员,投入大量高速的电子计算机和其他先进设备进行工作。与此同时,各民间企业和学术界也对密码日益重视,不少数学家、计算机学家和其他有关学科的专家也投身于密码学的研究行列,更加速了密码学的发展。现在密码已经成为单独的学科,从传统意义上来说,密码学是研究如何把信息转换成一种隐蔽的方式并阻止其他人得到它。密码学是一门跨学科科目,从很多领域衍生而来:它可以被看作是信息理论,却使用了大量的数学领

30、域的工具,众所周知的如数论和有限数学。原始的信息,也就是需要被密码保护的信息,被称为明文。加密是把原始信息转换成不可读形式,也就是密码的过程。解密是加密的逆过程,从加密过的信息中得到原始信息。cipher是加密和解密时使用的算法。最早的隐写术只需纸笔,现在称为经典密码学。其两大类别为置换加密法,将字母的顺序重新排列;替换加密法,将一组字母换成其他字母或符号。经典加密法的资讯易受统计的攻破,资料越多,破解就更容易,使用分析频率就是 好办法。经典密码学现在仍未消失,经常出现在智力游戏之中。在二十世纪早期,包括转轮机在内的一些机械设备被发明出来用于加密,其中最著名的是用于第二次世界大战的密码机Eni

31、gma。这些机器产生的密码相当大地增加了密码分析的难度。比如针对Enigma各种各样的攻击,在付出了相当大的努力后才得以成功。2.5 密码系统加密系统(密码系统)提供用户认证、加密、数据解密和数据完整性验证。如果它的一个密码系统被设计运行在一个标准计算机上它可能是纯粹的软件,或一个专门的硬件和软件的结合。的。我们可将密码系统大致分成三:第一为称为秘密匙密码系统或称为对称匙密码系统,第二为公开匙密码系统或称非对称匙密码系统,第三为信托匙式密码系统或匙回式密码系统。这三密码系统各有其优点与应用,如加解密、数位签章、电子信封等等。 密码系统中的五个基本要素Stinson95: 1.明文(Plaint

32、ext):加密之前的原始资。对加密算法言为输入,对解密算法言为输出。 2.加密算法(Encryption Algorithm):用密匙对明文进加密的编码动作的算法。 3.密匙(Secret Key):加解密算法借密匙进加密的动作。 4.密文(Cipher text):加密之后的资。对加密算法言为输出,对解密算法言为输入。 5.解密算法(Decryption Algorithm):用密匙对密文进行解密的译码动作的算法。 2.6 加密技术的体系加密技术分为对称加密和非对称加密。对称加密,或专用密钥(也称做常规加密)由通信双方共享一个秘密密钥。发送方在进行数学运算时使用密钥将明文加密成密文。接受方使

33、用相同的密钥将密文还原成明文。RSA RC4算法,数据加密标准(DES),国际数据加密算法(IDEA)以及Skipjack加密技术都属于对称加密方式。 非对称加密,或公用密钥,通讯各方使用两个不同的密钥,一个是只有发送方知道的专用密钥,另一个则是对应的公用密钥,任何人都可以获得公用密钥。专用密钥和公用密钥在加密算法上相互关联,一个用于数据加密,另一个用于数据解密。第三章 DES算法简介第三章 DES算法简介3.1 DES加密算法的提出DES ( data encryption Standard) 是一种世界标准的加密形式, 已经15 年历史了,虽然有些老, 可还算是比较可靠的算法。在七十的初期

34、, 随着计算机之间的通信发展, 需要有一种标准密码算法为了限制不同算法的激增使它们之间不能互相对话。为解决这个问题, 美国国家安全局(N.S.A ) 进行招标。 I.B.M 公司开发了一种算法, 称为:Lucifer。 经过几年的研讨和修改, 这种算法, 成为了今天的D.E.S,1976 年11月23 日, 终于被美国国家安全局采用。 D.E.S 是分块加密的,将明文分割成 64 BITS 的块, 然后它们一个个接起来 。它使用56位密钥对64位的数据块进行加密,并对64bits的数据块进行16轮编码。与每轮编码时,一个48bits的“每轮”密钥值由56bits的完整密钥得出来。DES用软件进

35、行解码需要用很长时间,而用硬件解码速度非常快,1977年,人们估计要耗资两千万美元才能建成一个专门计算机用于DES的解密,而且需要12个小时的破解才能得到结果。所以,当时DES被认为是一种十分强壮的加密方法。但今天, 只需 二十万美圆就可以制造一台破译DES的特殊的计算机,所以现在 DES 对要求“强壮”加密的场合已经不再适用了。 DES 的变种: 3DES ( 三重DES)DES的唯一密码学缺点,就是密钥长度相对比较短,人们并没有放弃使用DES,而是想出了一个解决其长度问题的方法,即采用三重DES。加密成为三步, 而不是一步,每一步的密钥都不一样, 这样爆破就比较复杂了,这样要找三个密钥,

36、而不是一个, 每个密钥有56 BITS, 那样我们就有56 乘以三, 等于168 Bits。 中国网管联盟www、bitsCN、com - 两个密钥的DES。 加密也有三步, 但是, 只有两个密钥, 第一步是一号钥,第二步是二号钥, 然后第三步再回来一号钥,这样我们有56 乘以二, 等于112 BITS。3.2 DES加密算法的描述3.2.1密钥生成3.2.1.1取得密钥从用户处取得一个64位(本文如未特指,均指二进制位)长的密码key ,去除64位密码中作为奇偶校验位的第8、16、24、32、40、48、56、64位,剩下的56位作为有效输入密钥.3.2.1.2等分密钥表3-1: 等分密钥1

37、5749413325179158504234261810259514335271911360504436表3-2: 等分密钥26555473931231576254463830221466153453729211352820124把在3.2.1.1步中生成的56位输入密钥分成均等的A,B两部分,每部分为28位,参照表3-1和表3-2把输入密钥的位值填入相应的位置. 按照表3-1所示A的第一位为输入的64位密钥的第57位,A的第2位为64位密钥的第49位,.,依此类推,A的最后一位是64位密钥的第36位。3.2.1.3密钥移位表3-3: 密钥移位后结果i12345678 11222222i910

38、11121314151612222221DES算法的密钥是经过16次迭代得到一组密钥的,把在3.2.1.2步中生成的A,B视为迭代的起始密钥,表3-3显示在第i次迭代时密钥循环左移的位数. 比如在第1次迭代时密钥循环左移1位,第3次迭代时密钥循环左移2位. 第9次迭代时密钥循环左移1位,第14次迭代时密钥循环左移2位. 第一次迭代:A(1) = (1) A B(1) = (1) B第i次迭代:A(i) = (i) A(i-1)B(i) = (i) B(i-1)3.2.1.4密钥的选取表3-4: 密钥选取后结果1417112415328156211023191242681672720132415

39、231374755304051453348444939563453464250362932在3.2.1.3步中第i次迭代生成的两个28位长的密钥为把合并按照表3-4所示k的第一位为56位密钥的第14位,k的第2位为56位密钥的第17位,.,依此类推,k的最后一位是56位密钥的第32位。 生成与进行第i次迭代加密的数据进行按位异或的48位使用密钥:3.2.1.5迭代DES算法密钥生成需要进行16次迭代,在完成16次迭代前,循环执行3.2.1.3-3.2.1.4步.最终形成16套加密密钥:key0 , key1 , key2 ,. key14 , key15 .3.2.2数据的加密操作3.2.2.

40、1取得数据把明文数据分成64位的数据块,不够64位的数据块以适当的方式补足。3.2.2.2初始换位表3-5: 初始换位结果58504234261810260524436282012462544638302214664564840322416857494133251791595143352719113615345372921135635547393123157按照表3-5所示把输入的64位数据的原第58位换到第一位,原第50位换到第二位,.,依此类推,最后的得到新的64位数据. OldData newData 3.2.2.3数据扩展表3-6: 数据扩展结果32123454567898910111

41、21312131415161716171819202120212223242524252627282928293031321第一次迭代以3.2.2.2步中生成的newData作为输入数据,第i (i 1)次迭代以第i-1次的64位输出数据为输入数据,把64位数据按位置等分成左右两部分:保持left不变,根据表3-6把right由32位扩展成48位把扩展后的48位right与第i次迭代生成的48位加密密钥进行按位异或操作 形成一个新的48位的right.3.2.2.4数据压缩表3-8: 数据压缩结果10xe0x00x40xf0xd0x70x10x40x20xe0xf0x20xb0xd0xb0xe

42、0x30xa0xa0x60x60xc0xc0xb0x50x90x90x50x00x30x70x80x40xf0x10xc0xe0x80x80x20xd0x40x60x90x20x10xb0x70xf0x50xc0xb0x90x30x70xe0x30xa0xa0x00x50x60x00xd表3-9: 数据压缩结果20xf0x30x10xd0x80x40xe0x70x60xf0xb0x20x30x80x40xf0x90xc0x70x00x20x10xd0xa0xc0x60x00x90x50xb0xa0x50x00xd0xe0x80x70xa0xb0x10xa0x30x40xf0xd0x40x10x

43、20x50xb0x80x60xc0x70x60xc0x90x00x30x50x20xe0xf0x9表3-10: 数据压缩结果30xa0xd0x00x70x90x00xe0x90x60x30x30x40xf0x60x50xa0x10x20xd0x80xc0x50x70xe0xb0xc0x40xb0x20xf0x80x10xd0x10x60xa0x40xd0x90x00x80x60xf0x90x30x80x00x70xb0x40x10xf0x20xe0xc0x30x50xb0xa0x50xe0x20x70xc表3-11 : 数据压缩结果40x70xd0xd0x80xe0xb0x30x50x00x6

44、0x60xf0x90x00xa0x30x10x40x20x70x80x20x50xc0xb0x10xc0xa0x40xe0xf0x90xa0x30x60xf0x90x00x00x60xc0xa0xb0xa0x70xd0xd0x80xf0x90x10x40x30x50xe0xb0x50xc0x20x70x80x20x40xe表3-12: 数据压缩结果50x20xe0xc0xb0x40x20x10xc0x70x40xa0x70xb0xd0x60x10x80x50x50x00x30xf0xf0xa0xd0x30x00x90xe0x80x90x60x40xb0x20x80x10xc0xb0x70xa0

45、x10xd0xe0x70x20x80xd0xf0x60x90xf0xc0x00x50x90x60xa0x30x40x00x50xe0x3表3-13: 数据压缩结果60xc0xa0x10xf0xa0x40xf0x20x90x70x20xc0x60x90x80x50x00x60xd0x10x30xd0x40xe0xe0x00x70xb0x50x30xb0x80x90x40xe0x30xf0x20x50xc0x20x90x80x50xc0xf0x30xa0x70xb0x00xe0x40x10xa0x70x10x60xd0x00xb0x80x60xd表3-14: 数据压缩结果70x40xd0xb0x0

46、0x20xb0xe0x70xf0x40x00x90x80x10xd0xa0x30xe0xc0x30x90x50x70xc0x50x20xa0xf0x60x80x10x60x10x60x40xb0xb0xd0xd0x80xc0x10x30x40x70xa0xe0x70xa0x90xf0x50x60x00x80xf0x00xe0x50x20x90x30x20xc表3-15: 数据压缩结果80xd0x10x20xf0x80xd0x40x80x60xa0xf0x30xb0x70x10x40xa0xc0x90x50x30x60xe0xb0x50x00x00xe0xc0x90x70x20x70x20xb0

47、x10x40xe0x10x70x90x40xc0xa0xe0x80x20xd0x00xf0x60xc0xa0x90xd0x00xf0x30x30x50x50x60x80xb在3.2.2.3步中形成了48位的right值, 需要把48位的right值转换成32位的right值.把right视为由8个6位二进制块组成,a,b.h都是6位,强制转换成10进制整数的值都不大于64 ,a,bh转成10进制整数后,在对应的表中根据转换后整数值取得对应位置的替代值, a对应表3-8b对应表3-9c对应表3-10d对应表3-11e对应表3-12f对应表3-13g对应表3-14h对应表3-15比如:a = 32

48、 ,那么到表3-8中找到32的位置,把对应的替代值0x8赋给a;d = 53 ,那么到表3-11中找到的位置,把对应的替代值 0x3赋给d ;g = 16, 那么到表3-14中找到16的位置,把对应的替代值0xa赋给g;每6位用一个4位替换这样就完成了从48位向32位数据的转换.有些资料中介绍6位转4位的实现方法与本文所采用的不同,但殊途同归,最终的结果是相同的. 3.2.2.5数据换位表3-16: 数据还位结果1672021291228171152326518311028241432273919133062211425把3.2.2.4步形成的32位right根据表3-16进行转换:数据的原第

49、16位换到第一位,原第7位换到第二位,.,依此类推,最后得到新的32位数据.3.2.2.6交换数据把right 和left按位异或后的值赋给right,然后将本轮输入的原始right值赋给left.3.2.2.7迭代DES算法需要进行16次迭代,在完成16次迭代前,把第i-1次得到的的left和right的值作为第i次的输入数据,重复3.2.2.33.2.2.6的步骤,但是有一点要记住:在步骤3.2.2.3中第i次迭代要选择第i次迭代生成的密钥与数据进行按位异或.3.2.2.8数据整理表3-17: 数据整理结果408481656246432397471555236331386461454226

50、23037545135321612936444125220602835343115119592734242105018582633141949175725为保证加密和解密的对称性,DES算法的前15次迭代每完成一次迭代都要交换left和right的值,第16次迭代不交换两者的数值. 到此把32位的left和right合并成64位的Data根据表3-17重新调整Data的位值数据的原第40位换到第一位,原第8位换到第二位,.,依此类推,最后的得到新的64位.Data即为密文. 3.2.3数据的解密数据解密的算法与加密算法相同,区别在于3.2.2.3步中和数据进行按位异或的密钥的使用顺序不同,在加

51、密中是按照第i次迭代就采用第i次迭代生成的密钥进行异或,而解密时第i次迭代就采用第17-i次迭代生成的密钥和数据进行异或.3.2.4 DES的几种工作方式第一种电子密本方式(ECB)将明文分成n个64比特分组,如果明文长度不是64比特的倍数,则在明文末尾填充适当数目的规定符号。对明文组用给定的密钥分别进行加密,行密文C=(C0,C1,Cn-1)其中Ci=DES(K,xi),i=0,1,.,n-1。第二种密文分组链接方式(CBC)在CBC方式下,每个明文组xi在加密前与先一组密文按位模二加后,再送到DES加密,CBC方式克服了ECB方式报内组重的缺点,但由于明文组加密前与一组密文有关,因此前一组

52、密文的错误会传播到下一组。第三种密文反馈方式(CFB),可用于序列密码明文X(x0,x1,xn-1),其中xi由t个比特组成0第四种输出反馈方式(OFB),可用于序列密码与CFB唯一不同的是OFB是直接取DES输出的t个比特,而不是取密文的t个比特,其余都与CFB相同。但它取的是DES的输出,所以它克服了CFB的密文错误传播的缺点3.3 DES的安全性及强度DES是美国政府批准的数据加密标准,用以对大量的政府和金融数据加密。美国政府认为DES是如此的安全和重要,因而将其列为“危险军需”,禁止出口。然而,有关人士则认为DES的破译只不过是上千台PC和个把月时间的事儿。 现在的UNIX下用的enc

53、rypt函数,其核心是DES加密算法。它是用一个64bit的密钥通过16次替换和易位将明文加密的。而在这64bit中,有8bit做了校验码,则实际上只有56bit是有效的密钥。而一个ascii码是7bit,所以以ascii码组成的密码(密钥)最长就是56/7=8个字符长,而且不能是8bit的中文码。长过8个字符的密码将只有最前面的8个字符被承认有效。 56bit的DES码,在知道密文的情况下要用穷举法256次算出明文,在过去是很难做到的,即使能用上万台小型机来进行并行运算并破译出来,结果也是得不偿失的,但是现在的计算条件则完全可以用能够接受的代价算出DES密码来。本来,在IBM最初研制DES时

54、,用的是128bit的密码。但是,后来却因为法律和一些其它问题而使密钥的长度变成了64bit。 向DES挑战 RockerVerser是科罗拉多州Loveland公司的一名程序员。在RSA公司宣布进行名为“秘密密钥挑战”的竞赛后,RockerVerser开发了一个破译软件并组织了一个命名为“DESCHALL”的小组,他们经过96天的协作努力,终于赢得了RSA公司发起的这场挑战赛。美国政府和工界将不得不严肃考虑他们所制定的密码政策。 “DESCHALL”小组吸引了Internet上数万名志愿者加入。Verser说“数万台计算机协同工作是在政府组织之外所取得的最大的超级计算成果。”Verser认为

55、这项计划有两个方面是值得一提的: 第一,这是历史上第一次有人公开声明能破译DES加密的消息,并且这项计划是数万名从未见面的志愿者使用普通的PC机,利用“空闲”机时完成的。Verser说:“对一个坚定的攻击者来说,56bitDES已经不再安全了。” 第二,这项计划证明了Internet的超级计算能力,因为他们并没有花费任何额外代价,而是仅仅使用了空闲的计算机机时。想象使用数百万台联接Iternet的计算机会是什么情景!除了用于密码学和数学计算外,超级计算机还可用于其它许多科学领域。Verser说:“也许可以利用Internet发现治疗癌症的方法,或许Internet将成为每个人的超级计算机!”

56、正如最终破译出的明文所揭示的“强密码技术使世界变得更安全”。Verser也赞成这一观点。不论是美国国内还是国外,使用强的密码技术,已是当今电子世界的基本需求。Verser认为:“这不应该以牺牲公民的个人隐私为代价”。他认为关于密码技术中使用密钥托管的提议在自由社会是没有立足之地的。 Verser告诫公众说:“如果你拥有一家跨国公司有着价值上亿美元的信息要保护,或者使用网络传输电子货币,那么我建议你慎重考虑DES是否能保证信息的存储、处理和传输的安全。” 在此次DES挑战竞赛中,高校参与的积极性非常之高,远远出乎意料。麻省理工学院的学生和教职员工都争相参与破译56bitDES。该学院的计算机与启

57、蒙及全美国的其他院校和单位的数万台设备一道,用穷举法搜索的方式破译。一个非正式的竞争迅速形成,因为每一个院校都想成为胜利者。参与破译的办法是从“DESCHALL”的分发主管处申请一个密钥区间,并且通过Internet下载运行程序,这样这可开始破译了。众多大学的学生们狂热地加入其中。学生参与破译的另一个动力,是RockerVerser允诺将总数10000美元中的4000美元分给发现密钥的幸运者。这使得学生们宿舍里的奔腾机彻夜运转。当今的计算机速度越来越快了,制造一台这样特殊的机器的花费已经降到了十万美元左右,所以用它来保护十亿美元的银行间线缆时,就会仔细考虑了。另一个方面,如果只用它来保护一台服务器,那么DES确实是一种好的办法,因为黑客绝不会仅仅为入侵一个服务器而花那么多的钱破解DES密文。由于现在已经能用二十万美圆制造一台破译DES的特殊的计算机,所以现在再对要求“强壮”加密的场合已经不再适用了。第四章 DES

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