手打书 > 都市言情 > 重生的我只想当学霸 > 第63章 天才总是特殊的(感谢大佬石中隐鱼的打赏)

第63章 天才总是特殊的(感谢大佬石中隐鱼的打赏)(3 / 5)

S-128为例,推荐加密轮数为 10轮,即前 9轮执行的操作相同,第 10轮执行的操作与前面不同。不同的密钥长度推荐的加密轮数是不一样的……

“加密时明文按照 128位为单位进行分组,每组包含 16个字节,按照从上到下、从左到右的顺序排列成一个 4× 4的矩阵,称为明文矩阵。AES的加密过程在一个大小同样为 4× 4的矩阵中进行,称为状态矩阵,状态矩阵的初始值为明文矩阵的值。每一轮加密结束后,状态矩阵的值变化一次。轮函数执行结束后,状态矩阵的值即为密文的值,从状态矩阵得到密文矩阵,依次提取密文矩阵的值得到 128位的密文。

“以 128位密钥为例,密钥长度为 16个字节,也用 4× 4的矩阵表示,顺序也是从上到下、从左到右。AES通过密钥编排函数把密钥矩阵扩展成一个包含 44个字的密钥序列,其中的前 4个字为原始密钥用于初始加密,后面的 40个字用于 10轮加密,每轮使用其中的 4个字。密钥递归产生规则如下:

“如果 i不是 4的倍数,那么由等式 w[i]= w[i-4]⊕ w[i-1]确定;

“如果 i是 4的倍数,那么由等式 w[i]= w[i-4]⊕ T(w[i-1])确定;

“加密的第 1轮到第 9轮的轮函数一样,包括 4个操作:字节代换、行位移、列混合和轮密钥加。最后一轮迭代不执行列混合。另外,在第一轮迭代之前,先将明文和原始密钥进行一次异或加密操作。

“解密过程仍为 10轮,每一轮的操作是加密操作的逆操作。由于 AES的 4个轮操作都是可逆的,因此,解密操作的一轮就是顺序执行逆行移位、逆字节代换、轮密钥加和逆列混合。同加密操作类似,最后一轮不执行逆列混合,在第 1轮解密之前,要执行 1次密钥加操作。

AES加密的轮函数操作包括字节代换 SubBytes、行位移 ShiftRows

最新小说: 止疼 从重生成婴儿开始的逆袭人生 别惹他,他的七个师姐太凶残 夫妻齐穿书!老公科举我躺赢! 2001传媒教父 宋家的傻姑娘重生了 开局透视眼捡漏,九个女总裁为我杀疯了 北美暴警:从抓捕吹牛老爹开始! 急红眼!京圈太子爷被甩后彻底沦陷 武考落榜被退婚,你后悔,晚了!