2018-06-08-AES加密原理
2018-06-08 本文已影响12人
最初的美好_kai
1.AES基本介绍
AES按照秘钥长度分类为3类:
![](https://img.haomeiwen.com/i10153763/e173a6f015652b5a.png)
2.加密过程
以AES128为例,会进行10轮加密,其中开始之前会检查秘钥长度,若长度不够就进行秘钥拓展,完成以后就先进行轮秘钥加(异或),然后进行10轮的字节替换,行移位,列混合,然后就是轮秘钥相加,最后一轮迭代不执行列混合。
如下图所示:
![](https://img.haomeiwen.com/i10153763/31ee30125ecdd198.png)
字节替换采用了S盒矩阵来进行字节位置转移
![](https://img.haomeiwen.com/i10153763/a21cde8cfbd4b2fa.png)
行移位
![](https://img.haomeiwen.com/i10153763/3c694399ef22802c.png)
列混合
![](https://img.haomeiwen.com/i10153763/baf51a4869291da6.png)
轮秘钥相加:
![](https://img.haomeiwen.com/i10153763/90b000d0089a44df.png)
1.AES基本介绍
AES按照秘钥长度分类为3类:
2.加密过程
以AES128为例,会进行10轮加密,其中开始之前会检查秘钥长度,若长度不够就进行秘钥拓展,完成以后就先进行轮秘钥加(异或),然后进行10轮的字节替换,行移位,列混合,然后就是轮秘钥相加,最后一轮迭代不执行列混合。
如下图所示:
字节替换采用了S盒矩阵来进行字节位置转移
行移位
列混合
轮秘钥相加: