收藏 分享(赏)

基于DES的文件加密系统-new.doc

上传人:dreamzhangning 文档编号:2255657 上传时间:2018-09-07 格式:DOC 页数:47 大小:837.50KB
下载 相关 举报
基于DES的文件加密系统-new.doc_第1页
第1页 / 共47页
基于DES的文件加密系统-new.doc_第2页
第2页 / 共47页
基于DES的文件加密系统-new.doc_第3页
第3页 / 共47页
基于DES的文件加密系统-new.doc_第4页
第4页 / 共47页
基于DES的文件加密系统-new.doc_第5页
第5页 / 共47页
点击查看更多>>
资源描述

1、沈 阳 工 程 学 院实训报告实训题目: 信息安全专题设计与实践-EDS 的文件加密传输系统 系 别 信息工程系 班级 信安本 101 学生姓名 姜洋洋 学号 2010415104 指导教师 张小瑞 郑秀颖 刘娜 实训进行地点: 信息工程系网络实验室 任 务 下 达 时 间: 2013 年 11 月 18 日起止日期:2013 年 11 月 18 日起至 2013 年 12 月 20 日止信息安全专题设计与实践任务书一、性质、任务和基本要求信息安全专题设计与实践是一门以项目设计和技术开发、综合集成为主要方式的综合设计与实践课程,是计算机科学与技术专业信息安全方向的必修实验课程。通过专题项目的设

2、计、开发和集成,要求学生把理论与实践相结合,加深对专业概念和原理的理解,强化学生的设计能力、技术开发能力和综合集成能力,达到巩固专业知识,改善教学质量,培养学生的创新性开发和实践能力,为后续的毕业设计环节以及将来的实际工作打好坚实的基础。二、专题设计的具体内容信息安全专题设计与实践要求学生综合利用本课程的有关知识,在教师的指导下,针对特定的某一专题方面的具体问题,完成从项目的需求分析、设计、到技术开发、综合集成、测试等实现过程,最终实现一个较为完整的硬件或软件系统。下面是各个阶段的具体内容。 项目分析制订要开发或完成的安全系统的安全目标。本阶段应该对整个系统情况作全面的、详细的调查,分析该系统

3、可能面临安全风险和安全威胁。 制订系统安全策略根据阶段一分析的结果,制订为保护系统安全所要采取的安全策略,说明所采用的安全策略与系统所面临的安全风险和可能遭受的安全攻击之间的关系,描述这种安全策略是如何降低系统安全风险的。说明要实施这种安全策略,需要采用何种安全技术或产品。 系统的实现根据前两个阶段的分析设计结果,通过编程或选用集成合适的工具产品,完成该系统的实现。实现过程是对安全技术的综合运用和裁剪过程,是学生综合能力的运用和体现。本阶段要求学生写出详细的实现过程、步骤。对于编程实现的,要求描述主要的算法流程和数据结构。对于产品部署和应用的,要求写出详细的配置和部署的环境和功能。最后,要求针

4、对实现进行分析,说明该实现对系统安全需求的满足程度、实现中的不足以及可以进一步改进和提高的地方。三、实训要求专题设计题目要求紧密围绕密码学、软件安全、网络安全、系统安全相关的教学内容,通过专题设计这种实践性教学环节,深入理解和巩固信息安全的的基本概念、基本原理方法、安全技术等主要相关知识点,提高学生技术开发和解决实际问题的能力,锻炼学生对安全技术的综合运用能力。专题设计可以按每人一个题目进行,也可以把一个完整的较大的题目分解,由 2-3 人合作完成。鼓励学生发挥自主创新性,自主提出专题设计题目,提高学生发现问题的能力和对信息安全的兴趣。学生自主提出的题目,经指导教师审核认可后,方可以按照该题目

