【vfp精品源码栏目提醒】:本文主要为网学会员提供“加密解密论文 - 期刊论文”,希望对需要加密解密论文 - 期刊论文网友有所帮助,学习一下!
一、综合设计目的、条件、任务和内容要求: 1.综合设计目的: (1)课程设计是课程教学中的一项重要内容,是完成教学计划达到教学目标的重要环节,是教学计划中综合性较强的实践教学环节,它对帮助学生全面牢固地掌握课堂教学内容、培养学生的实践和实际动手能力、提高学生全面素质具有很重要的意义。
密码学是一门理论性和实用性都很强的课程,也是密码学课程设计环节应占有重要的地位,密码技术为现代电子商务、网络安全等必修之工具; (2)使学生对于密码学算法如何实现加密与解密有更加深入的理解,了解数据加密标准(DES)算法; (3)提高学生在应用 C 语言、数据结构编写大型算法的能力; 2.综合设计条件:Windows XP 操作系统,Visual C6.0 软件。
3.综合设计任务:实现 DES 对称密码算法的,并能够在 Visual C6.0版的
软件开发环境中运行并得到正确的结果。
4.内容要求:密码学
课程设计是一个实践环节,它使学生自己能够实现出可以加密和解密的编码,并能够正确的理解
源代码的含义和一些主要函数的作用和用法,在理解的基础上正确完整的编写出程序代码并在编写环境中正常的运行出正确的结果,编写环境为Visual C6.0版。
要求学生按教师的要求,认真编写出DES对称算法的程序代码,并运行出结果,完成设计论文。
指导教师签字: 年 月 日二、进度安排: 课程设计共安排两周: 1.第一周:周一至周五查找关于密码学的资料,理解 DES 对称加密算法实现的基本原理,并编写其
程序代码,在 Visual C6.0 中调试。
2.第二周:周一至周四查资料,按要求完成课程设计报告论文,周五进行课程设计的答辩并提交课程设计论文和报告。
三、应收集资料及主要参考文献: 1、应收集的资料:查找现代密码学的一些基本知识,有关 DES 对称密码学算法编码用到的一些函数知识如:初始置换函数,逆初始置换函数,还有一些有关 DES 对称密码算法的工作原理的资料。
以及了解 RSA 非对称算法的内容,
VFP 功能的实现。
2、参考文献: (1).张焕国 王张宜编著,《密码学引论》 武汉大学出版社 (2).于工 牛秋娜等编著,范九伦主审,《现代密码学原理与实践》 西安电子科技大学出版社 ( 3 ).Michael Welschenbach 编著,赵振江,连国卿等译,《编码密码学——加密方法的 C 与 C实现》,电子工业出版社 4 .杨波. 《现代密码学》 北京:清华大学出版社,2007 年 5 .王育民. 《通信网的安全—理论与技术》. 西安:西安电子科技大学出版社,1999年 6 .冯登国. 《密码学导引》 .北京:科学出版社,1999 年 武汉工程大学计算机科学与工程学院 综合设计报告 目 录摘 要 ……………………………………………………………………………………… IIAbstract …………………………………………………………………………………... II第一章 概论……………………………………………………..………………………… 11.1 课题背景…………………………………………………………………...……...……11.2 课题意义………………………………………………..…………………………… 2第二章 DES 算法设计简介及方案论述 ………………………………………………….. 32.1 设计简介……………………………………………………..…………………………32.2 设计方案………………………………………………..………………………….…32.2.1 DES 的加密过程…………………………………..………………………….……42.2.1 DES 的解密过程…………………………………..………………………….……5第三章 DES 算法详细设计………………………………………………..……………….. 63.1 子密钥的产生……………………………………..………………………….…………63.2 初始值换 IP……………………………………..………………………….…………73.3 加密函数……………………………………..………………………….……………73.4 逆初始值换 IP 1 ……………………………………..………………………….……9第四章 设计结果及分析…………………………………………………..……………….. 104.1 设计结果……………………………………….………………………………..….…104.2 设计结果分析……………………………………………..………………………….12总 结 …….……………………………………………………..………………………….13致 谢 …….……………………………………………………..………………………….14参考文献 …….………………..………………………………..………………………….15附录 主要程序代码 ………...………………………………..………………………….15 -I- 武汉工程大学计算机科学与工程学院 综合设计报告 摘 要 DES(Data Encryption Standard)算法是美国国家标准局(NIST)于 1977 年公布由 IBM 公司研制的一种加密算法,并且批准它作为非机要部门使用的数据加密标准。
自从公布以来,它一直超越国界,成为国际上商用保密通信和计算机通信的最常用的加密算法。
DES 也是曾被广泛使用的分组密码,遍及世界的政府,银行和标准化组织把 DES作为安全和论证通信的基础。
DES 算法公开是密码学史上里程碑式的事件。
DES 算法是分组密钥,每次处理 64 位的明文数据,形成 64 位的密文。
DES 也是一个对称算法,加密解密使用相同的算法和密钥,密钥长度为 56 位,可以为任意的 56 位的数,且随时可更换。
此次设计主要是对 DES 数据加密标准原理和流程的描述,D 从初始变换、DES 的迭代过程、密钥变换和逆置换等四个方面开始研究的,并且用 Visual C++语言实现了它的模拟应用。
关键词:加密;解密;DES 算法;Visual C++ Abstract DES Data Encryption Standard algorithm is that National institute of standards andtechnology NIST announced a kind of encryption algorithm developed by IBM in 1977andapprove for it as whether datum that confidential developments use encrypt standard. Sinceannouncing it has been surmounting the national boundaries all the time and has been comethe most frequently used of encryption algorithm in the communication of commercial secretand computer in the world .DES block ciphers that enjoys widespread use too spread all overthe government of the world the bank and standardization tissue regarded DES as thefoundation to prove safe and communication to organize. It is a milestone incident in thecryptography history that DES algorithm is disclosed. The key that DES algorithm divides into groups data are encrypted in 64-bit block eachtime form the cipher texts of 64. DES is a symmetrical algorithm too. The same steps withthe same key are used to reverse the encryption the key length is 56-bit and can be thenumbers of 56 wanton and can change at any time. This text is mainly description thatencrypts the standard principle and process to the data of DES ,and analyses the basicprinciple of DES encryption algorithm separately from four parts etc to research that is initialpermutation the DES ‘s iteration course key permutation and Inverse initial permutation andhas realized its simulation application with Visual C++ language.Key
words: Encrypt; Decrypt; DES algorithm; VC++ programming - II - 武汉工程大学计算机科学与工程学院 综合设计报告 第一章 概论 本章主要介绍了课题《DES 对称密码的算法的
设计与实现》的设计背景和意义,提出在当今的信息化时代,信息安全是至关重要的,密码技术更是确保信息安全的关键。
1.1 课题背景 随着计算机和网络在军事、政治、金融、工业、商业等部门的广泛应用,社会对计算机和网络的依赖越来越大,科学技术的研究和发展及其在商业领域的应用等方面,无一不与信息息息相关。
所以信息就是生命,信息就是时间,信息就是财富。
由于信息是共享的,信息的扩散会产生社会影响,所以保护信息的安全是信息时代的迫切需要。
如果计算机和网络系统的信息安全受到破坏将导致社会的混乱并造成巨大损失。
因此,确保计算机和网络系统的信息安全已成为世人关注的社会问题和计算机科学与技术领域的研究热点。
当前,以 Internet 为代表的计算机网络的迅速发展和广泛应用,正引起社会和经济的深刻变革,极大地改变着人们的生活和工作方式。
Internet 已经成为我们生活和工作中一个不可缺少的组成部分。
对此,发展我国的电子政务、电子商务和电子金融已成为建设具有中国特色社会主义强国的不可回避的选择。
然而,目前影响电子政务、电子商务、电子金融应用的主要技术障碍是信息安全
问题。
由于 Internet 原来缺少安全设计,再加上 Internet 的开放性和无政府状态,使 Internet 成为一个不安全的网络。
这就使得Internet 不能适应电子政务、电子商务和电子金融等系统对信息安全的要求。
确保信息的安全就必须加强加密技术,加密技术是基于密码学原理来实现计算机、
网络乃至一切信息系统安全的理论与技术基础。
1977 年美国颁布了数据加密标准 DESData Encryption Stantard,这是密码史上的一个创举。
DES 算法最初由美国 IBM 公司设计,经美国国家安全局评测后,颁布为标准。
DES 开创了向世人公开加密算法的先例。
自从公布以来,它一直超越国界,成为国际上商用保密
通信和计算机通信的最
常用的加密算法。
DES 也是曾被广泛使用的分组密码,遍及世界的政府,银行和标准化组织把 DES 作为安全和论证通信的基础。
DES 算法公开是密码学史上里程碑式的事件。
加密算法的原理:密码体制从原理上可分为 2 大类,即单钥密码体制和双钥密码体制。
前者常被用于数字签名,后者常被用于保密通信。
加密算法的应用误区:DES 算法具有极高的安全性到目前为止除了用穷举搜索法对 DES 算法进行攻击外还没有发现更有效的办法。
加密算法的实际应用:利用汇编语言实现 DES 加密、DES 算法的 VLSI实现、 FPGA 上的 DES 算法实现。
通过自己对加密算法的
学习研究提出了自己对于加密算法的改进思想:随着计算机技术的突飞猛进,即使利用穷举的方法也只需付出较小的代价就可以在几天内完成破解的要求。
为了加强 DES 算法的加密强度,人们进行了一些改良以及一种基于 DES 和 RSA 的改良机密
方案,RSA 加密算法是根据寻求两个大素数比较简单,而将它们的乘积分解开则极其困难这一原理来设计的。
它设计精巧、安全、方便,是近代密码的世界标准,为确保数据安全作出了重大贡献。
DES 的设计充分体现了Shannon 信息保密理论所阐述的设计密码的思想,标志着密码的设计与分析达到了新的水平。
-1- 武汉工程大学计算机科学与工程学院 综合设计报告1.2 课题意义 世界主要工业国家中每年因计算机犯罪所造成的经济损失令人吃惊,据美国 FBIde调查
报告。
美国每年因利用
计算机犯罪所造成的
经济损失就高达 1 700 多亿美元,远远超过了普通经济犯罪所造成的经济损失。
据美国的一项调查报告,由 40的被调查者承认在他们的机构中曾发生过利用计算机犯罪的事件。
在我国,利用计算机犯罪的案例也在迅速上升。
社会的信息化导致第三次军事革命,信息战、网络战成为新的作战形式,数字化部队和数字化战场已经诞生。
过去被认为是科学幻想的计算机病毒,线已活生生地出现在我们的面前,对于计算机系统的安全构成极大的威胁。
面对如此严重危害计算机和网络信息安全的种种威胁, 必须采取措施确保计算机和网络的信息安全。
特别是中美 “黑客”网络大战等事件,使我们清醒地认识到,为了确保国家的安全,必须建立我国自己的信息安全体系。
国际标准化组织 ISO 在其网络安全体系设计标准(ISO 7498—2)中定义了计算机网络系统的六大安全服务功能:身份认证服务、访问控制服务、数据加密服务、数据完整性服务、不可否认服务和安全审计,比较全面地描述了计算机网络
系统安全的内涵,而且强调了信息安全的服务职能。
随着信息技术的发展和应用,人们对信息安全的认识越来越全面,越来越深刻。
众所周知,能源、材料、信息是支撑现代社会大厦的三根支柱。
在这三根支柱中能源和材料是具体的、物质的,而信息是抽象的、逻辑的。
信息不能脱离信息系统而孤立存在。
因此,我们就不能脱离信息系统安全而孤立地谈信息安全。
换句话说,当我们讨论信息安全问题时总是要讨论信息系统的安全。
信息系统的安全主要包括四个侧面:设备安全(Safety and Security of Equipment) ,数据安全 , (Data Security) 内容安全(Contents Security)和行为安全(Behavior Security)。
信息安全的关键技术——密码技术是一门古老的技术, 大概自人类社会出现战争便产生了密码(Cipher) 。
由于密码长期以来仅用于政治、军事、公安、外交等要害部门,其研究本身也只限于秘密进行,所以密码被蒙上神秘的面纱。
在军事上,密码成为决定战争胜负的重要因素之一。
有些军事评论家认为,盟军在破译密码方面的成功,使第二次世界大战提前几年结束。
然而随着据算机荷通信技术的迅速发展和普及应用,出现了电子商务、电子金融等重要的应用信息系统。
在这些系统中必须确保数据的安全保密,因此密码技术有了更广泛的应用空间。
1977 年发布的 DES 算法具有极高安全性,到目前为止,除了用穷举
搜索法对 DES算法进行攻击外,还没有发现更有效的办法。
而 56 位长的密钥的穷举空间为 256,这意味着如果一台计算机的速度是每一秒种检测一百万个密钥, 则它搜索完全部密钥就需要将近 2285 年的时间,可见,这是难以实现的。
密码技术随时都在更新,1999 年美国政府颁布的三重 DES 为新的密码标准。
因此,要确保信息的安全,具有很强的密码技术是很必须的。
-2- 武汉工程大学计算机科学与工程学院 综合设计报告 第二章 设计简介及设计方案论述 本章主要是介绍运用 C编写出一个加密和解密的密钥对一段文字进行加密和解密来达到隐秘的传送信息的目的的程序实现的理论基础。
主要介绍了 DES 算法的加密和解密过程。
2.1 设计简介 用 VC6.0 来实现数据加密标准(DES)算法的加密和解密。
DES 的设计目标是,用于加密保护静态存储和传输信道中的数据,安全使用 10—15 年。
DES 综合运用了置换、代替、代数等多种密码技术。
它设计精巧、安全、方便,是近代密码的世界标准,为确保数据安全作出了重大贡献。
DES 的设计充分体现了 Shannon信息保密理论所阐述的设计密码的思想,标志着密码的设计与分析达到了新的水平。
DES 是一种分组密码。
明文、密文和密钥的分组长度都是 64 位。
DES 是面向二进制的密码算法,因而能够加解密任何形式的计算机数据。
DES 是对合运算,因而加密和解密共用同一算法,从而使工程实现的
工作量减半。
2.2 设计方案 DES 全称为 Data Encryption Standard 即数据加密算法,它是 IBM 公司研究成功并公开发表的。
DES 算法的入口参数有三个:Key、Data、Mode。
其中 Key 为 8 个字节共 64 位,是DES 算法的工作密钥;Data 也为 8 个字节 64 位,是要被加密或被解密的数据;Mode 为DES 的工作方式,有两种:加密或解密。
数据加密标准(DES)的算法是用于计算机数据加密保护的分组加密的数学算法,算法以 64 bit 为一个分组对数据进行加密。
使用 64 bit 的密钥加密 64 bit 分组的信息。
首先将原始数据 64 bit 明文进行初始置换 IP,然后与子密钥由加密密钥产生进行一系列迭代运算,最后再经过逆置换 IP 1 ,即可得到 64 bit 密文加密后数据。
在每一轮中,数列块的右边 32 bit 数据和密钥Key一起传送给函数 f,函数 f 运算的结果再与数列块左边 32 bit 数据进行“异或”操作。
其中 S 盒S 选择函数是 DES 算法的心脏,由它实现非线性变换。
解密过程与此类似只是在应用子密钥时,顺序颠倒为k16k15…k2k1。
DES 算法实现时用到许多的数学知识,子密钥的产生,初始值换 IP,加密函数以及逆初始值换 IP 1 。
DES 的整体结构如图 2-1 所示: Li Ri 1 Ri Li 1 f Ri 1 K i i123…,16 -3- 武汉工程大学计算机科学与工程学院 综合设计报告 图 2-1 DES 的整体结构2.2.1 DES 算法的加密过程 (1)64 位密钥经子密钥产生算法产生出 16 个子密钥: K 1 K 2 ,K 16 ,分别供第一次,第二次,……,第十六次加密迭代使用。
(2)64 位明文首先经过初始置换 IP(Initial Permutation),将数据打乱重新排列并分成左右两半。
左边 32 位构成 L0 ,右边 32 位构成 R0 。
(3)由加密函数 f 实现子密钥 K 1 对 R0 的加密,结果为 32 位的数据组 f R0 K 1 。
-4- 武汉工程大学计算机科学与工程学院 综合设计报告f R0 K 1 再与 L0 模 2 相加,又得到一个 32 位的数据组 L0 f R0 K 1 。
L0 f R0 K 1 以作为第二次加密迭代的 R1 ,以 R0 作为第二次加密迭代的 L1 。
至此,第一次加密迭代结束。
(4)第二次加密迭代至第十六次加密迭代的分别用子密钥 K 2 K 3 ,K 16 进行,其过程与第一次加密迭代相同。
(5)第十六次加密迭代结束后,产生一个 64 位的数据组。
以其左边 32 位作为 R16 ,以其右边 32 位作为 L16 ,两者合并再经过逆初始置换 IP 1 将数据重新排列,便得到 64位密文。
至此加密过程全部结束。
综上可将 DES 的加密过程用如下的数学公式描述: Li Ri 1 Ri Li 1 f Ri 1 K i i 123162.2.2 DES 算法的解密过程 由于 DES 的运算是对和运算,所以解密和加密可共用同一个运算,只是子密钥使用的顺序不同。
把 64 位密文当做明文输入,而且第一次解密迭代使用子密钥 K 16 ,第二次解密迭代使用子密钥 K 15 ,…,第十六次解密迭代使用子密钥 K 1 ,最后的输出便是 64 位明文。
解密过程可使用如下的数学公式描述: Ri 1 Li Li 1 Ri f Li K i i 161514, 1 过程如图 2-2 所示: 图 2-2 解密过程
演示 -5- 武汉工程大学计算机科学与工程学院 综合设计报告 第三章 DES 算法详细设计 本章主要介绍了 DES 的算法细节,DES 算法的细节分为子密钥的产生、初始置换、加密函数还有逆置换四个过程。
3.1 子密钥的产生 64 位密钥经过置换选择 1、循环左移、置换选择 2 等变换,产生出 16 个 48 位长的子密钥。
子密钥的产生过程如图 3-1 所示。
图 3-1 子密钥产生 64 位的密钥分为 8 个字节。
第 每个字节的前 7 位是真正的密钥位, 8 位是奇偶校验位。
置换选择 1 的作用是:一是从 64 位密钥中去掉 8 个奇偶校验码;二是把其余 56 位密钥位打乱重排,且将前 28 位作为 C 0 ,后 28 位作为 D0 。
对密钥实施置换选择 1,使 (得变换以后的密钥的各个位与原密钥位对应关系如下图 3-2 所示: 表一为忽略校验位以后情况). .