网络安全课程设计---对称加密算法
网络安全课程设计
实验名称: 网络安全管理设计
班 级: 网络****
学 号: ***
姓 名: ****
指导老师: ****
2012 年 9 月 26 日
《网络安全》实验指导书
对称加密算法
一、实验目的
1、熟悉和掌握对称加密算法的原理及其一般过程;
2、掌握对称加密算法的基本方法:替代(substitute)与置换(transposition); 3、掌握使用一定的编码开发工具(对具体的开发平台和工具不作要求)。
二、实验内容
1、替代加密法
1)编程实现课本习题2.1的线形替代加密方法的破解(提示:可使用穷举法);
(已知替代变换函数f(a)=ak mod 26,且9k mod 26=15,试计算k)
2)破解后,实现该方法的加密运算(输入明文,输出密文)和解密运算(输入
密文,输出明文)(解密运算提示:设密钥为k,密文为c,明文为m,则有
m*k mod 26=c,因为m<26且唯一,同样可使用穷举法搜索出m);
3)加密字符串“substitute”,输出密文;
)(可选) 推导解密密码本,即明文与密文字母的一一对应关系。 4
2、置换加密法
1) 给定置换表“86427531”,编程实现基于该表的加密运算;
2) 加密字符串“transposition”,输出密文(提示:如字符串长度不是8的倍数,
则需在字符串结尾后填充空格,使得其总长度为8的倍数);
3) 参照课本表2-1和表2-8的关系,推导逆置换表,并编程实现相应的解密运
算。
三、程序清单
1、初始并定义程序所用的主要的参数
bool found = false; //标记k是否被求出
bool ff = false; //标记密码本是否被求出
static int CodeBook[26]; //替代加密法的明文本
static char CodeBookStr[26]; //替代解密法的密码本
int trsp[8]={7,5,3,1,6,4,2,0}; //置换加密所用的数组
int rev_trsp[8]={7,3,6,2,5,1,4,0}; //置换解密所用的数组
static char c[26]; //由明文转的密文
string cc; //输入的密文
int k;
string aa; //输入的明文
2、替代加/解密算法
1
1) 计算k
void _mod_k()//求出K
{
int i = 1;
while (!found)
{
if ( 9*i % 26 == 15 )
{
found = true;
k = i;
}
i++;
}
cout<<" k = "<='1' || aa.at(i)<='9')
{
cout<='1' || cc.at(i)<='9')
{
"; cout<='1' || cc.at(i)<='9')
{
cout< server setting -> service config -> iptables
, 熟悉使用netstat命令分析当前的网络连接状态
2、配置Linux的系统防火墙
1)A: start -> system setting -> security level -> enable ftp(only),允许系统建立ftp
连接
10
2)B: ftp测试之 (使用user psw ls lcd get等命令)
3)A: start -> system setting -> security level -> disable ftp,禁止系统建立ftp连接 4)B测试之
3、使用iptables命令配置防火墙,熟悉几类基本过滤原则的配置方法(有关ftp的操作,必须确认系统允许建立ftp连接,因其优先级高于iptables的过滤) 0> 备份 /etc/sysconfig/iptables
1> 阻塞某IP的连接
A: 阻塞
# iptables -A INPUT -s 192.168.3.42 -j DROP B: ping,测试之
A: 取消阻塞
# iptables -D INPUT -s 192.168.3.42 -j DROP
11
B: ping,测试之
(以下只列出实验过程的关键步骤,其他命令与测试请在实验过程中补足)
2>阻塞某网段的连接
A: # iptables -A INPUT -s 192.168.3.1/24 -j DROP
A: # iptables -D INPUT -s 192.168.3.1/24 -j DROP
3>阻塞某协议的连接,如icmp
A:# iptables -A INPUT -p icmp -j DROP B: ping,测试之
A:# iptables -D INPUT -p icmp -j DROP
4> 阻塞某端口的连接,如ftpcmd使用的21端口
A:# iptables -A INPUT -p tcp --dport 21 -j DROP B: ftp,测试之
A:# iptables -D INPUT -p tcp --dport 21 -j DROP
5>阻塞连接请求(选做,须较熟悉ftp模式;因系统已允许ftp的命令连接,iptables
只能控制数据连接,即非21端口的建立)
5.1 阻塞本机到外部的连接
A:# iptables -A OUTPUT -p tcp --syn -j DROP B: ftp,使用port模式get文件(port模式:服务器发起数据连接)
A:# iptables -D OUTPUT -p tcp --syn -j DROP
5.2阻塞本机到外部的连接-2
A:# iptables -A OUTPUT -p tcp --syn -j DROP A: 尝试使用其他方法主动连接B的服务
A:# iptables -D OUTPUT -p tcp --syn -j DROP
12
5.3 阻塞外部主机到本机的连接
A:# iptables -A INPUT -p tcp --syn -j DROP
B: ftp,使用pasv模式get文件(pasv模式:客户端发起数据连接)
A:# iptables -D INPUT -p tcp --syn -j DROP
>选择以上若干实验步骤,使用iptables动作REJECT代替DROP,比较它们6
的区别,思考使用DROP的优点。
>(选学)从‘iptables参考手册’ 选学-m state、-m limit、-m mac、-m owner7
等配置选项。
8>结束iptables命令实验,恢复 /etc/sysconfig/iptables
13
本文档为【网络安全课程设计---对称加密算法】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。