还剩11页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
《网络信息安全》课程设计报告专业小组组长:小组成员指导老师完成日期目录第一部分课程设计准备课程设计题目
1.13成员分工lo23课题背景及意义lo33第二部分课程设计过程4实验平台介绍lo3课设软件需求分析210设计目的2o
1.12o2概要设计设计要求2o lo2源代码2o3调试分析过程描述2o
4112.41程序输入110检验程序执行
2.
4.2这学期我们学习了《网络信息安全》这门课,在XX老师的带领下,我们系统规范得学习了网络信息安全的基础知识、功能等,让我们改变了以前对网络安全简单而肤浅的认识,使我们明白网络安全技术是应对网络威胁的最好手段,使我们明白网络安全的重要性.本次课程设计是在网络信息安全学习的基础上更深得了解掌握古典加密算法中的置换加密算法当今世界正处于信息时代,网络信息安全已经成为我们网络应用过程中非常重要的一点,为了网络信息的安全,一般会采用各种各样的加密解密软件应对来自网络的威胁,通过各种安全协议软件能够最大可能得解决这些威胁,而为了了解加解密算法,我们应当首先了解古典加解密算法.这次课设的目的就是开发一款无密钥置换加密软件,让更多的人了解加解密算法,以应对越来越多的网络安全威胁经过这些天的设计开发,无密钥的置换加密软件基本开发完毕本软件基本达到了设计要求能够实现古典加密算法中无密钥置换加密,由用户输入要加密的明文序列,不需要输入密钥,然后输出加密后的密文序列,明文序列能够达到1000位本次课程设计是分组讨论和制作的在制作的过程中,我们学到的不仅仅是知识,我们还认识许多事情这次设计对我们的综合能力是一次很好的锻炼,使我们的动手能力提高了一大步,同时也使我们充分认识到合作的可贵在我们所开发的无密钥的置换加密软件,能够完成基本的加密要求,通过分析、编写程序、测试程序等步骤完成课程设计.最后按照吕老师的要求写成文档,从中也对WORD的运用提高的很多但是该软件还有许多不足的地方,还有许多东西有待完善还有就是我们对网络知识的掌握有限或者不牢固,许多地方概念还是不清楚,无密钥的置换加密软件达到了基本要求,但是有待进一步改善,希望老师给予批评本次设计小组由九名成员组成,每个成员能够根据自己的职能积极完成自己的任务,同时小组成员之间能够通过互相帮助、集体讨论等方式一步步完成设计,这是难能可贵的,在本次实际的过程中大家真正感受到了集体的智慧与团结的力量.在设计的过程中我们确实遇到了许许多多的问题,从课本上最基本的问题到整个系统的问题都是我们前进的绊脚石,当遇到这些问题的时候我们一般会采取集体讨论的方法解决问题,或者上网寻求解决,有时实在搞不懂就向吕老师请教,在团队的努力以及吕老师的指导下我们最终完成了设计,我想这是我们的成果也是老师的成果,感谢老师给我们这次机会,让我们在不断地磨砺中快速成长起来.附录:lo参考资料:吕林涛《网络信息安全技术概论》科学出版社网络资料http//wwwo csdn.net
1.1无密钥的置换加密软件开发成员分工
1.2XXX负责人员组织、总体设计、撰稿排版XXX软件测试分析、运行维护XXX负责本次课设概要分析、需求分析XXX负责源代码的编写、修改、调试XXX负责课程设计准备部分、设备支持课题背景及意义
1.3当今世界正处于信息时代,网络信息安全已经成为我们网络应用过程中非常重要的一点,为了网络信息的安全,一般会采用各种各样的加密解密软件应对来自网络的威胁,通过各种安全协议软件能够最大可能得解决这些威胁,而为了了解加解密算法,我们应当首先了解古典加解密算法这次课设的目的就是开发一款无密钥置换加密软件,让更多的人了解加解密算法,以应对越来越多的网络安全威胁实验平台介绍lo4Visual C++(简称VC)是Microsoft公司推出的目前使用极为广泛的基于Windows平台的C++可视化开发环境VC基于C,C++语言,主要由是MFC组成,是与系统联系非常紧密的编程工具,它兼有高级,和低级语言的双重性,功能强大,灵活,执行效率高,几乎可说VC在Windows平台无所不能.VC主要是针对Windows系统,适合一些系统级的开发,可以方便实现一些底层的调用在VC里边嵌入汇编语言很简单当对系统性能要求很高的时候,可用VC开发VC在多线程、网络通信、分布应用方面,有着不可比拟的优势第二部分课程设计过程课设软件需求分析
2.1设计目的2o lo1综合运用本课程及网络信息安全的相关知识设计并实现一个应用程序,能够实现无密钥置换加密,以Visual C++作为开发平台,通过实践复习巩固课堂所学的理论知识,提高对所学知识的综合应用能力,进一步掌握古典密码体制以及算法设计要求
2.
1.2要求所设计开发的程序能够实现古典加密算法中无密钥置换加密,由用户输入要加密的明文序列,不需要输入密钥,然后输出加密后的密文序列,要求明文序列能够达到1000位概要设计2o2根据对用户的要求及功能设置可以得到以下的流程图2—1输入明文分组排万||根据置换算法转换矩根据转换矩阵输出密文图2-1概要设计流程图源代码
2.3#includeiostream hoclassSubKeypublic int key
[8]
[6];〃定义子密钥对象数组}subkey
[16];class DES{〃判断加密还是解密int encipher_decipher;〃用户原始输入的64位二进制数int key_in
[8]
[8];〃除去每行的最后一位校验位intkey_out
[8]
[7];〃存储经PC-1转换后的56位数据int cO_dO
[8]
[7];〃分别存储cO,dOint c0
[4]
[7],d0
[4]
[7];〃64位明文int text
[8]
[8];〃经IP转换过后的明文int textip
[8]
[8];//A,B分别存储经IP转换过后int A
[4]
[8],B
[4]
[8];明文的两部分,便于交换〃存储经扩展置换后的48位二进int temp
[8]
[6];制值〃存储和子密钥异或后的结果int tempi
[8]
[6];〃存储经S变换后的32位值int s_result
[8]
[4];〃经P置换后的32位结果int text_p
[8]
[4];int secret_ip
[8]
[8];public:void Key Putting;void PC_1;〃定义子密钥为一个类void SubKey_Production;void IPConvert;void f;void_IP_Convert;void Out_secret;;void DES:KeyPutting〃得到密钥中对算法有用的56位{cout〈”请输入64位的密钥8行8列且每行都得有奇数个1\n”;forint i=0;i8;i++forint j=0;j8;j++{cin key_in[i][j];ifj!=7key_out[i][j]=key_in[i][j];void DES:PC_1〃PC-1置换函数{int pc_l
[8]
[7]={//PC一1;int i,j;for i=0;i8;i++for j=0;j7;j++cO_dO[i]Lj]=key_out[pc_l Ei][j]-1/8][pc_l[i][j]-1%8];}int DES::function inta,int b〃模拟二进制数的异或运算,a和b为整型的0和1,返回值为整型的0或1if a!=breturn1;else return0;void DES:SubKey_Production〃生成子密钥int move
[16]
[2]={〃循环左移的位数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,1int pc_2
[8]
[6]={//PC—214,17,11,24,1,5,3,28,15,6,21,10,23,19,12,4,26,8,16,7,27,20,132,41,52,31,37,47,55,30,40,51,45,33,48,44,49,39,56,34,53,46,42,50,36,29,32for int i=0;i16;i++〃生成子密钥cc〔7*j+k〕Udo〔j〕〔k〕;}forj=o;j〈move〔n〔11{a〔j〕Hbb〔jLb「for j〈28move〔i〕〔1〕“bb〔j〕Hbb〔j+1〕;cc〔jvcc〔j+l〕;j〈move〔i〕〔1〕{bb〔27—j〕ua〔j〕」cc〔27—j〕FHQrofFuj;Lccvj——++j++j{++jintjk;intbb〔28Lcc=28一;inta〔2〕,b〔2〕c forjuoj〈4;j++forkH0;kcO〔j〕〔k〕=co—do匚〕〔k〕〈7forjH4;j〈8;j++forknFk匚〕〔k〕〔j〕〔kJ〈7;k++for〈4for k〈7Cbb〔7*j+k〕HC0〔j〕〔k〕;++k;od—4d—ocH++kjFuj++j Fukforj=0;j28;j++{c0[j/7][j%7]=bb[j];d0[j/7][j%7]=cc[j];}forj=0;j4;j++//L123——L128是把cO,dO合并成cO_dOfor k=0;k7;k++cO_dO[j][k]=cO[j]Ek];forj=4;j8;j++fork=0;k〈7;k++cO_dO[j]Lk]=dO[j—4][k];forj=0;j8;j++〃对Ci,Di进行PC-2置换for k=0;k〈6;k++subkey[i].key[j][k]=cO_dO[pc_2[j][k]—1/7][pc_2[j]Ek]-1%7];void DES:IP_Convertint IP
[8]
[8]={〃初始置换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,65,49,41,33,25,17,9,1,66,51,43,35,27,19,11,3,61,53,45,37,29,21,13,5,63,55,47,39,31,23,15,7;cout〈你好,你要加密还是解密加密请按1号键输入1,解密请按2号键,并确定.”〈‘\n;cin encipher_decipher;char*s;if encipher_decipher-1s=明文;else s=密文;cout«请输入64位〃s〈〈”二进制:\n;inti,j;fori=0;i8;i++forj=0;j8;j++cin text[i][j];for i=0;i〈8;i++〃进行IP变换forj=0;j8;j++text_ip[i][j]=text[IP[i][j]-1/8][IP[i][j]—1%8];调试分析过程描述
2.4程序输入
2.4o1图2—2程序输入
(一)图2-3程序输入
(二)图2-4程序输入
(三)图2—5程序输入
(四)图2—6程序输入
(五)检验程序执行
2.
4.2图2—7检测程序执行
(一)图2—8检测程序执行
(二)图2-9检测程序执行
(三)。