DES加密算法实现论文
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一章前言 (2)
1.1概述 (2)
1.1.1 信息安全的重要性 (2)
1.1.2 分组加密算法的知识 (2)
1.1.3 DES加密算法简介 (3)
1.1.4 本论文工作的意义 (3)
1.2 本论文的主要工作 (4)
第二章DES加密算法的描述 (5)
2.1 DES算法的来历 (5)
2.2加密过程 (5)
2.3每个循环的详细过程 (7)
2.4密钥的产生 (10)
2.5 DES的解密 (10)
第三章DES算法软件实现的详细设计 (11)
3.1 DES加密算法详细设计 (11)
3.2 DES解密算法详细设计 (15)
3.3 算法函数 (16)
第四章测试 (17)
4.1测试平台和方法 (17)
4.2 正确性测试 (17)
第五章DES加密软件工具 (19)
5.1人机界面的功能介绍: (19)
5.2 状态—事件—响应流程图 (20)
5.3.人机界面的效果图 (22)
第六章结束语 (24)
6.1 体会与收获 (24)
6.2 展望 (24)
参考文献 (25)
附录1算法原代码 (26)
附录2人机界面程序代码 (35)
致谢 (48)
第一章前言
1.1概述
1.1.1 信息安全的重要性
随着计算机网络和Internet的发展,全球信息化己成为人类社会发展的大趋势。在今天的信息社会里,科学技术的研究和发展及商业等方面,无一不与信息息息相关,数据安全保密问题也日益突出,人们不能靠用降低信息共享度的简单方法来解决问题,唯一可行的方案是积极解决信息共享和网络安全的问题。由于计算机网络具有联结形式多样性、终端分布不均匀性和网络开放性等特征,致使网络容易受到黑客及恶意软件和其他不轨的攻击,Internet的安全问题已经成为了信息发展的一块绊脚石。本课题研究的是DES加密算法,本算法是经历20 多年的考验,抗住了多年的密码分析的经典算法。
随着信息技术的发展和越来越广泛的应用,整个社会的运转越来越密切地依赖于信息技术,依赖于各种基础信息系统的正常运转,依赖于储存在信息系统中各种重要信息的正确维护和正常使用。信息安全问题,可以说是关系到国家社会的稳定安全、企业的兴衰存亡,公众的生活幸福,这个问题将显得越来越重要。在我国,近年来信息安全问题也日益突出,信息安全和网络安全问题也成为社会性问题,不仅政府部门、金融部门重视,而且企业事业单位和个人都日益重视这一重要问题。所以,网上信息的安全和保密是信息时代的迫切需要。如何保护信息的安全使之不被窃取及不至于被篡改或破坏,己成为当今被普遍关注的重大问题;如何充分利用现有的技术手段来保护已有信息的安全是一个有广泛应用前景的课题。
1.1.2 分组加密算法的知识
分组加密算法属于对称加密算法。
对称算法又可以叫做传统密码算法,就是加密密钥能够从解密密钥中推算出来,反过来也成立。在大多数对称算法中,加/解密密钥是相同的。这些算法也叫做秘密密钥算法或者单密钥算法,它要求发送者和接收者在安全通信之前,商定一个共享的密钥。对称算法的安全性依赖于密钥,泄露密钥就意味着任何人都能够对消息进行加/解密。只要通信需要保密,密钥就必须保密。对称算法的加密和解密表示为,见图1.1.
图1.1对称加密算法
Fig 1.1 Symmetry encryption algorithm
()()K K E M C D C M
==
对称算法可以分为两类,包括分组加密算法和序列加密算法。本论文讨论的DES 算法就是一种分组加密算法。分组加密算法是对明文的一组位(bit )进行运算,这些位组称为分组。现代计算机密码算法的典型分组长度为64位或者128位。分组长度的选择需要大到足以防止分析破译,但又要小到足以方便使用。
虽然现在有很多人都在研究着大密钥加密算法,但是经过20多年考验,抗住了多年的密码分析的经典算法DES 加密算法还是具有很高的研究价值的。
1.1.3 DES 加密算法简介
数据加密标准(Data Encryption Stand, DES )DES 也被称为DEA (数据加密算法)。是IBM 公司在70年代为硬件应用而设计的,其前身为Lucifer 。美国政府于1976年开始采用DES ,经过20多年的时间DES 仍然使用广泛。
对与DES 加密算法来说,DES 使用56位密钥对64位的数据进行加密,并对64位数据块进行16轮编码。与每轮编码时,一个48位的“每轮”密钥值由56位的完整密钥得出来。如Mode 为加密,则用Key 去把数据Data 进行加密, 生成Data 的密码形式(64位)作为DES 的输出结果;如Mode 为解密,则用Key 去把密码形式的数据Data 解密,还原为Data 的明码形式(64位)作为DES 的输出结果。在通信网络的两端,双方约定一致的Key ,在通信的源点用Key 对核心数据进行DES 加密,然后以密码形式在公共通信网(如电话网)中传输到通信网络的终点,数据到达目的地后,用同样的Key 对密码数据进行解密,便再现了明码形式的核心数据。
对信息进行加密的目地就是保证信息在大多数的情况下能够进行安全的传输和保存。本课题在使用大量运算的多轮迭代计算的复杂条件下,研究如何提高算法效率是本课题的创新点。
1.1.4 本论文工作的意义
在众多加密算法中每种算法都有自己的优缺点,相比较而言,对称密钥算法(如DES )速度要比RSA 快的多。如果想在网络上实现非常高的传输速率,就必须选择对称密钥算法进行加密。RSA 还有另外一个问题就是密钥长度很长,这使它在许多网络上传播也带来了复杂性。另外RSA 在软件的实现时间上也远远不及DES 。并且DES 经历里20 多年的考验,抗住了多年的密码分析,所以在一切都讲究速率的今天,DES 在国内外还是有应用价值的。由前面的介绍可知,DES 算法是一个比较优秀的加密算法。本论文的工作就是用软件实现DES 算法。我们的工作一方面可以为生产和生活实践提供一种高强度的加密工具,用来保护合法重要信息的安全性;另一方面我们的工作也为加密算法的研制与开发提供一个实现范例,给