四、AES 2021/2/21
2021/2/21 2 四、AES
AES提出 1997年1月,美国NIST向全世界密码学界 发出征集21世纪高级加密标准(AES Advanced Encryption Standard)算法 的公告,并成立了AES标准工作研究室, 1997年4月15日的例会制定了对AES的评 估标准。 2021/2/21
2021/2/21 3 AES提出 ◼ 1997年1月,美国NIST向全世界密码学界 发出征集21世纪高级加密标准(AES— —Advanced Encryption Standard)算法 的公告,并成立了AES标准工作研究室, 1997年4月15日的例会制定了对AES的评 估标准。 ◼
AES的要求 (1)AES是公开的; (2)AES为单钥体制分组密码; (3)AES的密钥长度可变,可按需要增大; (4)AES适于用软件和硬件实现; (5)AES可以自由地使用,或按符合美国国家 标准(ANST)策略的条件使用; 2021/2/21
2021/2/21 4 AES的要求 (1)AES是公开的; (2)AES为单钥体制分组密码; (3)AES的密钥长度可变,可按需要增大; (4)AES适于用软件和硬件实现; (5)AES可以自由地使用,或按符合美国国家 标准(ANST)策略的条件使用;
算法衡量条件 满足以上要求的AES算法,需按下述条 件判断优劣 a.安全性 ■b.计算效率 c.内存要求 d.使用简便性 ■e.灵活性。 2021/2/21 5
2021/2/21 5 算法衡量条件 ◼ 满足以上要求的AES算法,需按下述条 件判断优劣 ◼ a. 安全性 ◼ b. 计算效率 ◼ c. 内存要求 ◼ d. 使用简便性 ◼ e. 灵活性
AES的评审 1998年4月15日全面征集AES算法的工作结束。1998年8 月20日举行了首届AES讨论会,对涉及14个国家的密码 学家所提出的候选AES算法进行了评估和测试,初选并 公布了15个被选方案,供大家公开讨论。 CAST-256, RC-6, CRYPTON-128, DEAL-128 FROG, DFC LOKI-97 MAGENTA, MARS, HPC RIJNDAEL, SAFER+ SERPENT, E-2, TWOFISH。 ■这些算法设计思想新颖,技术水平先进,算法的强度都 超过3-DES,实现速度快于3-DES。 2021/2/21 6
2021/2/21 6 AES的评审 ◼ 1998年4月15日全面征集AES算法的工作结束。1998年8 月20日举行了首届AES讨论会,对涉及14个国家的密码 学家所提出的候选AES算法进行了评估和测试,初选并 公布了15个被选方案,供大家公开讨论。 CAST-256, RC-6, CRYPTON-128,DEAL-128, FROG, DFC, LOKI-97, MAGENTA, MARS, HPC, RIJNDAEL, SAFER+, SERPENT, E-2, TWOFISH。 ◼ 这些算法设计思想新颖,技术水平先进,算法的强度都 超过3-DES,实现速度快于3-DES
AES的评审 1999年8月9日NIST宜布第二轮筛选出的5个 候选算法为: MARS( C Burwick等,BM), RC6TM(R Rivest, RSA Lab) RIJⅠ NDEAL(J. Daemen,比) SERPENT( R. Anderson等,英、以、挪威), TWOFISH(B. Schiener) 2000年10月2日,NST宣布 Rijndael作为新的 AES 2021/2/21
2021/2/21 7 AES的评审 ◼ 1999年8月9日NIST宣布第二轮筛选出的5个 候选算法为: MARS(C.Burwick等,IBM), RC6TM(R. Rivest等,RSA Lab.), RIJNDEAL(J. Daemen,比), SERPENT(R. Anderson等,英、以、挪威), TWOFISH(B. Schiener)。 ◼ 2000年10月2日,NIST宣布Rijndael作为新的 AES
AES算法设计思想 ■抵抗所有已知的攻击 ■在多个平台上速度快,编码紧凑; ■设计简单。 Rijndael没有用 Feistel结构,轮函数由 3个不同的可逆均匀变换构成的,称为3 层 ■均匀变换是指状态的每个b都用类似的 方法处理 2021/2/21
2021/2/21 8 AES算法设计思想 ◼ 抵抗所有已知的攻击; ◼ 在多个平台上速度快,编码紧凑; ◼ 设计简单。 ◼ Rijndael没有采用Feistel结构,轮函数由 3个不同的可逆均匀变换构成的,称为3 个层 ◼ 均匀变换是指状态的每个bit都用类似的 方法处理
轮函数的3层 线性混合层 ■确保多轮之上的高度扩散; 非线性层 ■将具有最优的“最坏情况非线性特性”的S 盒并行使用 密钥加层 单轮子密钥简单的异或到中间状态上,实现 次性掩盖。 2021/2/21
2021/2/21 9 轮函数的3层 ◼ 线性混合层 ◼ 确保多轮之上的高度扩散; ◼ 非线性层 ◼ 将具有最优的“最坏情况非线性特性”的S 盒并行使用; ◼ 密钥加层 ◼ 单轮子密钥简单的异或到中间状态上,实现 一次性掩盖
算法说明 分组和密钥长度可变,各自可独立指定为128、 192、256比特。 状态 算法中间的结果也需要分组,称之为状态,状态可 以用以字节为元素的矩阵阵列表示,该阵列有4行, 列数N为分组长度除32 种子密钥 以字节为元素的矩阵阵列描述,阵列为4行,列数 Nk为密钥长度除32 2021/2/21
2021/2/21 10 算法说明 ◼ 分组和密钥长度可变,各自可独立指定为128、 192、256比特。 ◼ 状态 ◼ 算法中间的结果也需要分组,称之为状态,状态可 以用以字节为元素的矩阵阵列表示,该阵列有4行, 列数Nb为分组长度除32 ◼ 种子密钥 ◼ 以字节为元素的矩阵阵列描述,阵列为4行,列数 Nk为密钥长度除32
算法说明 n算法的输入、输出和种子密钥可看成字 节组成的一维数组。 下标范围 n输入输出:0-4Nb-1, 种子密钥:0-4Nk-1 2021/2/21
2021/2/21 11 算法说明 ◼ 算法的输入、输出和种子密钥可看成字 节组成的一维数组。 ◼ 下标范围 ◼ 输入输出:0-4Nb -1, ◼ 种子密钥:0-4Nk -1