网络安全课程设计Word文件下载.docx
- 文档编号:15753783
- 上传时间:2022-11-15
- 格式:DOCX
- 页数:16
- 大小:228.51KB
网络安全课程设计Word文件下载.docx
《网络安全课程设计Word文件下载.docx》由会员分享,可在线阅读,更多相关《网络安全课程设计Word文件下载.docx(16页珍藏版)》请在冰豆网上搜索。
1、替代加密法
1)编程实现课本习题2.1的线形替代加密方法的破解(提示:
可使用穷举法);
(已知替代变换函数f(a)=akmod26,且9kmod26=15,试计算k)
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的关系,推导逆置换表,并编程实现相应的解密运算。
三、程序清单
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;
//输入的明文
2、替代加/解密算法
1)计算k
void_mod_k()//求出K
{
inti=1;
while(!
found)
{
if(9*i%26==15)
{
found=true;
k=i;
}
i++;
}
cout<
<
"
k="
k<
endl;
}
2)计算解密密码本
void_find_ma()//求出解密密码本
if(!
{
cout<
endl<
notfindk"
cout<
小提示:
;
请先执行上层的步骤1求出k"
return;
}
ff=true;
inti=1;
boolf=false;
while(!
f)
if(15*i%26==9)
f=true;
i++;
intkd=i-1;
//Des:
x=y*kdmod26
k;
1/k="
kd<
intt;
解密密码本为:
charc;
for(i=0;
i<
26;
i++)
t=i*kd%26;
CodeBook[i]=t;
c=i+97;
c<
"
c=t+97;
CodeBookStr[i]=c;
3)替代加密算法
void_subst(stringaa,intlen)//替代加密
inti;
len;
if(aa.at(i)>
='
1'
||aa.at(i)<
9'
)
{
cout<
此加密法只能对字母进行加密!
return;
}
if(!
密码为:
c[i]=aa.at(i);
intm=c[i]-97;
m=m*k%26;
//Encrypt
m+=97;
c[i]=m;
c[i];
4)替代穷举解密算法
void_oneto_one(intlen)//穷举法解码
inti;
if(cc.at(i)>
||cc.at(i)<
此解密法只能对字母进行解密!
明文为:
c[i]=cc.at(i);
inta=0;
if(m==a*k%26)
f=true;
a++;
a+=96;
//97-1
c[i]=a;
5)替代密码本解密算法
void_ben(intlen)//密码本解密
ff)
notfind密码本"
请先执行上层的步骤2求出密码本"
intidx=cc.at(i)-97;
CodeBookStr[idx];
3、置换加/解密算法
1)置换加密算法
void_trans_a(stringaa,intlen)//置换加密
intl=8-len%8;
strings=aa;
while(l)
s+="
l--;
l=s.length()/8;
strings1,s2;
intj,k,n;
for(j=0;
j<
l;
j++)
s1=s.substr(j*8,8);
s2="
for(k=0;
k<
8;
k++)
n=trsp[k];
s2+=s1.substr(n,1);
s2;
2)置换解密算法
void_trans_j(intlen)//置换解密
if(len%8)
请输入长度为8的倍数的字符串解密"
return;
strings=cc;
intj,k,n,l=len/8;
n=rev_trsp[k];
4、程序处理流程
四、运行结果
1、计算k
2、计算替代解密密码本
3、加密
4、解密
基于iptables的Linux防火墙
1、熟悉和掌握TCP/IP协议的基础概念和方法;
2、掌握防火墙的概念、功能分类
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 网络安全 课程设计