欢迎来到天天文库
浏览记录
ID:55612531
大小:78.00 KB
页数:8页
时间:2020-05-19
《网络安全实验――对称加密算法.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、《网络安全》实验指导书对称加密算法一、实验目的1、熟悉和掌握对称加密算法的原理及其一般过程;2、掌握对称加密算法的基本方法:替代(substitute)与置换(transposition);3、掌握使用一定的编码开发工具(对具体的开发平台和工具不作要求)。二、实验内容1、替代加密法1)编程实现课本习题2.1的线形替代加密方法的破解(提示:可使用穷举法);(已知替代变换函数f(a)=akmod26,且9kmod26=15,试计算k)2)破解后,实现该方法的加密运算(输入明文,输出密文)和解密运算(输入密文,输出明文)(解密运算提示:设密钥为k,密文为c,明文为m,则有m*kmod26=c,因为m
2、<26且唯一,同样可使用穷举法搜索出m);3)加密字符串“substitute”,输出密文;4)(可选)推导解密密码本,即明文与密文字母的一一对应关系。2、置换加密法1)给定置换表“”,编程实现基于该表的加密运算;2)加密字符串“transposition”,输出密文(提示:如字符串长度不是8的倍数,则需在字符串结尾后填充空格,使得其总长度为8的倍数);3)参照课本表2-1和表2-8的关系,推导逆置换表,并编程实现相应的解密运算。三、程序清单1、初始并定义程序所用的主要的参数boolfound=false;//标记k是否被求出boolff=false;//标记密码本是否被求出staticint
3、CodeBook[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;//输入的明文2、替代加/解密算法1)计算kvoid_mod_k()//求出K{inti=1;while(!found){if(9*i%26==15){found=true;k=i;}i++;}cou
4、t<<"k="<5、码本为:";charc;for(i=0;i<26;i++){t=i*kd%26;CodeBook[i]=t;c=i+97;cout<='1'6、7、aa.at(i)<='9'){cout<8、ut<<"此加密法只能对字母进行加密!"<9、){cout<='1'10、11、cc.at(i)<='9'){cout<
5、码本为:";charc;for(i=0;i<26;i++){t=i*kd%26;CodeBook[i]=t;c=i+97;cout<='1'
6、
7、aa.at(i)<='9'){cout<8、ut<<"此加密法只能对字母进行加密!"<9、){cout<='1'10、11、cc.at(i)<='9'){cout<
8、ut<<"此加密法只能对字母进行加密!"<9、){cout<='1'10、11、cc.at(i)<='9'){cout<
9、){cout<='1'
10、
11、cc.at(i)<='9'){cout<
此文档下载收益归作者所有