AES密码学实验报告Word文档格式.docx
《AES密码学实验报告Word文档格式.docx》由会员分享,可在线阅读,更多相关《AES密码学实验报告Word文档格式.docx(5页珍藏版)》请在冰豆网上搜索。
【实验目的】
1.掌握AES算法的基本原理
2.了解AES算法的详细步骤
【实验环境】
1.本试验需要密码教学实验系统的支持
2.操作系统为Windows2000或者WindowsXP
【实验内容】
1.掌握AES算法的原理及过程
2.完成AES密钥扩展运算
3.完成AES数据加密运算
【实验步骤】
1.打开“AES理论学习”,掌握DES算法的加解密原理;
2.打开“AES算法流程”,开始DES单步加密实验,如图10-1;
3.选择密钥输入为ASCII码或十六进制码模式,输入密钥;
若为ASCII码模式,则输入8个字符的ASCII码;
若为十六进制码模式,则输入16个字符的十六进制码(0~9,a~f,A~F);
4.点击“字节矩阵”按钮,将输入的密钥转化为密钥字节矩阵,从左至右每一列依次为W0,W1,W2,W3;
5.依次点击“RotWord”、“SubWord”、“轮常量异或”,对W3依次进行“循环移位”、“S盒”、“轮常量异或”操作并与W0异或得到W4,;
6.点击“异或”按钮,使得W1与W4进行异或得到W5
7.点击“生成W6和W7”按钮,生成W6和W7
8.点击“生成所有轮密钥”按钮,生成1~10轮轮密钥
9.进入第二部分——加密,选择加密输入为ASCII码或十六进制码模式,输入明文;
10.点击“字节矩阵”按钮,将输入明文转化为明文字节矩阵;
11.点击“AddRoundKey”按钮,使明文字节矩阵与密文字节矩阵进行逐比特异或;
12.接下来进行第一轮操作,依次点击“SubBytes”、“ShiftRows”、“MixColumns”、“AddRoundKeys”按钮,对经过轮密钥加操作的字节矩阵依次进行字节替换、行移位、列混合和逐字节异或操作,得到新的字节矩阵;
13.对上一步得到的结果连续进行8轮上一步的四步操作得到新的字节矩阵;
14.第十轮的时候依次进行字节替换、行移位、轮密钥加操作(不需要列混合)得到最终的密文字节矩阵。
15.AES数据加密解密体验
【实验心得】
本次实验的主要内容是AES加密算法的实现。
在看懂AES加密原理的基础上,明白了加密的关键虽然是扩散和混淆。
加密过程依次经过读进明文、读进密钥、产生轮子密钥、轮密钥加、轮变换(包括字节替换、列变换、列混淆、轮密钥加)及最后轮变换得到密文,而解密过程则是加密过程的逆过程,依次经过读取密文、读取密钥、产生轮子密钥、轮密钥加、轮变换(包括逆列变换、逆字节替换、获得轮密钥、轮密钥加、逆列混淆)和最后一轮变换。
理解和学习AES是在学习和实验了DES的基础上,比较这两种加密算法可以发现:
他们都是对称的分组加密算法;
具有较高的复杂性,使得破译的开销超过可能获得的利益,同时理解和掌握密码体制的安全性应该不依赖于算法的保密,其安全性仅以加密密钥的保密为基础,适用于多种完全不同的应用。
DES为64位,但AES可以为128、192和256位;
DES包括对密钥和明文的按位变换及子密钥计算等,对比AES,我们可以发现,AES比DES更加复杂,从而AES也解决了DES的一些问题:
(
1)
作为分组密码,DES的加密单位仅有64位二进制,这对于数据传输来说太小,因为每个分组仅含8个字符,而且其中某些位还要用于奇偶校验或其他通讯开销。
2)
DES的密钥的位数太短,只有56比特,而且各次迭代中使用的密钥是递推产生的,这种相关必然降低密码体制的安全性,
在现有技术下用穷举法寻找密钥是可行的。
(3)
DES不能对抗差分和线性密码分析。
迄今为止,
DES算法中的S盒8个选择函数矩阵的设计原理因美国政府方面的干预,
不予公布。
从这一方面严格地讲DES算法并不是一个真正的公开加密算法。
S盒设计中利用了重复因子,
致使加密或解密变换的密钥具有多值性,
造成使用DES合法用户的不安全性。
而且,
在DES加密算法的所有部件中,
S盒是唯一的具有差分扩散功能的部件(相对于逐位异或),
其它都是简单的位置交换,
添加或删减等功能,
毫无差分扩散能力。
这样,
DES的安全性几乎全部依赖于S盒,攻击者只要集中力量对付S盒就行了。
(
4)
DES用户实际使用的密钥长度为56bit,
理论上最大加密强度为256。
DES算法要提高加密强度(例如增加密钥长度),
则系统开销呈指数增长。
除采用提高硬件功能和增加并行处理功能外,从算法本身和软件技术方面无法提高DES算法的加密强度。