李志刚S07059AES算法Word格式文档下载.docx
- 文档编号:15938357
- 上传时间:2022-11-17
- 格式:DOCX
- 页数:13
- 大小:3.10MB
李志刚S07059AES算法Word格式文档下载.docx
《李志刚S07059AES算法Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《李志刚S07059AES算法Word格式文档下载.docx(13页珍藏版)》请在冰豆网上搜索。
2.4字节替代7
2.5行位移8
2.6列混淆8
2.7轮密钥加10
3How12
3.1扩展密钥12
3..2字节替换13
3.3行移动13
3.4列混淆14
3.5轮密钥加15
4.总结15
1.Why
1.1EDS的缺点
Ø
AES的是美国NIST组织2002年公布的高级加密算法,用来代替DES加密算法,这是为什么呢:
DES作为分组密码的加密单位仅有64比特,对于30年前年的计算机来说还是完全可以胜任的,但是30年后的今天在计算机不断更新换代之后,一张照片都能达到几十M的大小,一次只能加密64bit已经略显不足。
DES的密钥的位数太短,只有56比特,众所周知密钥的长度越长越不容易被破解,在今天ipv4地址都即将分配完毕,并且需要被ipv6来解决地址饱和的问题,所以DES的密钥长度相对来已经可以被破解。
DES的安全性几乎全部依赖于S盒,我们都知道DES算法主要的操作就是8个S盒的替换,通过复杂的S盒转换来达到加解密,这样造成的结果就是,只要S盒被破解那么所有基于S盒加密的文件都将失去保密性。
DES增加密钥长度,
则系统开销呈指数增长,由于最早设计DES的时候并没有预想到今天的硬件软件能够发展的这么快,所以DES密钥扩充就会造成大量的系统开销,得不偿失,所以迫切的需要一个更高级的加密标准来代替DES。
1.2AES的优点
AES做为分组密码,分组长度128比特,相对于DES来说,这个长度刚好是俩倍但是难度确实呈指数级的增长,基于现在的就算计运算速度来说,可能需要几亿年的时间,那基本上就相当于无解。
AES三种可选的密钥长度:
128、192、256比特,,相对于DES来说,AES密钥长度并不是固定的,而是可以自己选择适合自己的长度。
AES的S盒能被代数的定义,,相对于DES来说,AES的S盒里面存在着非线性的变换,这就给破解的难度提高了几个级别。
AES算法硬件实现的速度大约是软件实现的3倍,给予以上的种种好处DES被AES所取代。
2.What
2.1AES的出现
1997年,NIST开始了遴选DES替代者——AES的工作。
要求AES有128比特的分组长度,并支持128、192和256比特的密钥长度,而且能在全世界免费使用
1998年从提交的21个算法中选出15个作为候选
1999年5个算法入围了最后决赛
2000年评选出最终结果Rijndael既AES,2002年正式使用
2.2AES加解密流程图
2.3扩展密钥
这里说的是128bit的密钥:
主要是把初始的16字节划分为4个字,即一个字代表四个字节,然后把经过10轮扩展为44个字的扩展密钥。
密钥扩展图
AES加密过程涉及到4种操作:
字节替代(SubBytes)、行移位(ShiftRows)、列混淆(MixColumns)轮密钥加(AddRoundKey);
解密过程分别为对应的逆操作。
由于每一步操作都是可逆的,按照相反的顺序进行解密即可恢复明文。
加解密中每轮的密钥分别由初始密钥扩展得到。
算法中16字节的明文、密文和轮密钥都以一个4x4的矩阵表示。
2.4字节替代
字节的替换主要根据一系列在域FG(2^8)的线性,非线性操作从而得到的一张16*16的表,根据一个字节的前四位(行)后四位(列)在表中找到替换字节进行替换。
如下图所示0x00会被表中的0x63所代替。
解密过程也是一样的操作,只是需要一个该表的逆表即可。
2.5行位移
行位移其实很简单,加密就是第一行向左移动0个位置,第二行向左移动1位,,第三行向左移动2位,第四行向左移动3位。
解密就是向右移动,第三行向右移动3位,……第二行向右移动一位,第一行不移动。
如下图
行移动
2.6列混淆
补充域的概念在域GF(2^8)上做加法和乘法运算规则:
加法:
各个值在相加时使用的是模2加法(相当于是异或运算)
乘法:
将某个字节所对应的值乘以2,其结果就是将该值的二进制位左移一位,如果该值的最高位为1(表示该数值不小于128),则还需要将移位后的结果异或00011011
乘法对加法满足分配率例如:
07·
S0,0=(01⊕02⊕04)·
S0,0=S0,⊕(02·
S0,0)⊕(04·
S0,0)
加密列混淆就是把明文的矩阵,左乘一个给定的矩阵,从而对列实现线性转变,并且乘法和加法都是在域GF(2^8)上进行的,,所以一定要使用上面提到的域的运算而不是平常的运算。
解密裂列混淆其实乘以另外一个矩阵只是数值不同。
下面的图是一个例子:
2.7轮密钥加
扩展密钥只参与了这一步。
根据当前加密的轮数用,扩展密钥w[]中4个字与矩阵的4个列进行按位异或,一定要注意是按列亦或。
因为一个数和自己亦或后是0,所以加密和解密的亦或操作一样不需要做出改变。
3How
3.1扩展密钥
3..2字节替换
逆运算也一样,只是把sSbox换成相对应的逆矩。
3.3行移动
行的逆操作只是一句代码不一样:
3.4列混淆
加密列混淆
解密列混淆
3.5轮密钥加
4.截图
代码下载地址
初始pdf
解密后的pdf
加密后pdf损坏
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 李志刚 S07059AES 算法