ImageVerifierCode 换一换
格式:DOCX , 页数:12 ,大小:20.37KB ,
资源ID:8941199      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/8941199.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(《网络信息安全》课程设计报告.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

《网络信息安全》课程设计报告.docx

1、网络信息安全课程设计报告网络信息安全课程设计报告 专 业: 小组组长: 小组成员: 指导老师: 完成日期:第一部分 课程设计准备1.1 课程设计题目31。2 成员分工31。3 课题背景及意义31。4 实验平台介绍3第二部分 课程设计过程2。1 课设软件需求分析42。1.1 设计目的 42。1。2 设计要求 42。2 概要设计 42。3 源代码 52。4 调试分析过程描述112.4。1 程序输入112.4.2 检验程序执行12第三部分 课程设计体会课程设计心得体会 14附录 15第一部分 课程设计准备1.1 课程设计题目:无密钥的置换加密软件开发1.2 成员分工:xxx:负责人员组织、总体设计、

2、撰稿排版xxx:软件测试分析、运行维护xxx:负责本次课设概要分析、需求分析xxx:负责源代码的编写、修改、调试xxx:负责课程设计准备部分、设备支持1.3 课题背景及意义当今世界正处于信息时代,网络信息安全已经成为我们网络应用过程中非常重要的一点,为了网络信息的安全,一般会采用各种各样的加密解密软件应对来自网络的威胁,通过各种安全协议软件能够最大可能得解决这些威胁,而为了了解加解密算法,我们应当首先了解古典加解密算法。这次课设的目的就是开发一款无密钥置换加密软件,让更多的人了解加解密算法,以应对越来越多的网络安全威胁。1。4 实验平台介绍Visual C+(简称VC)是Microsoft公司

3、推出的目前使用极为广泛的基于Windows平台的C+可视化开发环境。VC基于C,C+语言,主要由是MFC组成,是与系统联系非常紧密的编程工具,它兼有高级,和低级语言的双重性,功能强大,灵活,执行效率高,几乎可说VC在Windows平台无所不能.VC主要是针对Windows系统,适合一些系统级的开发,可以方便实现一些底层的调用。在VC里边嵌入汇编语言很简单。当对系统性能要求很高的时候,可用VC开发。VC在多线程、网络通信、分布应用方面,有着不可比拟的优势。第二部分 课程设计过程2.1 课设软件需求分析2。1。1 设计目的综合运用本课程及网络信息安全的相关知识设计并实现一个应用程序,能够实现无密钥

4、置换加密,以Visual C+作为开发平台,通过实践复习巩固课堂所学的理论知识,提高对所学知识的综合应用能力,进一步掌握古典密码体制以及算法。2.1.2 设计要求要求所设计开发的程序能够实现古典加密算法中无密钥置换加密,由用户输入要加密的明文序列,不需要输入密钥,然后输出加密后的密文序列,要求明文序列能够达到1000位。2。2 概要设计根据对用户的要求及功能设置可以得到以下的流程图21根据转换矩阵输出密文根据置换算法转换矩阵输入明文分组排列 图2-1 概要设计流程图2.3 源代码includeiostream。hclass SubKey /定义子密钥为一个类public:int key86;s

5、ubkey16; /定义子密钥对象数组class DESint encipher_decipher; /判断加密还是解密int key_in88; /用户原始输入的64位二进制数int key_out87; /除去每行的最后一位校验位int c0_d087; /存储经PC1转换后的56位数据 int c047,d047; /分别存储c0,d0 int text88; /64位明文int text_ip88; /经IP转换过后的明文 int A48,B48; /A,B分别存储经IP转换过后明文的两部分,便于交换 int temp86; /存储经扩展置换后的48位二进制值int temp186;

6、/存储和子密钥异或后的结果 int s_result84; /存储经S变换后的32位值int text_p84; /经P置换后的32位结果int secret_ip88; /经逆IP转换后的密文public:void Key_Putting(); void PC_1();int function(int,int); /异或void SubKey_Production(); void IP_Convert();void f(); void _IP_Convert(); void Out_secret();void DES::Key_Putting() /得到密钥中对算法有用的56位 coutke

7、y_inij; if(j!=7) key_outij=key_inij;void DES::PC_1() /PC-1置换函数int pc_187= /PC1 ; int i,j;for(i=0;i8;i+) for(j=0;j7;j+) c0_d0ij=key_out (pc_1ij-1)/8 (pc_1ij-1)%8 ;int DES:function(int a,int b) /模拟二进制数的异或运算,a和b为整型的0和1,返回值为整型的0或1 if(a!=b)return 1; else return 0;void DES::SubKey_Production() /生成子密钥int m

8、ove162= /循环左移的位数 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 ;int pc_286= /PC2 14, 17 ,11 ,24 , 1 , 5, 3 ,28 ,15 , 6 ,21 ,10, 23, 19, 12, 4, 26, 8, 16, 7, 27, 20 ,13 , 2, 41, 52, 31, 37, 47, 55, 30, 40, 51, 45, 33, 48,

9、 44, 49, 39, 56, 34, 53, 46, 42, 50, 36, 29, 32 ; for(int i=0;i16;i+) /生成子密钥 int j,k; int a2,b2; int bb28,cc28;for(j=0;j4;j+) for(k=0;k7;k+) c0jk=c0_d0jk;for(j=4;j8;j+) for(k=0;k7;k+) d0j-4k=c0_d0jk;for(j=0;j4;j+) for(k=0;k7;k+) bb7j+k=c0jk; cc7*j+k=d0jk; for(j=0;jmovei1;j+) aj=bbj; bj=ccj; for(j=0;

10、j28movei1;j+)bbj=bbj+1; ccj=ccj+1; for(j=0;jmovei1;j+)bb27j=aj; cc27-j=bj; for(j=0;j28;j+) c0j/7j7=bbj;d0j/7j7=ccj; for(j=0;j4;j+) /L123L128是把c0,d0合并成c0_d0 for(k=0;k7;k+) c0_d0jk=c0jk; for(j=4;j8;j+)for(k=0;k7;k+) c0_d0jk=d0j4k;for(j=0;j8;j+) /对Ci,Di进行PC-2置换 for(k=0;k6;k+) subkeyi.keyjk=c0_d0 (pc_2j

11、k1)/7 (pc_2jk1)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, 5, 63, 55, 47, 39, 31, 23,

12、 15, 7 ; cout”你好,你要加密还是解密?加密请按1号键(输入1),解密请按2号键,并确定.”encipher_decipher; char * s; if(encipher_decipher=1) s=明文”; else s=”密文; cout”请输入64位s”(二进制):n”; int i,j; for(i=0;i8;i+) for(j=0;jtextij; for(i=0;i8;i+) /进行IP变换 for(j=0;j8;j+) text_ipij=text (IPij-1)/8 (IPij1)8 ;2.4 调试分析过程描述2.4。1 程序输入图22 程序输入(一)图2-3

13、程序输入(二)图2-4 程序输入(三)图25 程序输入(四)图26 程序输入(五)2.4.2 检验程序执行图27 检测程序执行(一)图28 检测程序执行(二)图2-9 检测程序执行(三)第三部分 课程设计心得体会这学期我们学习了网络信息安全这门课,在xx老师的带领下,我们系统规范得学习了网络信息安全的基础知识、功能等,让我们改变了以前对网络安全简单而肤浅的认识,使我们明白网络安全技术是应对网络威胁的最好手段,使我们明白网络安全的重要性.本次课程设计是在网络信息安全学习的基础上更深得了解掌握古典加密算法中的置换加密算法。当今世界正处于信息时代,网络信息安全已经成为我们网络应用过程中非常重要的一点

14、,为了网络信息的安全,一般会采用各种各样的加密解密软件应对来自网络的威胁,通过各种安全协议软件能够最大可能得解决这些威胁,而为了了解加解密算法,我们应当首先了解古典加解密算法.这次课设的目的就是开发一款无密钥置换加密软件,让更多的人了解加解密算法,以应对越来越多的网络安全威胁。经过这些天的设计开发,无密钥的置换加密软件基本开发完毕。本软件基本达到了设计要求:能够实现古典加密算法中无密钥置换加密,由用户输入要加密的明文序列,不需要输入密钥,然后输出加密后的密文序列,明文序列能够达到1000位。本次课程设计是分组讨论和制作的。在制作的过程中,我们学到的不仅仅是知识,我们还认识许多事情。这次设计对我

15、们的综合能力是一次很好的锻炼,使我们的动手能力提高了一大步,同时也使我们充分认识到合作的可贵。在我们所开发的无密钥的置换加密软件,能够完成基本的加密要求,通过分析、编写程序、测试程序等步骤完成课程设计.最后按照吕老师的要求写成文档,从中也对WORD的运用提高的很多。但是该软件还有许多不足的地方,还有许多东西有待完善。还有就是我们对网络知识的掌握有限或者不牢固,许多地方概念还是不清楚,无密钥的置换加密软件达到了基本要求,但是有待进一步改善,希望老师给予批评。本次设计小组由九名成员组成,每个成员能够根据自己的职能积极完成自己的任务,同时小组成员之间能够通过互相帮助、集体讨论等方式一步步完成设计,这是难能可贵的,在本次实际的过程中大家真正感受到了集体的智慧与团结的力量.在设计的过程中我们确实遇到了许许多多的问题,从课本上最基本的问题到整个系统的问题都是我们前进的绊脚石,当遇到这些问题的时候我们一般会采取集体讨论的方法解决问题,或者上网寻求解决,有时实在搞不懂就向吕老师请教,在团队的努力以及吕老师的指导下我们最终完成了设计,我想这是我们的成果也是老师的成果,感谢老师给我们这次机会,让我们在不断地磨砺中快速成长起来.附录:1。参考资料:吕林涛 网络信息安全技术概论 科学出版社网络资料:http:/2.小组成员: xxxxxxxxxxxxxxxxxxxxx

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1