AES高级加密标准

简介
AES (Advanced Encryption Standard) 高级加密标准,是最为流行的对称密钥加密算法之一;相比上一代的DES算法,使用存储器更少,算法更简单;

算法
计算过程涉及到两种数据,区块和密钥;
区块代表被加密的原始数据,固定128bit,即16字节;
密钥用于加密原始数据,长度可以是128bit,192bit,256bit;密钥越长,复杂度越高,安全性越好;

具体的计算过程如下:
由密钥生成一把128bit的回合密钥,与区块中每个对应的字节做异或运算;
使用非线性替换函数,把区块中的每个字节替换为S-box中的字节;(S-box是对称密钥算法执行置换计算的基本结构)
区块矩阵的第1行不变,第2行循环左移1位,第3行循环左移2位,第4行循环左移3位;
对区块矩阵的每一列执行矩阵乘法;(具体的矩阵乘法见维基百科解释)

参考
维基百科