128位AES加密算法图解
标 题: 【原创】128位AES加密算法图解作 者: Yangs
时 间: 2009-06-04,18:16
链 接: http://bbs.pediy.com/showthread.php?t=90722
128位AES加密算法图解
由于AES算法比较复杂,单凭一个图很难说明细节,大家只能把图作为学习参考吧。
简单解释一下:
AddRoundKey 为 异或
SubBytes 为 查表替换(线性替换)
ShiftRows 为 按字节循环左移
MixColumns 为 矩阵乘法(这个没法讲了,大家翻翻大学的线性代数吧)
另外说一句,这个是AES算法的原型。计算机中使用的算法是优化后的,时间复杂度要小很多。但是空间要求需要4K。就是把4步合成1步,查一个很大的表。 当初设计出来的人,实在是太强了。。。。。。致敬一下 还有一个录像的~
解释:每一格代表一个字节,即:8bit,通过查找s盒,替换表中原来的内容,例如:表格内的数字为‘19’,则通过查S-BOX(认为给定的,经过计算不会被穷举法攻破的。),‘1’为行,‘9’为列,找到相应的值'd4'替换.共四行,规定的,不能变;只能通过列混淆变换扩展。
具体的变换方法:第一行不变,第二行移动一个字节,第三行移动两个字节,第三行移动三个字节,形成新的key。
然后将新的key扩展,具体的扩展方法:保持行数不变,进行列混淆变换扩展,其中列所乘的矩阵是认为定义的。再与给定的数组RCON相乘,并增加列。总共要进行10轮,每轮进行四次变换,且每轮的第四次变换后,将得到的数值向上移一位。循环。
注意:round key 是外部输入的轮key。 自己弄不出来,只能用现成的. 好强大,好复杂的代码 学习学习学习。。。 :)eee收藏备用 标准算法学习。
页:
[1]