5、进行专题设计任务。参考选题 PKI 和 PMI 系统设计与部署安全的远程控制与访问系统基于开源的防火墙系统的定制与开发蜜罐蜜网系统设计与实现内网加密防护系统的设计与实施操作系统安全审计系统的设计与实现WEB 渗透技术的分析与实现嵌入式防火墙系统嵌入式漏洞扫描系统四、实训报告要求专题设计的设计报告是学生对本次专题设计的全面总结,应该反映每个设计阶段的设计思路和设计内容。该设计报告,应作为整个专题设计评分的书面依据和存档材料。设计报告一般要以固定规格的纸张(如 A4)书写或打印并装订,字迹及图形要清楚,工整,规范。内容及要求如下: 设计任务、要求及所用软硬件环境或工具介绍。 专题设计内容中要求的分

6、析设计结果。 实现过程和结果 验收情况,总结五、成绩评定标准专题设计的成绩评定以选定课题的难易度,完成情况和设计报告为依据综合评分。从总体来说,所设计的系统应该符合设计要求,设计过程中的每一个阶段均应提供正确的文档(设计报告) ,设计报告要符合规范要求。评分原则序号 报告内容所占比重 不给分 及格 中等 良好 优秀1 问题描述 5% 没有 不完整 基本正确 描述正确 描述准确2 设计思想 10% 没有 不完整 基本可行 方案良好 很有说服力3 具体设计的正确性 70% 不正确 不完整 基本正确正确,清晰 正确,清晰4 组内是否前后一致 5% 不一致 有些不一致 基本一致 一致 完全一致5 其他

7、 10% 包括是否按时完成,报告格式,字迹、语言等等六、参考资料1石志国,薛为民,尹浩编著,计算机网络安全教程,北方交通大学出版社,2007 年 1 月2 (美)斯托林斯(Stallings,W. )著,孟庆树等译,密码编码学与网络安全 原理与实践(第四版) ,电子工业出版社,2006 年 11 月3 (美)马里克(Malik,S. )著; 王宝生,朱培栋,白建军 译,网络安全原理与实践,人民邮电出版社,2008 年 08 月4周继军,蔡毅主编,网络与信息安全基础(重点大学计算机专业系列教材) ,清华大学出版社,2008 年 08 月。5张敏波编著, 网络安全实战详解(企业专供版) ,电子工业

8、出版社 ,2008 年 05 月6杨波 等编著. 现代密码学,清华大学出版社,2003 年.7. 关振胜 等编著. 公钥基础设施 PKI 及其应用,电子工业出版社,2008 年.8. 傅建明,彭国军, 张焕国编著. 计算机病毒分析与对抗,武汉大学出版社,2004 年.9. 陈志雨 等编著,计算机信息安全技术应用,电子工业出版社,2005 年.10. 胡铮 等编著, 网络与信息安全,清华大学出版社,2006 年.11. 王景中,徐小青 等编著,计算机通信信息安全技术,清华大学出版社,2006 年.12. 楚狂 等编著,网络安全与防火墙技术,人民邮电出版社,2000 年.13. 胡建伟 等编著,网

9、络对抗原理,西安电子科技大学出版,2004 年.14. 杜晔 张大伟 范艳芳. 网络攻防技术教程:从原理到实践,武汉大学出版社,2008 年.实训成绩评定表评分原则序号报告内容所占比重 不给分 及格 中等 良好 优秀 最后得分1 问题描述 5% 没有 不完整 基本正确 描述正确 描述准确2 设计思想 10% 没有 不完整 基本可行 方案良好很有说服力3设计的正确性70% 不正确 不完整 基本正确 正确,清晰 正确清晰4 前后一致 5% 不一致有些不一致基本一致 一致完全一致5 其他 10% 包括是否按时完成,报告格式,字迹、语言等等总分最后成绩指导教师签名(盖章):信息安全专题设计与实践 摘要

10、I摘 要网络安全是信息安全中的重要研究内容之一,也是当前信息安全领域中的研究热点。保护网络系统中的数据不受偶然或恶意原因的破坏、更改、泄露,是网络安全的主要内容之一。目前比较实用的方法是对网络中传输的数据进行加密,而数据加密要依赖于成熟的数据加密算法。然而随着计算机性能的迅速提高,目前在安全性要求很高的场合下,DES 已不再适用,本文以此为切入点,对影响 DES 算法安全性的因素进行了分析,在此基础上提出了 DES 算法的一种改进方案。本文用 C+实现了这种改进的 DES 算法以及其他几种分组密码算法并调试通过,通过将这几种算法对比分析表明:改进的 DES 算法基本保持了 DES 算法的运算速

