密码学网络安全实验基本算法AES概论.docx
《密码学网络安全实验基本算法AES概论.docx》由会员分享,可在线阅读,更多相关《密码学网络安全实验基本算法AES概论.docx(23页珍藏版)》请在冰豆网上搜索。
密码学网络安全实验基本算法AES概论
淮海工学院
计算机工程学院
实验报告书
课程名:
《网络安全技术》
题目:
常见的密码算法(DES、
AES、RSA、MD5)
班级:
学号
姓名:
【实验目的】
●理解对称加密算法的原理和特点
●了解非对称加密机制
●理解DES、AES算法的加密原理
●理解RSA算法的加密原理
【实验人数】
每组1人
【系统环境】
Windows
【网络环境】
交换网络结构
【实验工具】
VC++6.0
密码工具
【实验步骤】
一、DES算法
1.DES加密解密
(1)本机进入“密码工具”|“加密解密”|“DES加密算法”|“加密/解密”页签,在明文输入区输入明文:
hello,world
(2)在密钥窗口输入8(64位)个字符的密钥k,密钥k= 19940725。
单击“加密”按钮,将密文导出到DES文件夹(D:
\Work\Encryption\DES\)中,通告同组主机获取密文,并将密钥k告诉同组主机。
(3)单击“导入”按钮,从同组主机的的DES共享文件夹中将密文导入,然后在密钥窗口输入被同组主机通告的密钥k,点击“解密”按钮进行DES解密。
(4)将破解后的明文与同组主机记录的明文比较。
2.DES算法
本机进入“密码工具”|“加密解密”|“DES加密算法”|“演示”页签,向64位明文中输入8个字符(8*8bit=64),向64位密钥中输入8个字符(8*8bit=64)。
点击“加密”按钮。
完成加密操作,分别点击“初始置换”、“密钥生成演示”、“十六轮加密变换”和“终结置换”按钮,查看初始置换、密钥生成演示、十六轮加密变换和终结置换的详细加密操作流程。
二、AES
1.AES加密解密
(1)本机进入“密码工具”|“加密解密”|“AES加密算法”|“加密/解密”页签,在明文输入区输入明文:
hello,world
(2)在密钥窗口输入16(128位)个字符的密钥k,要记住这个密钥以用于解密,密钥k=lijinyi123456789。
单击“加密”按钮,将密文导出到AES文件夹(D:
\Work\Encryption\AES\)中,通告同组主机获取密文,并将密钥k告诉同组主机。
(3)单击“导入”按钮,从同组主机的AES共享文件夹中将密文导入,然后在密钥窗口输入被同组主机通告的密钥k,点击“解密”按钮进行AES解密。
(4)将破解后的明文与同组主机记录的明文比较。
2.AES算法
进入“密码工具”|“加密解密”|“AES加密算法”|“演示”页签。
输入128位明文与密钥,执行加密操作,查看各演示模块。
三、MD5
1.MD5生成文件摘要
(1)本机进入“密码工具”|“加密解密”|“MD5哈希函数”|“生成摘要”页签,在明文框中编辑文本内容:
hello,world!
123456789。
单击“生成摘要”按钮,生成文本摘要:
。
单击“导出”按钮,将摘要导出到MD5共享文件夹(D:
\Work\Encryption\MD5\)中,并通告同组主机获取摘要。
(2)单击“导入摘要”按钮,从同组主机的MD5共享文件夹中将摘要导入。
在文本框中输入同组主机编辑过的文本内容,单击“生成摘要”按钮,将新生成的摘要与导入的摘要进行比较,验证相同文本会产生相同的摘要。
(3)对同组主机编辑过的文本内容做很小的改动,再次生成摘要,与导入的摘要进行对比,验证MD5算法的抗修改性。
二.MD5算法
本机进入“密码工具”|“加密解密”|“MD5哈希函数”|“演示”页签,在明文输入区输入文本(文本不能超过48个字符),单击“开始演示”,查看各模块数据及算法流程。
根据实验原理中对MD5算法的介绍,如果链接变量的值分别为(其中,M[1]=31323334):
A:
2B480E7C
B:
DAEAB5EF
C:
2E87BDD9
D:
91D9BEE8
请写出第2轮第1步的运算过程以及经过运算后的链接变量。
四、RSA
1.RSA生成公私钥及加密解密过程演示
(1)本机进入“密码工具”|“加密解密”|“RSA加密算法”|“公私钥”页签,在生成公私钥区输入素数p和素数q,这里要求p和q不能相等(因为很容易开平方求出p与q的值)并且p与q的乘积也不能小于127(因为小于127不能包括所有的ASCII码,导致加密失败),你选用的素数p与q分别是:
p=157;q=239。
(2)单击“随机选取正整数e”下拉按钮,随机选取e,e=10001。
(3)单击“生成公私钥”按钮生成公私钥,记录下公钥(10001,37523),私钥(20849,37523)。
(4)在公私钥生成演示区中输入素数p=157和素数q=239,还有正整数e=10001。
单击“开始演示”按钮查看结果,填写表3-1-1。
(5)在加/解密演示区中输入明文m=28600,公钥n=37523(m单击“加密演示”按钮,查看RSA加密过程,然后记录得到的密文c=22884。
(6)在密文c编辑框输入刚刚得到的密文,分别输入私钥n=37523,私钥d=20849,点击“解密演示”按钮,查看RSA解密过程,然后记录得到的明文m=28600。
(7)比较解密后的明文与原来的明文是否一致。
根据实验原理中对RSA加密算法的介绍,当素数p=157,素数q=239,正整数e=10001时,写出RSA私钥的生成过程
当公钥e=143时,写出对明文m=40的加密过程(加密过程计算量比较大,请使用密码工具的RSA工具进行计算):
。
利用生成的私钥d,对生成的密文进行解密:
过程如下:
N=pq=13*17=221(n)=12*16=192ed=1mod(n)(143*d)mod192=1d=47
M=200时
2.RSA加密解密
(1)本机在生成公私钥区输入素数p和素数q,这里要求p和q不能相等,并且p与q的乘积也不能小于127,记录你输入的素数,p=17,q=23。
(2)点击“随机选取正整数e:
”下拉按钮,选择正整数e,e=101。
(3)点击“生成公私钥”按钮生成公私钥,记录下公钥e=101,n=391;私钥d=237,n=391。
将自己的公钥通告给同组主机。
(4)本机进入“加密/解密”页签,在“公钥e部分”和“公钥n部分”输入同组主机的公钥,在明文输入区输入明文:
211254。
单击“加密”按钮对明文进行加密,单击“导出”按钮将密文导出到RSA共享文件夹(D:
\Work\Encryption\RSA\)中,通告同组主机获取密文。
(5)进入“加密/解密”页签,单击“导入”按钮,从同组主机的RSA共享文件夹中将密文导入,点击“解密”按钮,切换到解密模式,在“私钥d部分”和“私钥n部分”输入自己的私钥,再次点击“解密”按钮进行RSA解密。
(6)将破解后的明文与同组主机记录的明文比较。
【思考问题】
1.MD5生成摘要的长度是多少位。
MD5是一个哈希函数,能够做到任意长的输入,固定短的输出,输出64位,其中56位有效位。
2.简述RSA的公钥生成算法?
首先知道两个素数p和q,以及一个正整数e,p,q不能相等,且乘积不能小于127,然后按照公式
计算公钥(e,n)。
3.“无法证明RSA算法是安全的”,你认为这句话对吗?
不对,因为RSA是基于困难数学问题研发的,没有绝对安全的密码算法,但是,如果破解密码的代价高于信息本身那就是安全的。
4.在AES加密的10轮循环中,前9轮与第10轮有什么不同?
前9轮加密过程中,每一轮子加密过程包括4种不同的变换,而最后一轮只有3种变换。
5.“AES算法和DES算法一样,都是对比特进行操作从而完成加密的”,你认为这句话对吗?
不对,因为DES实际是对56比特进行操作,而且DES和AES算法不一样。
6.DES每一个明文分组的长度是多少位?
这个明文分组加密后的密文是多少位?
DES每一个明文分组的长度是64位,加密后是64位
7.在DES算法的各种置换中,哪个置换为DES提供了最好的安全性?
S盒置换为DES提供了最好的安全性。
8.DES的S盒在设计时就能够防止某些类型的攻击,当1991年Biham和Shamir发现的差分攻击的方法时,美国国家安全局就已承认某些未公布的S盒设计原则正是为了使得差分密码分析变得不可行。
也就是说,差分密码分析在DES最初被研发时就已为IBM的研发者所知,但是这种方法却被保密了将近20年,直到Biham和Shamir又独立地发现了这种攻击。
目前,DES加密方法已经被认为是不安全的了,请同学查阅相关资料,列出两种DES的分析方法。
答:
差分分析法、线性分析法。
五、结果分析与实验体会
这次的实验使我了解到了AES算法DES算法以及MD5算法RSA算法的实现原理,对于这些算法有了初步的理解。