AES加密算法分解.ppt
文本预览下载声明
第5章 高级加密标准(AES);1. AES的起源;2. AES的设计原则;分组长度(bit);3. AES 算法的一般描述;Rijndael Round的构成;3. AES 算法加密部分的实现;0; 一些相关的的术语定义和表示;Fig 3. 当Nb=6时的状态和Nk=4时的密钥布局;Fig 4. 分组长度和密钥长度均为128 bits时的Rijndael加密算法框图;表 2. 轮数(Round)的不同取值;用伪代码表示的Rijndael轮变换;ByteSubstitution(字节替代);y0 1 1 1 1 1 0 0 0 x0 0
y1 0 1 1 1 1 1 0 0 x1 1
y2 0 0 1 1 1 1 1 0 x2 1
y3 0 0 0 1 1 1 1 1 x3 0
y4 = 1 0 0 0 1 1 1 1 x4 + 0
y5 1 1 0 0 0 1 1 1 x5 0
y6 1 1 1 0 0 0 1 1 x6 1
y7 1 1 1 1 0 0 0 1 x7 1;Fig 6. ByteSubstitution该变换可以用一个256字节的表来实现;ByteRotation(字节移位);Fig 7. ByteRotation;MixColumn(列混合);Fig 8. MixColumn这一运算作用在每一列上;2.4 AddRoundKey(轮密钥加);A0,0;Fig 7. Rijndael加密及解密的标准结构
Block , Key Length = 128 bits;用伪代码表示的Rijndael加密算法;提前进行密钥扩展后的Rijndael加密算法描述;AES 的密钥调度 密钥调度包括两个部分:密钥扩展和轮密钥选取。;密钥扩展;
K0;Wi-4; 轮密钥选取;AES的解密算法;AES 算法的设计原理; 满足前3条准则的S盒的构造方法已被给出,AES的作者从众多候选构造中选择将x映射到它的逆的S盒。该映射过于简单,为了抵抗插入攻击,加入仿射变换:
b(x)=(x7 + x6 + x2 + x) + a(x)(x7 + x6 + x5 + x4 + 1)
mod x8 + 1
模数多项式x8 + 1选择为可能是最简单的模数多项式。
可以找到其它的S盒满足以上准则。
;MixColumn变换符合以下准则: 1. 可逆性; 2. GF(2)中的线性性; 3. 适当的扩散性能; 4. 8位处理器上实现速度快;5. 对称性; 6. 描述的简单性。选择模数多项式x4+1可满足准则2、5、6。准则1、3、4要求系数的值要小,故选00、01、02 、 03。
ByteRotation符合以下准则: 1. 4个位移量互不相同???C0=0; 2. 能抵抗差分截断攻击; 3. 能抗Square攻击; 4. 简单。 从满足准则2和准则3出发,AES的作者选取了最简单的组合。;与一些其它算法的比较:;关于有限域G(28)的一些解释;G(28)上的运算
显示全部