11、度,但凭借加长的数据分组与密钥长度,其混淆和扩散的效果比原算法好很多,因此其安全性得到了很大的提高。本文还根据对称加密算法和非对称加密算法的特点,讨论了对称加密算法和非对称加密算法相融合的混合加密方法,提出了基于改进的 DES 算法和 RSA 公钥算法的混合加密方案,使混合加密算法在加密解密信息过程中发挥更有效的安全作用。本文中所提出的混合加密算法首先对明文信息采用改进的 DES 加密算法来进行加密,然后使用 RSA 公钥加密算法对改进的 DES 加密算法的密钥进行加密,同时发挥了对称加密算法速度快的优势和公钥加密算法安全性能高的优势。该混合算法主要适合于对大量数据信息进行加密解密。本文最后还

12、对基于改进的 DES 算法和 RSA 公钥算法的混合加密方案的速度特性和安全性进行了分析,证明了该混合算法的实用性。关键词: 信息安全,网络攻击,DES,传输信息安全专题设计与实践 AbstractIIAbstractNetwork security is one of the important information security research , but also the current hot topic in the field of information security . Data protection network system from damage accid

13、ental or malicious reasons , change , disclosure, one of the main contents of network security. Currently more practical approach is to network data transmission is encrypted , and data encryption to rely on sophisticated data encryption algorithm.However, with the rapid increase in computer perform

14、ance , is currently in the high security requirements of occasions , DES is no longer applicable , this article as a starting point, the factors affecting the safety of the DES algorithm was analyzed on the basis of proposed an improved program DES algorithm. In this paper, using C + + implementatio

15、n of this improved DES algorithm and several other block cipher algorithms and debugging through , through comparative analysis showed that these several algorithms : DES algorithm improvements remained the DES algorithm computing speed , but with extended data grouping and key length , the confusio

16、n and diffusion effect is much better than the original algorithm , so the security has been greatly improved.This article is also based on the characteristics of symmetric and asymmetric encryption algorithm encryption algorithm , discussed the mixed symmetric encryption algorithm encryption and as

17、ymmetric encryption algorithms fusion hybrid encryption scheme is proposed based on the improved DES algorithm and the RSA public key algorithm , the mixed encryption algorithms play a more effective role in the encryption and decryption of information security process . Hybrid encryption algorithm

18、proposed in this paper first plaintext using the improved DES encryption algorithm to encrypt , and then use the RSA public key encryption algorithm to improve the DES encryption algorithm to encrypt the symmetric encryption algorithm while playing fast high strength and safety performance of public

19、 key encryption algorithm advantage . The hybrid algorithm is mainly suitable for a large number of data encryption and decryption. Finally, based on hybrid encryption scheme also improved DES algorithm and RSA public key algorithm speed characteristics and safety analyzes to prove the usefulness of

20、 the hybrid algorithm.Keywords: information security, network attacks , DES, transmission目 录信息安全专题设计与实现 目录III摘 要 IAbstractII第 1章 绪 论 - 1 -1.1 选题背景 .- 1 -1.2 研究现状 .- 1 -第 2章 DES 介绍 - 2 -2.1 DES 的发展 - 2 -2.2 DES 加密原理 - 3 -第 3 章 DES 加密传输系统设计 .- 10 -3.1 系统总体设计 - 10 -3.2 具体模块设计 - 11 -3.2.1 界面设计 - 12 -3.2

