随着密码分析技术的不断发展,des对称密码算法变得不那么安全,于是美国国家标准与技术局发出了关于开发新的加密标准():
1、应是对称加密算法,具有可变长度的密钥(128、192或256位),一个128位的块:
2、应比三重DES更安全;
3、应可应用于公共领域并免费提供;
4、应至少在30年是安全的。
经过最后的测试NITS宣布了最终的获胜者,这就是AES,AES是一种灵活的算法,其块的大小可变,密钥大小可变,迭代次数也可变,而且迭代次数与块和密钥大小有关。正因为其灵活,AES实际上有三个版本:AES-128、AES-129和AES-256。常见的AES结构图如下:
AES首先将明文按字节分成列。前4个字节组成一列,接下来的4个字节组成第二列,以此类推如果块为128位,那么就可以组成一个4X4的矩阵。
密钥生成
密钥是按矩阵的列进行分组的,然后添加40个新列来进行扩充。如果前4列(即由密钥给定的那些列)位W()、W()、W()和W(),那么新列以递归方式产生。如果i是4的倍数,那么第i列由等式W(i)=W(i-4)XORT(i-1)确定。
如果不是4的倍数,那么第i列由等式
其中T[W(i-1)]是W(i-1)的一种转换形式,按一下方式实现:
1、循环的将W(i-1)的元素位移,每次一个字节,也就是说,abcd变成dcba;
2、将这4个字节作为S盒的输入,输出新的4个字节efgh:
3、计算这一轮的常量
4、这样生成转后后的列
其过程如下图:
由于AES非常小,运行速度快,密钥大小128位,安全可靠,因此它不仅用于安全要求比三重DES更高的应用中,而且可用于计算资源有限的应用中。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。