1、j8;j+)对 Ci,Di 进行 PC-2 置换for(k=0;k6;k+)subkeyi.keyDk=cO_dO (pc_2jk-l)/7 (pc_2jk-l)%7 ;void DES:IP_Convert()int IP88 = 初始置换IP矩阵58, 50, 42, 34, 26,18,10, 2,60,52,44,36,28,20, 12, 4,62,54,46,38,30,22,14, 6,64,56,48,40,32,24, 16, 8,57,49,41,33,25,17, 9, 1,59,51,43, 35, 27,19,11, 3,61,53, 45, 37, 29,21,13
2、, 5,63,55,47,39,31,23,15, 7;coutencipher_decipher;char * s;if(encipher_decipher=1) s=”明文”;else s=”密文”;coutn请输入 64 位“vvsvv”(二进制):n”;intfor(i=0;iv8;i+)j+)进行IP变换j+)teXt_iPiO=text (IPi0-l)/8 (IPijl)%8 ;2.4调试分析过程描述程序输入MM”! nn图2-2m输入图2-3程序输入(二)图2-4程序输入(三)图2-5程序输入(四)e A , 66、5 MMS. , a x图2-6程序输入(五)检验程序执行 e
3、ecim *to iad acx g图2-7检测程序执行(一)IPlease input key: zhaochunyan zhongnanminda Please input M word: 图2-8检测程序执行(二)Output1232489102052117182221613141512116The data items in ascending order:Jia24 jia10 421 18 18 0 24 18 7 12 -11 18 -g hehe3-IJJ-191A图2-9检测程序执行(三)第三部分课程设计心得体会这学期我们学习了网络信息安全这门课,在xx老师的带领下,我们系统
4、规范 得学习了网络信息安全的基础知识、功能等,让我们改变了以前对网络安全简单而肤浅 的认识,使我们明白网络安全技术是应对网络威胁的最好手段,使我们明白网络安全的 重要性。本次课程设计是在网络信息安全学习的基础上更深得了解掌握古典加密算法中的 置换加密算法。当今世界正处于信息时代,网络信息安全已经成为我们网络应用过程中 非常重要的一点,为了网络信息的安全,一般会采用各种各样的加密解密软件应对来自 网络的威胁,通过各种安全协议软件能够最大可能得解决这些威胁,而为了了解加解密 算法,我们应当首先了解古典加解密算法。这次课设的目的就是开发一款无密钥置换加 密软件,让更多的人了解加解密算法,以应对越来越
5、多的网络安全威胁.经过这些天的设计开发,无密钥的置换加密软件基本开发完毕。本软件基本达到了 设计要求:能够实现古典加密算法中无密钥置换加密,由用户输入要加密的明文序列, 不需要输入密钥,然后输出加密后的密文序列,明文序列能够达到10()()位。本次课程设计是分组讨论和制作的。在制作的过程中,我们学到的不仅仅是知识, 我们还认识许多事情。这次设计对我们的综合能力是一次很好的锻炼,使我们的动手能 力提高了一大步,同时也使我们充分认识到合作的可贵。在我们所开发的无密钥的置换加密软件,能够完成基本的加密要求,通过分析、编 写程序、测试程序等步骤完成课程设计。最后按照吕老师的要求写成文档,从中也对 WO
6、RD的运用提高的很多。但是该软件还有许多不足的地方,还有许多东西有待完善。 还有就是我们对网络知识的掌握有限或者不牢固,许多地方概念还是不清楚,无密钥的 置换加密软件达到了基本要求,但是有待进一步改善,希望老师给予批评。本次设计小组由九名成员组成,每个成员能够根据自己的职能积极完成自己的任 务,同时小组成员之间能够通过互相帮助、集体讨论等方式一步步完成设计,这是难能 可贵的,在本次实际的过程中大家真正感受到了集体的智慧与团结的力量。在设计的过程中我们确实遇到了许许多多的问题,从课本上最基本的问题到整个系 统的问题都是我们前进的绊脚石,当遇到这些问题的时候我们一般会采取集体讨论的方 法解决问题,
7、或者上网寻求解决,有时实在搞不懂就向吕老师请教,在团队的努力以及 吕老师的指导下我们最终完成了设计,我想这是我们的成果也是老师的成果,感谢老师 给我们这次机会,让我们在不断地磨砺中快速成长起来。附录:1 .参考资料:吕林涛 网络信息安全技术概论 科学出版社 网络资料:2.小组成员:xxxXXXXXXXXXXXX如有侵权请联系告知删除,感谢你们的配合!如有侵权请联系告知删除,感谢你们的配合!第一部分课程设计准备1.1课程设计题目31.2成员分工31.3课题背景及意义31.4实验平台介绍3第二部分课程设计过程2.1课设软件需求分析4设计目的4设计要求 42.2概要设计42.3 源代码52.4调试分
8、析过程描述 11程序输入11检验程序执行12第三部分课程设计体会课程设计心得体会 14附录15第一部分课程设计准备1.1课程设计题目:无密钥的置换加密软件开发1.2 成员分工:XXX:负责人员组织、总体设计、撰稿排版软件测试分析、运行维护XXX:负责本次课设概要分析、需求分析负责源代码的编写、修改、调试XXX:负责课程设计准备部分、设备支持1.3课题背景及意义当今世界正处于信息时代,网络信息安全已经成为我们网络应用过程中非常重要的 一点,为了网络信息的安全,一般会采用各种各样的加密解密软件应对来自网络的威胁, 通过各种安全协议软件能够最大可能得解决这些威胁,而为了了解加解密算法,我们应 当首先
9、了解古典加解密算法。这次课设的目的就是开发一款无密钥置换加密软件,让更 多的人了解加解密算法,以应对越来越多的网络安全威胁。1.4实验平台介绍Visual C+(简称VC)是Microsoft公司推出的目前使用极为广泛的基于Windows平台 的C+可视化开发环境。VC基于C, C+语言,主要由是MFC组成,是与系统联系非 常紧密的编程工具,它兼有高级,和低级语言的双重性,功能强大,灵活,执行效率高, 几乎可说VC在Windows平台无所不能。VC主要是针对Windows系统,适合一些系统 级的开发,可以方便实现一些底层的调用。在VC里边嵌入汇编语言很简单。当对系统 性能要求很高的时候,可用V
10、C开发。VC在多线程、网络通信、分布应用方面,有着 不可比拟的优势。第二部分课程设计过程2.1课设软件需求分析设计目的综合运用本课程及网络信息安全的相关知识设计并实现一个应用程序,能够实现无 密钥置换加密,以Visual C+作为开发平台,通过实践复习巩固课堂所学的理论知识, 提高对所学知识的综合应用能力,进一步掌握古典密码体制以及算法。设计要求要求所设计开发的程序能够实现古典加密算法中无密钥置换加密,由用户输入要加 密的明文序列,不需要输入密钥,然后输出加密后的密文序列,要求明文序列能够达到 1000 位。2.2概要设计根据对用户的要求及功能设置可以得到以下的流程图2-1输入明文分绢排列根据
11、置换算法转换矩f A根据转换矩阵输出密文图2-1概要设计流程图2.3源代码#includcclass SubKev定义子密钥为一个类public:int key8 6;subkey16;定义子密钥对象数组class DES判断加密还是解密用户原始输入的64位二进制数除去每行的最后一位校验位存储经PC-1转换后的56位数据int encipher_decipher;int key_in88;int key_out87;int c0_d()87;intc()47J,dO47J;int text|88;int text_ip88;intA48,B48;便于交换int temp8 6;int temp
12、i 8 6;int s_result84;int text_p84;int secret_ip88;void Key_PuttingQ;void PC_1Q;int function(int,int);/异或分别存储cO,dO64位明文经IP转换过后的明文/A,B分别存储经IP转换过后明文的两部分存储经扩展置换后的48位二进制值存储和子密钥异或后的结果存储经S变换后的32位值经P置换后的32位结果经逆IP转换后的密文void SubIcy_Prodiiction();void IP_Convert();void f。; void _IP_Convert();void Out_secret();
13、Key_PuttingO得到密钥中对算法有用的56位请输入64位的密钥(8行8列且每行都得有奇数个l):nM;for(int i=0;ii+)for(int户 0;jv8;j+)kcy_ini j;if(j!=7) key_outij=key_inij;PC_10/PC-1 置换函数intpc_l87=/PC-1);int i,j;7;j+)cO_dOij=key_out (pc_l ij-l)/8 (pc_l ij-l)%8 ;int DES:function(int a,int b)/模拟二进制数的异或运算,a和b为整型的0和1,返回值为整型的。或1if(a!=b)rcturn 1;els
14、e return 0;SubKey_Production()生成子密钥intmove162=( 循环左移的位数1.1.2.1,3.2.4.2,5.2.6.2,7,2,8,2,9.1.10.2,11 ,2,12,2,13.2.14.2,15,2,16,1/PC-2;intpc_286=14,17,11 ,24,1 ,5,3,28,15,6,21 ,1(),23,19,12, 4,26, 8,16, 7, 27, 20 ,13,2,41,52,31,37, 47, 55,30, 40, 51,45, 33,48,44, 49, 39, 56, 34, 53,46, 42, 50, 36, 29, 3216;i+)生成子密钥(int j,k;inta2,b2;int bb28,cc28;fo 町=0;jv4;j+)fcr(k = 0;kv7;k+)cOjk=cO_dOjk;for(j=4;k+)doo-4k=co_dogk;
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1