21、.2 加密、解密设计 - 12 -3.2.3 文件传输模块 - 14 -3.3 关键模块实现 .- 14 -3.3.1 界面 - 14 -3.3.2 加密解密 - 17 -3.3.3 传输 - 19 -第 4章 DES 加密传输系统的实现 .- 24 -4.1 实验环境和条件 .- 24 -4.2 实现结果 .- 24 -4.2.1 加密过程与结果 - 24 -4.2.2 解密过程与结果 - 25 -4.2.3 数据加密传输过程与结果 - 27 -4.3 程序调试讨论 .- 28 -4.4 小结 .- 28 -结 论 .- 29 -参考文献 - 30 -附录:程序代码 - 31 -信息安全专题

22、设计与实践 第 1 章 绪论- 1 -第 1 章 绪 论1.1 选题背景一般来说,数据的操作包括存储、传输、处理三个过程,数据在网络上传输时可能会遇到的攻击手段有:非法用户冒充合法用户对系统进行非法访问;非法窃听敏感数据;随意篡改窃听到的数据,使接收方接收到的数据失真甚至完全破坏等。网络安全的服务主要包括:身份验证、访问控制、数据完整性、数据加密、0 防抵赖和审计追踪等。迄今为止,对网络和数据传输安全的最重要的自动工具是加密。数据在网络上传输时,其安全威胁主要来自于非法窃听,因此可将数据经加密算法加密成密文,然后再将密文发送到网络上传输,这是一种十分有效的安全保密手段。对数据加密系统的研究,除

23、了加解密算法本身作深入研究外,还包括密钥的生成、分发和密钥本身的安全性。加密算法的安全性一方面依赖于算法内部的数学结构的严密性,另一方面也依赖于密钥的保密性。密钥在加密算法中有着举足轻重的地位,密钥一旦被泄露,则意味着任何人在这个加密系统中都能加密和解密信息,加密算法也形同虚设。因此用什么样的数据作为密钥、如何将密钥分发给数据传输双方及如何保存密钥都是十分重要的。所以建立一个安全的数据传输系统是目前网络安全领域研究的重点之。1.2 研究现状数据加密作为一种保障数据安全的技术源远流长,可以追溯到远古时代,如公元前2000 年的古埃及人便使用一些方法来保护他们的书面信息。对信息进行编码曾被 Jul

24、ian Caesar(凯撒大帝)使用,也曾用于历次战争中,包括美国独立战争、美国内战和两次世界大战。最广为人知的是二战(1942 年)中德国人用来加密信息的编码机器 German Enigma(英尼格玛机)。当初,计算机的研究就是为了破解德国人的密码,当时人们并没有想到计算机给今天带来的信息革命。随着计算机技术和通信技术的发展,运算能力的增强,过去的密码都变得十分简单了。于是人们又不断地研究出了新的数据加密方式,如对称密码和非对称密码。可以说,是计算机推动了数据加密技术的发展。数据加密研究作为一门新的学科是在 20 世纪 70 年代,在近代数据加密研究中有两件大事值得一提:1977 年美国国家

25、标准局和美国国家标准协会 ANSI 正式公布实施 mM 公司研究开发的数据加密标准 DES,公开它的加密算法,用于非机密单位和商业秘密通信:Diffie和 Hellman 的文章“密码学的新方向” ,掀起公钥密码研究的序幕,各种公钥密码体制被提出,典型的公钥加密算法有 RSA、E1Gamal、椭圆曲线密码等公钥密码体制。根据加密密钥和解密密钥在性质上的差异,可以将密码体制分为对称密码和非对称密码两大类。信息安全专题设计与实践 第 2 章 DES 介绍- 2 -第 2 章 DES 介绍2.1 DES 的发展1977 年美国国家标准局制定了数据加密标准 DES,使得密码学发生了革命性的变化,它是第

26、一个被作为国际标准的密码算法。在它诞生之前,密码算法的安全性取决于对算法的保密,因此国际上有着各种各样的保密的算法但是没有一个作为标准的算法,而且这些算法大多都是以单表多表为基础的置换型的算法(从 DES 的构成上还可以看出这一点的影子),一旦密码表被破获,算法即毫无安全性可言,就必须更换新的算法;DES 诞生之后,密码的安全性不再依赖于密码算法本身而依赖于密钥,这不仅使得一个算法可以公开的在全世界的范围内接受检验以验证其安全性,还使得在万一密钥泄漏的情况下仅更换密钥就可以继续维持安全性,而无需重新设计算法;因此,DES 作为密码算法的里程碑,作为密码算法的经典算法是当之无愧的。DES 的加密

