欢迎来到天天文库
浏览记录
ID:47970544
大小:285.01 KB
页数:14页
时间:2020-01-18
《网络安全课程设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、网络安全课程设计实验名称:网络安全管理设计班级:网络****学号:***姓名:****指导老师:****2012年9月26日13《网络安全》实验指导书对称加密算法一、实验目的1、熟悉和掌握对称加密算法的原理及其一般过程;2、掌握对称加密算法的基本方法:替代(substitute)与置换(transposition);3、掌握使用一定的编码开发工具(对具体的开发平台和工具不作要求)。二、实验内容1、替代加密法1)编程实现课本习题2.1的线形替代加密方法的破解(提示:可使用穷举法);(已知替代变换函数f(a)=akmod26,且9kmod26=15,试计算k)2)破解后,实现该方法
2、的加密运算(输入明文,输出密文)和解密运算(输入密文,输出明文)(解密运算提示:设密钥为k,密文为c,明文为m,则有m*kmod26=c,因为m<26且唯一,同样可使用穷举法搜索出m);3)加密字符串“substitute”,输出密文;4)(可选)推导解密密码本,即明文与密文字母的一一对应关系。2、置换加密法1)给定置换表“86427531”,编程实现基于该表的加密运算;2)加密字符串“transposition”,输出密文(提示:如字符串长度不是8的倍数,则需在字符串结尾后填充空格,使得其总长度为8的倍数);3)参照课本表2-1和表2-8的关系,推导逆置换表,并编程实现相应的
3、解密运算。三、程序清单1、初始并定义程序所用的主要的参数boolfound=false;//标记k是否被求出boolff=false;//标记密码本是否被求出staticintCodeBook[26];//替代加密法的明文本staticcharCodeBookStr[26];//替代解密法的密码本inttrsp[8]={7,5,3,1,6,4,2,0};//置换加密所用的数组intrev_trsp[8]={7,3,6,2,5,1,4,0};//置换解密所用的数组staticcharc[26];//由明文转的密文stringcc;//输入的密文intk;stringaa;//输入
4、的明文2、替代加/解密算法131)计算kvoid_mod_k()//求出K{inti=1;while(!found){if(9*i%26==15){found=true;k=i;}i++;}cout<<"k="<5、=9)f=true;i++;}intkd=i-1;//Des:x=y*kdmod26cout<6、加密算法void_subst(stringaa,intlen)//替代加密{inti;for(i=0;i='1'7、8、aa.at(i)<='9'){cout<9、.at(i);intm=c[i]-97;m=m*k%26;//Encryptm+=97;c[i]=m;cout<
5、=9)f=true;i++;}intkd=i-1;//Des:x=y*kdmod26cout<6、加密算法void_subst(stringaa,intlen)//替代加密{inti;for(i=0;i='1'7、8、aa.at(i)<='9'){cout<9、.at(i);intm=c[i]-97;m=m*k%26;//Encryptm+=97;c[i]=m;cout<
6、加密算法void_subst(stringaa,intlen)//替代加密{inti;for(i=0;i='1'
7、
8、aa.at(i)<='9'){cout<9、.at(i);intm=c[i]-97;m=m*k%26;//Encryptm+=97;c[i]=m;cout<
9、.at(i);intm=c[i]-97;m=m*k%26;//Encryptm+=97;c[i]=m;cout<
此文档下载收益归作者所有