2024年6月14日发(作者:)
ASE算法原理与实现
产生背景
1、AES 是美国国家标准技术研究所NIST旨在取代DES的新一代的加密标准。NIST 对
AES 候选算法的基本要求是:对称分组密码体制;密钥长度支持128 ,192 ,256位;明文分组
长度128 位;算法应易于各种硬件和软件实现。
2、1998 年NIST开始AES 第一轮征集、分析、测试,共产生了15 个候选算法。1999
年3 月完成了第二轮AES 的分析、测试。1999 年8 月NIST 公布了五种算法(MARS ,
RC6 ,Rijndael ,Serpent ,Twofish) 成为候选算法。最后,Rijndael ,这个由比利时人设计的
算法与其它候选算法在成为高级加密标准(AES) 的竞争中取得成功,于2000 年10月被
NIST宣布成为取代DES 的新一代的数据加密标准,即AES。
3、Rijndael 作为新一代的数据加密标准汇聚了强安全性、高性能、高效率、易用和
灵活等优点。
4、AES 设计有三个密钥长度:128 ,192 ,256 比特
AES 加密/ 解密算法原理
AES 算法属于分组密码算法,它的输入分组、输出分组以及加/ 解密过程中的中间分组
都是128比特。(对称密码算法根据对明文消息加密方式的不同可分为两大类,即分组密码和
流密码。分组密码将消息分为固定长度的分组,输出的密文分组通常与输入的明文分组长度
相同。)
1、AES 的加密与解密框图如图所示
(1) 加密变换
设X是AES 的128 比特明文输入,Y是128 比特的密文输出,则AES 密文Y可以用下面
的复合变换表示: Y= Ak(r + 1)·R·S·Akr·C·R·S·Ak(r21)·⋯·C·R·S·Ak1 (X)其中“·”表示复合
运算。这里Aki :表示对X 的一个变换Aki (X) = XÝ Ki (Ki 为第i 轮的子密钥,为比特串的异
或运算) 。S:S 盒置换。即对每一个字节用S2Box 做一个置换。S2Box 是一个给定的转换
表。R: 行置换。C: 列置换。
s′(x) = a (x) á s (x)


发布评论