27、流程如图 2.1 所示:DES 采用 64bits 分组 64bits 密钥(除去 8 字节中每字节的最后位奇偶校验位只有56bits),明文经过初始置换后分成左右各 32bits,右路数据经过核心函数 F 函数变换与左路 32bits 异或,如此经过 16 轮变换后(第 16 轮数据变换方向不同)生成密文。其中函数结构如图 2.2 所示。图 2.1 DES 加密流程图信息安全专题设计与实践 第 2 章 DES 介绍- 3 -图 2.2 DES 中函数的结构2.2 DES 加密原理DES 是一种分组密码体制。在 DES 中数据以 64 位分组进行加密,密钥长度为 56 位(另外 8 位可以作为

28、奇偶检验或者完全随意设置)。加密算法经过一系列的步骤把 64 位的输入变换成 64 位的输出,解密过程中使用同样的步骤和同样的密钥。其基本思想就是采用变换的组合与迭代,将明文中的各组变为密文组。图 2.3 是 DES 算法中的主要步骤。最终置换(FP)LPT明文(64 位)密文(64 位)16 轮 16 轮密钥 密钥信息安全专题设计与实践 第 2 章 DES 介绍- 4 -图 2.3 DES 算法中的主要步骤(1)对文 M 进行初始置换初始置换只发生一次,是在第一轮之前进行的,图 2.4 是初始置换使用的完整置换表。图 2.4 初始置换表(2)DES 的一轮DES 的一轮包括图 2.5 所示的

29、步骤。图 2.5 DES 的一轮第 1 步:密钥变换58 50 42 34 26 18 10 260 52 44 36 28 20 12 462 54 46 38 30 22 14 664 56 48 40 32 24 16 857 49 41 33 25 17 9 159 51 43 35 27 19 11 361 53 45 37 29 21 13 563 55 47 39 31 23 15 7密钥变换扩展置换S 盒替换P 盒替换异或与交换信息安全专题设计与实践 第 2 章 DES 介绍- 5 -最初 64 位密钥通过放弃每个第 8 位而得到 56 位密钥,每一轮从这个 56 位密钥产生不

30、同的 48 位密钥,称为密钥变换。56 位密钥分成两半,各为 28 位,循环左移一位或两位。例如,如果轮号为 1、2、9、16,则只移一位,否则移两位,相应移位后选择 56 位中的 48 位。由于密钥变换要进行置换和选择 56 位中的 48 位,因此称为压缩置换。第 2 步:扩展置换经过初始置换后,我们得到两个 32 位明文区,分别称为左明文和右明文。扩展置换将右明文从 32 位扩展到 48 位。除了从 32 位扩展到 48 位之外,这些位也进行置换,因此称为扩展置换。过程如下:(1)将 32 位右明文分为 8 块,每块各有 4 位。(2)将上一步的每个 4 位块扩展为 6 位块,即每个 4

31、位块增加 2 位。这两位实际上是重复 4 位块的第一位和第四位。如图 2.6 所示。图 2.6 右明文扩展置换过程可以看出,密钥变换将 56 位密钥压缩成 48 位,而扩展置换将 32 位右明文扩展为 48 位。现在,48 位密钥与 48 位右明文进行异或运算,将结果传递到下一步,即 S 盒替换。第 3 步:S 盒替换48 位输入块分为 8 个子块(各有 6 位) ,每个子块指定一个 S 盒,S 盒将 6 位输入变成4 位输出。8 个 S 盒如图所示:14 4 13 1 2 15 11 8 3 10 6 12 5 9 0 70 15 7 4 14 2 13 1 10 6 12 11 9 5 3

