2

我的问题在于 AES 加密算法和在算法中实现 IV。我有 ECB 版本的 AES 工作并且我已经对其进行了彻底的测试。我试图通过添加 IV 使其更安全。我希望通过了解 IV 在算法中的实现方式来更好地理解它。

我知道IV在加密之前与纯文本进行异或运算,然后IV与加密数据一起存储以进行解密。但是当我去解密时,我是否在解密过程之后进行相同的 XOR 计算?

我尝试了上述过程,并且我的加密和解密测试使用相同的值,但是当我将这两个过程并排放置时,我得到的值彼此非常接近,但它似乎并不完全正确。不要求修复代码,只是为我制定的过程,以便我知道我这样做是正确的。谢谢。

4

1 回答 1

5

我总是发现Wikipedia 图表对于可视化 CBC 模式下发生的事情很有用:

维基图

您需要解密第一个密文块,然后异或 IV 以获得第一个明文块。此后,您需要将前一个密文块与当前解密数据块进行异或。

于 2013-05-20T08:05:17.917 回答