DES加密算法的研究与实现 毕业论文设计.doc
《DES加密算法的研究与实现 毕业论文设计.doc》由会员分享,可在线阅读,更多相关《DES加密算法的研究与实现 毕业论文设计.doc(57页珍藏版)》请在三一办公上搜索。
1、毕 业 设 计 论 文题 目: DES加密算法的研究与实现 学 院: 计算机科学与工程学院 专 业: 计算机科学与技术 姓 名: 学 号: 指导老师: 完成时间: 摘 要随着信息技术的发展,计算机应用渗透到社会生活的各个领域,人们对信息化的依赖程度越来越高,随之而来的安全性问题成为人们关注的热点。数据加密技术作为信息安全中的重要武器,发挥着越来越大的作用。DES (Date Encryption Standard)算法从成为加密标准到现在,已经成功在应用在了很多领域并且经历了长期的考验。实践证明,DES算法对于大部分的应用来说,还是足够安全的。本论文首先介绍C语言基本知识及其实用软件Visua
2、l C+6.0,然后介绍DES加密算法原理;接着介绍DES加密模块的三大底层模块的原理与设计;最后介绍了顶层模块的调用与设计,测试文件的编写,从整体上完成了对DES加密模块的实现。本文通过C语言来实现DES加密模块的设计与验证。本设计采用自顶而下的模块化设计方法将DES加密模块划分为四大模块,其中包括三个底层模块 :密钥产生模块、S部件代换模块(S1、S2、S3、S4、S5、S6、S7、S8)、DES的一轮变换模块,还含有一个顶层调用模块,整体的调用三个底层模块用来实现DES加密模块的功能。此外还对DES的安全性进行评估以及简要的验证了三重DES加密算法的加密和解密过程。关键词:DES;加密;
3、解密;C语言Abstract With the development of information technology, the application of computer has came into any field. Peoples dependence on information technology is becoming more. Followed by the issue of security has also become a hot spot of concern to the people . Encryption technology, as an impo
4、rtant weapon of information security, is playing an increasingly important role. DES (Date Encryption Standard) encryption algorithm from becoming the standard to the present , has been successfully used in a lot in the area and has experienced long-term test. Practice has proved that, DES algorithm
5、 for most of the application adequate is security.This paper introduces C language and its utility software Visual C+6.0, and introduces the DES algorithm, and then introduces the DES encryption module the three underlying modules principles and design. Finally, it introduces the top-level module an
6、d its design as well as the test documentation, and achieves the whole DES encryption module Through the C language , this paper achieves DES encryption module design and simulation. The design uses a top-down modular design method to DES encryption module, it is divided into 4 modules,which contain
7、s three bottom modules: key generation module, S module and one transformation module of DES, and it also contains a top-level module which calls the bottom of the overall three modules for the function of DES encryption module. In addition , the security of DES evaluation and briefly proved three D
8、ES encryption algorithm for encryption and decryption process.Key Words: DES;cryption; encryption;C language前言密码学是伴随着战争发展起来的一门科学,其历史可以追溯到古代,并且还有过辉煌的经历。但成为一门学科则是近20年来受计算机科学蓬勃发展的刺激结果。今天在计算机被广泛应用的信息时代,信息本身就是时间,就是财富。如何保护信息的安全(即密码学的应用)已不再局限于军事、政治和外交,而是扩大到商务、金融和社会的各个领域。特别是在网络化的今天,大量敏感信息(如考试成绩、个人简历、体检结果、实验
9、数据等)常常要通过互联网进行交换。(现代电子商务也是以互联网为基础的。)由于互联网的开放性,任何人都可以自由地接入互联网,使得有些不诚实者就有可能采用各种非法手段进行破坏。因此人们十分关心在网络上交换信息的安全性。普遍认为密码学方法是解决信息安全保护的一个最有效和可行的方法。有效是指密码能做到使信息不被非法窃取,不被篡改或破坏,可行是说它需要付出的代价是可以接受的。密码是形成一门新的学科是在20世纪70年代。它的理论基础之一应该首推1949年Shannon的一篇文章“保密系统的通信理论”,该文章用信息论的观点对信息保密问题作了全面的阐述。这篇文章过了30年后才显示出它的价值。1976年,Dif
10、fie和Hellman发表了论文密码学的新方向,提出了公钥密码体制的新思想,这一思想引发了科技界对研究密码学的极大兴趣,大量密码学论文开始公开发表,改变了过去只是少数人关起门来研究密码学的状况。同时为了适应计算机通信和电子商务迅速发展的需要,密码学的研究领域逐渐从消息加密扩大到数字签名、消息认证、身份识别、抗欺骗协议等新课题。 美国国家标准局(NBS)1973年开始研究除国防部外的其它部门的计算机系统的数据加密标准,并批准用于非机密单位及商业上的保密通信。于1973年5月15日和1974年8月27日先后两次向公众发出了征求加密算法的公告。1977年1月,美国政府颁布:采用IBM公司1971年设
11、计出的一个加密算法作为非机密数据的正式数据加密标准(DES : Data Encryption Standard)。DES广泛应用于商用数据加密,算法完全公开,这在密码学史上是一个创举。在密码学的发展过程中,DES算法起了非常重要的作用。本次学年论文介绍的就是分组加密技术中最典型的加密算法DES算法。目 录第一章 绪论11.1 信息安全的现状11.2 单钥密码系统21.3 分组密码的总体结构和安全性31.4 DES加密技术研究的意义41.5 设计语言及验证工具41.5.1 C语言的简要介绍41.5.2 使用的验证工具的介绍6第二章 DES加密算法的原理分析92.1 DES加密算法的描述92.2
12、 DES加密标准102.2.1 初始置换IP112.2.2 IP-1是IP的逆置换122.2.3 DES算法的迭代过程122.2.4 子密钥的生成152.3 DES算法的解密过程16第三章 DES加密算法的安全性评估173.1 DES弱密钥和补密钥特性173.2 DES的密钥的长度和迭代次数183.3 DES加密算法S-盒的设计183.4 DES加密算法的应用误区193.5 DES加密算法安全性统计20第四章 DES加密算法的实现及验证224.1 DES加密算法的实现224.1.1 通过DES算法实现对字符的加密224.1.2 通过DES算法实现对文件的加密234.2 子密钥函数的生成函数DE
13、S_MakeSubKeys()234.3 DES算法的加密函数DES_Encrypt()244.4 DES算法加密函数DES_Decrypt()254.5 DES算法的主函数void main()264.6 DES的加密过程和举例284.7 DES算法的分析29结 论32致 谢33参考文献34附录A C语言源代码35第一章 绪论1.1 信息安全的现状美国著名未来学家阿尔温托夫勒说:“电脑网络的建立和普及将彻底改变人类生存及生活的模式,控制与掌握网络的人就是未来命运的主宰。谁掌握了信息,控制了网络,谁就拥有整个世界。”的确,网络的国际化、社会化、开放化、个人化诱发出无限的商机,电子商务的迅速崛起
14、,使网络成为国际竞争的新战场。各种信息的传播越来越便捷。在当今的信息时代,大量敏感信息如法庭记录、资金转移、私人财产、个人隐私等常常通过公共通信设施或者计算机网络来进行交换,而这些信息的秘密性和真实性是人们迫切需要的。然而,由于安全技术本身的缺陷,使得信息传播的脆弱性大大增加,一旦信息传播的途径与方式受到攻击,轻则对个人的工作、生活产生重大影响。严重时甚至会危害国家安全,使整个社会陷入危机。所以,构筑安全的电子信息环境,愈来愈受到国际社会的高度关注。加密技术是基于密码学原理来实现计算机、网络乃至一切信息系统安全的理论与技术基础。简单的说,加密的基本意思是改变信息的排列形式,使得只有合法的接受才
15、能读懂,任何他人即使截取了该加密信息也无法使用现有的手段来解读。解密是我们将密文转换成能够直接阅读的文字(即明文)的过程称为解密,它是加密的反向处理,但解密者必须利用相同类型的加密设备和密钥对密文进行解密。不安全的信息还不如没有信息。一个不设防的信息传播方式,一旦遭到恶意攻击,将意味着一场灾难。对于信息的传播,需要居安思危、未雨绸缪,克服脆弱、克制威胁,防患于未然。信息安全是对付威胁、克服脆弱性、保护各种信息资源的所有措施的总和,涉及政策、法律、管理、教育和技术等方面的内容。信息安全是一项系统工程,针对来自不同方面的安全威胁,需要采取不同的安全对策。从法律、制度、管理和技术上采取综合措施,以便
16、相互补充,达到较好的安全效果。管理是所有安全领域的重要组成部分,而技术措施是最直接的屏障,目前常用而有效的信息安全技术对策有如下几种:加密、数字签名、鉴别、访问控制、防火墙、安全审计、数据备份与恢复等等。在这些对策中,加密无疑是所有信息保护措施中最古老,最基本的方法。加密的主要目的是防止信息的非授权泄漏。加密方法多种多样,在信息网络中一般是利用信息变换规则把可靠的信息变成不可懂的信息。既可对传输信息加密,也可对存储信息加密,把计算机数据变成一堆杂乱无章的数据,攻击者即使得到加密的信息,也不过是一串毫无意义的字符。加密可以有效的对抗截收、非法访问等威胁。现代密码算法不仅可以实现加密,还可以实现数
17、字签名,鉴别等功能,有效地对抗截收、非法访问、破坏信息的完整性、冒充、抵赖、重演等威胁。因此,加密技术是网络信息安全的核心技术。社会信息化步伐的不断加快,极大地推动了信息安全技术的核心技术现代密码学的发展。现代密码学的应用已经涵盖了军事、政治、外交、金融、商业等众多领域,其商用价值和社会价值得到了充分的肯定。为密码理论与技术的应用提供了广阔的前景。1.2 单钥密码系统密码学中有两种重要类型的密码系统,单钥(私钥)和双钥(公钥)密码系统。在单钥密码系统中,明文的加密和密文的解密是用同样的密钥。直到1976年Diffie、Hellman引入公钥(双钥)密码学之前,所有的密码都是单钥系统,因此单钥系
18、统也称为传统密码系统。传统密码系统广泛地用在今天的世界上,有两种单钥密码体制:流密码和分组密码。流密码是利用密钥k产生一个密钥流z=z0z1,并使用如下规则对明文串x=x0x1x2加密: y=y0y1y2=Ez0(x0)Ez1(x1)Ez2(x2)。密钥流由密钥流发生器f产生: zi=f(k,i),这里i是加密器中的记忆元件(存储器)在时刻i的状态,f是由密钥k和i产生的函数。而分组密码就是将明文消息序列:m,m,m,划分为等长的消息组(m,m,m),(m,m,m),(y,y),(y,y),各组明文分别在密钥k=(k1,k2,kt)的控制下,按固定的算法E一组一组进行加密。加密后输出等长密文组
19、分组密码的模型,如图1.1所示。图1.1 分组密码的模型它与流密码的不同之处在于输出的每一位数字不只与相应时刻输入明文数字有关,而是与一组长为m的明文数组有关。它们的区别就在于有无记忆性(如图1.2)。流密码的滚动密钥z0=f(k,0)由函数f、密钥k和指定的初态0完全确定。此后,由于输入加密器的明文可能影响加密器中内部记忆元件的存储状态,因而i(i0)可能依赖于k,0,x0,x1,xi-1等参数。图 图 1.2 流密码和与分组密码的区别分组密码的优点在于其容易实现同步,因为一个密文组的传输错误不会影响其他组,丢失一个密文组不会对其后的组的解密正确性带来影响。分组密码又分为三类:代替密码(Su
20、bstitution)、移位密码(Transposition)和乘积密码。随着计算技术的发展,早期的代替和移位密码已无安全可言。一个增加密码强度的显然的方法是合并代替和移位密码,这样的密码称为乘积密码。如果密文是由明文运用轮函数多次而得,这样的乘积密码又称为迭代分组密码。DES和今天的大多数分组密码都是迭代分组密码。目前著名的对称分组密码系统算法有DES、IDEA、Blowfish、RC4、RC5、FEAL等。1.3 分组密码的总体结构和安全性分组密码采用两种类型的总体结构:SP网络与Feistel网络,它们的主要区别在于:SP结构每轮改变整个数据分组,而Feistel密码每轮只改变输入分组的
21、一半。AES和DES分别是这两种结构的代表。Feistel网络(又称Feistel结构)可把任何轮函数转化为一个置换,它是由Horst Feistel在设计Lucifer分组密码时发明的,并因DES的使用而流行,“加解密相似”是Feistel型密码的实现优点。SP网络(又称SP结构)是Feistel网络的一种推广,其结构清晰,S一般称为混淆层,主要起混淆作用,P一般称为扩散层,只要起扩散作用。SP网络可以更快速的扩散,不过SP网络的加解密通常不相似。安全性是分组密码最重要的设计原则,它要求即使攻击者知道分组密码的内部结构,仍不能破译该密码,这也意味着,不存在针对该密码的某种攻击方法,其工作量小
22、于穷密钥搜索。但是随着密码分析技术的发展,使得对于具有更多轮的分组密码的破译成为可能。1.4 DES加密技术研究的意义DES于1977年1月15日正式被批准作为美国联邦信息处理标准,同年7月15日开始生效。虽然在1994年1月的评估后,美国已经决定1998年12月以后就不再使用DES ,然而DES算法和其各种改进算法目前仍在世界上被广泛的应用者,如3-DES等。因此对DES的安全性分析仍然十分重要。数据加密标准DES,作为ANSI的数据加密算法(Data Encryption Algorithm, DEA)和ISO的DEA-1,成为一个世界范围内的标准己经20多年了。尽管它带有过去时代的特征,
23、但它很好地抗住了多年的密码分析,除可能的最强有力的敌手外,对其他的攻击仍然是安全的。同时,对DES的研究极大地推动了密码理论的发展和应用,对于掌握分组密码的基本理论、设计思想和实际应用仍然有着重要的参考价值。但随着密码分析技术和计算能力的提高,1994年,美国决定不再使用DES算法,目前DES算法已被更为安全的加解密算法取代。虽然这样,但是目前还无法将DES加密算法彻底破解掉,而且DES算法的加解密算法非常快,仍是目前使用最为普遍的对称密码算法。在国内,随着三金工程尤其是金卡工程的启动,DES算法在POS、ATM、磁卡及智能卡、加油站、高速公路收费站等领域被广泛应用,以此来实现关键数据的保密,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- DES加密算法的研究与实现 毕业论文设计 DES 加密算法 研究 实现 毕业论文 设计
链接地址:https://www.31ppt.com/p-3931561.html