32、 84 1 14 8 13 16 2 11 15 12 9 7 3 10 5 015 12 8 2 4 9 1 7 5 11 3 14 10 0 6 13图 2.7 S 盒 1信息安全专题设计与实践 第 2 章 DES 介绍- 6 -15 1 8 14 6 11 3 4 9 7 2 13 12 0 5 103 13 4 7 15 2 8 14 12 0 1 10 6 9 11 50 14 7 11 10 4 13 1 5 8 12 6 9 3 2 1513 8 10 1 3 15 4 2 11 6 7 12 0 5 14 9图 2.8 S 盒 210 0 9 14 6 3 15 5 1 13

33、12 7 11 4 2 813 7 0 9 3 4 6 10 2 8 5 14 12 11 15 113 6 4 9 8 15 3 0 11 1 2 12 5 10 14 71 10 13 0 6 9 8 7 4 15 14 3 11 5 2 12图 2.9 S 盒 37 13 14 3 0 6 9 10 1 2 8 5 11 12 4 1513 8 11 5 6 15 0 3 4 7 2 12 1 10 14 910 6 9 0 12 11 7 13 15 1 3 14 5 2 8 43 15 0 6 10 1 13 8 9 4 5 11 12 7 2 14图 2.10 S 盒 42 12

34、4 1 7 10 11 6 8 5 3 15 13 0 14 914 11 2 12 4 7 13 1 5 0 15 10 3 9 8 64 2 1 11 10 13 7 8 15 9 12 5 6 3 0 1411 8 12 7 1 14 2 13 6 15 0 9 10 4 5 3图 2.11 S 盒 512 1 10 15 9 2 6 8 0 13 3 4 14 7 5 1110 15 4 2 7 12 9 5 6 1 13 14 0 11 3 89 14 15 5 2 8 12 3 7 0 4 10 1 13 11 64 3 2 12 9 5 15 10 11 14 1 7 6 0 8

35、 13图 2.12 S 盒 6信息安全专题设计与实践 第 2 章 DES 介绍- 7 -4 11 2 14 15 0 8 13 3 12 9 7 5 10 6 113 0 11 7 4 9 1 10 14 3 5 12 2 15 8 61 4 11 13 12 3 7 14 10 15 6 8 0 5 9 26 11 13 8 1 4 10 7 9 5 0 15 14 2 3 12图 2.13 S 盒 713 2 8 4 6 15 11 1 10 9 3 14 5 0 12 71 15 1 8 10 3 7 4 12 5 6 11 0 14 9 27 11 4 1 9 12 14 2 0 6

36、10 13 15 3 5 82 1 14 7 4 10 8 13 15 12 9 0 3 5 6 11图 2.14 S 盒 8第 4 步:P 盒置换所有 S 盒的输出组成 32 位块,对该 32 位要进行 P 盒置换。图 2.15 显示了 P 盒置换。16 7 20 21 29 12 28 17 1 15 23 26 5 18 31 102 8 24 14 32 27 3 9 19 13 30 6 22 11 4 25图 2.15 P 盒置换第 5 步:异或与交换上述所有操作只是处理了 64 位明文的右边 32 位(即右明文) ,还没有处理左边部分(左明文) 。这时,最初 64 位明文的打本部

37、分与 P 盒置换的结果进行异或运算,成为新的右明文,并通过交换将旧的右明文变成新的左明文,如图 2.16 所示。信息安全专题设计与实践 第 2 章 DES 介绍- 8 -图 2.16 异或与交换(4)最终置换16 轮结束后,进行最终置换(只一次) ,即按图 2.17 进行变换。最终置换的输出就是64 位加密块。40 8 48 16 56 24 64 32 39 7 47 15 55 23 63 3138 6 46 14 54 22 62 30 37 5 45 13 53 21 61 2936 4 44 12 52 2 60 28 35 3 43 11 51 19 59 2734 2 42 10

