欢迎来到天天文库
浏览记录
ID:51850049
大小:108.50 KB
页数:8页
时间:2020-03-16
《网络安全实验——对称加密算法.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、《网络安全》实验指导书对称加密算法一、实验目的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[
4、26];//由明文转的密文stringcc;//输入的密文intk;stringaa;//输入的明文2、替代加/解密算法1)计算kvoid_mod_k()//求出K{inti=1;while(!found){if(9*i%26==15){found=true;k=i;}i++;}cout<<"k="<5、ut<<"请先执行上层的步骤1求出k"<6、c<<"";}cout<='1'7、8、aa.at(i)<='9'){cout<9、endl;return;}}if(!found){cout<10、ntlen)//穷举法解码{if(!found){cout<='1'11、12、cc.at(i)<='9'){cout<
5、ut<<"请先执行上层的步骤1求出k"<6、c<<"";}cout<='1'7、8、aa.at(i)<='9'){cout<9、endl;return;}}if(!found){cout<10、ntlen)//穷举法解码{if(!found){cout<='1'11、12、cc.at(i)<='9'){cout<
6、c<<"";}cout<='1'
7、
8、aa.at(i)<='9'){cout<9、endl;return;}}if(!found){cout<10、ntlen)//穷举法解码{if(!found){cout<='1'11、12、cc.at(i)<='9'){cout<
9、endl;return;}}if(!found){cout<10、ntlen)//穷举法解码{if(!found){cout<='1'11、12、cc.at(i)<='9'){cout<
10、ntlen)//穷举法解码{if(!found){cout<='1'
11、
12、cc.at(i)<='9'){cout<
此文档下载收益归作者所有