AES解密-AddRoundKey函数



我正在编写一个程序来实现AES加密和解密。这是一个学校项目。

我已经成功地实现了AES-128加密,但我对解密中的addRoundKey函数有点困惑。

对于加密,您使用11个循环密钥,第一个密钥在第一轮之前使用,最后一个密钥在最后一轮期间使用。

当谈到解密时,对于解密的第一个预循环,我是使用加密中预循环1使用的第一个密钥,还是使用上一轮加密中使用的最后一个密钥?

加密是这样的:加密预录制(addRoundkey[0]*状态(THEN(子字节、移位行、mixColumns、addRoundKey[1~9](9次,最后一轮子字节、位移行和addRoundKey[10]

是解密预循环-(addRoundKey[10]*密文(OR(addRound Key[0]]*密文

比方说第三轮解密,我会使用addRoundKey[3]还是addRoundKey[7]

谢谢。

我找到了答案。

(addRoundKey[10]*密文(

是正确的。

最新更新