38、 50 18 58 26 33 1 41 9 49 17 57 25图 2.17 最终置换DES 加密算法也适用于解密,各个表的值和操作及其顺序是经过精心选择的,使这个算法可逆。加密与解密过程的唯一差别是密钥部分倒过来。如果原先的密钥 K 分解为K1、K2、K3、K16,用于 16 轮加密,则解密密钥应为 K16、K15、K14、K1。(3)DES 算法的优缺点DES 轮函数结构是 Feistel 网络,这种结构现在已经是轮函数的经典结构之一。它是一种对称结构,是实现加密和解密对称关系的重要基础。在此结构中,整个流程框架是固定不变的,可以改变的只是其核心 F 函数,设计者可以灵活的设计函数而不

39、必担心算法的可逆性问题。还需要指出,该结构的可逆性与最后一轮迭代有着相当大的关系,最后一轮迭代的左右数据交换方式与前 15 轮相反,决定了这一结构的可逆性。我们还可以看出,在编程实现XOR32 位左明文块 32 位右明文块32 位左明文块 32 位右明文块1.密钥变换2.扩展置换3.S 盒置换4.P 盒置换下一轮信息安全专题设计与实践 第 2 章 DES 介绍- 9 -DES 算法的时候,只要结构保持正确,即使 F 函数出现错误(相当于更换一个函数),也会实现正确的加解密,因此这一点需要我们注意,在编程实现的时候要多加揣摩、分析,避免出现这样的问题。编程实现 DES 时,S 盒的 6 输入 4

40、 输出特性是编程的难点,S 盒是用到频率最多的运算,一个 8M 的文件加密就需要用到 1Mx 168 次的 S 盒运算,因此 S 盒的运算速度将极大的影响整个算法的速度。在对 DES 的编程中,位的运算用布尔数组实现是很方便的。DES 中的初始置换和逆初始置换对于提高算法的强度影响很小,同时去掉这两组置换也不影响 DES 的可逆性,但需要注意的是,这两组置换必须同时存在或消亡。直到目前除了强力破解还没有发现针对 DES 的有效破解方法,DES 的缺点在于它仅仅使用 64bits 密钥(实际 56bits),随着计算机计算能力的增强和互联网协作破解的广泛采用,使得强力破解 DES 越来越容易,目

41、前仅强力破解就使得 DES 难以招架,所以在很多重要的部门和地方,采用 DES 加密已经不能保证足够的安全性了。当然在很多并不是很重要的领域,比如民用领域,采用 DES 加密还是很安全的。为了延续 DES 的生命力,后来出现了 DES 的许多增强算法,例如两重、三重 DES 等,其中三重 DES 应用比较多,而两重 DES 因为易受中间相遇攻击(中间相遇攻击使得两重 DES 对强力破解的抵抗能力仅为原 DES 的两倍)因此应用不多。信息安全专题设计与实践 第 3 章 DES 加密传输系统设计- 10 -第 3 章 DES 加密传输系统设计在了解 DES 背景的前提下,以计算机高级语言 C/C+

42、为开发环境,设计并实现基于 DES的文件加解密传输系统。3.1 系统总体设计系统的整体结构分为以下几个模块,首先是发送端的明文经过数据加密系统加密后,文件传输系统将加密后的密文传送给接收端,接收端接收到密文以后,用已知的密钥进行解密,得到明文。系统的整体结构如图 3.1 所示。图 3.1 系统的整体结构图3.1.1 设计目标和技术路线根据设计要求可知程序可分为两个部分。第一部分为利用 DES 对文件进行加密和解密,第二部分为传输文件。根据 DES 的加密原理和准则,需要构建一个密钥矩阵,利用密钥矩阵对文件完成加密过程,解密则是利用密钥矩阵完成加密的逆过程。第二部分初步的设计目标为编写一个点对点

43、的传输系统,发送端利用 IP 直接查找接收端进行传输,接收端采取监听的方法接收发送端传输的文件。初步目标是以计算机高级语言为开发环境编写程序,则需要详细了解利用计算机语言如何完成 DES 密钥矩阵,并实现加密过程。加密过程中涉及到文件的查找与保存,则需要详细了解如何利用计算机语言实现对文件的查找及保存功能。传输部分则以监听和利用 IP 查找文件加密传输系统发送端接收端发送文件数据加密数据解密接收文件信息安全专题设计与实践 第 3 章 DES 加密传输系统设计- 11 -目的计算机为核心。3.1.2 功能需求分析和设计原则根据设计目标,程序需要完成以下功能。1 拥有独立交互界面,交互界面包括传输

44、,加密,解密三个主要部分;2 对已知文件进行加密;3 对已加密文件进行解密;4 对已知文件进行传输。加解密功能部分要求能对一般文本文件及图片完成加密和解密,传输功能部分要求对一般文件完成进行点对点的快速传输。3.1.3 系统的总体架构程序初步设计框图如图 3.2 所示。图 3.2 程序初步设计框图从设计图上可以看出程序可以达到以下要求,程序的交互界面上,有加密,解密,传输 3 个主要部分。在任意端,能够对文件单独进行加密,或者对已加密文件进行解密。可以设置为发送端,向固定 IP 地址的接收端发送已加密文件或者普通文件。可以设置为接收端,接收发送端传输的加密文件或者普通文件。3.2 具体模块设计

45、Microsoft Visual C+是 Microsoft 公司推出的开发 Win32 环境程序,面向对象的可视化集成编程系统。它不但具有程序框架自动生成、灵活方便的类管理、代码编写和界面设计集成交互操作、可开发多种程序等优点,而且通过简单的设置就可使其生成的程序框架支持信息安全专题设计与实践 第 3 章 DES 加密传输系统设计- 12 -数据库接口、OLE2,WinSock 网络、3D 控制界面。它以拥有“语法高亮” ,IntelliSense(自动编译功能)以及高级除错功能而著称。比如,它允许用户进行远程调试,单步执行等。还有允许用户在调试期间重新编译被修改的代码,而不必重新启动正在调

46、试的程序。其编译及建置系统以预编译头文件、最小重建功能及累加连结著称。这些特征明显缩短程式编辑、编译及连结的时间花费,在大型软件计划上尤其显著。3.2.1界面设计本次文件传输加密系统设计的界面就是用 Visual C+ 6.0 来设计的。Visual C+ 6.0,简称 VC 或者 VC6.0,是微软推出的一款 C+编译器,将“高级语言”翻译为“机器语言(低级语言) ”的程序。Visual C+是一个功能强大的可视化软件开发工具。自 1993 年 Microsoft 公司推出 Visual C+1.0 后,随着其新版本的不断问世,Visual C+已成为专业程序员进行软件开发的首选工具。虽然微

47、软公司推出了Visual C+.NET(Visual C+7.0),但它的应用的很大的局限性,只适用于Windows 2000、Windows XP 和 Windows NT4.0。所以实际中,更多的是以 Visual C+6.0 为平台。Visual C+6.0 不仅是一个 C+ 编译器,而且是一个基于 Windows 操作系统的可视化集成开发环境(integrated development environment,IDE) 。Visual C+6.0 由许多组件组成,包括编辑器、调试器以及程序向导 AppWizard、类向导 Class Wizard 等开发工具。这些组件通过一个名为 D

48、eveloper Studio 的组件集成为和谐的开发环境。 由于 C+是由 C 语言发展起来的,也支持 C 语言的编译。6.0 版本是使用最多的版本,很经典。最大的缺点是对于模版的支持比较差。现在最新补丁为 SP6,推荐安装,否则易出现编译时假死状态和有些功能不可用的情况。同时,6.0 版本对 windows7 的兼容性较差本次文件加密系统可分为加密部分、文件路径寻找部分、文件传输部分。图 3.3 为初步设计图形界面。图 3.3 初步的图形界面。3.2.2加密、解密设计信息安全专题设计与实践 第 3 章 DES 加密传输系统设计- 13 -3.2.1 加解密模块(1)DES 加解密模块DES 数据加密流程图如图 3.4 所示。明 文分 组初始置换L0 R0L1=R0 R1=L0 f(R0,K1) +L15=R14 R15=L14 f(R14,K15) +L16=R15 R16=L15 f(R15,K16) +终结置换 + f + f + f图

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

当前位置:首页 > 高等教育 > 大学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报