我的问题在于AES加密算法并在算法中实现了IV。我有ECB版本的AES工作,我已经彻底测试了它。我试图通过添加IV来使其更安全。我希望通过了解如何在算法中实现IV来更好地理解它。
我理解在加密之前IV与纯文本进行异或,然后将IV与加密数据一起存储以进行解密。但是当我去解密时,在解密过程之后我会做同样的XOR计算吗?
我尝试了上面的过程,我的加密和解密测试使用相同的值,但是当我将这两个过程并排放置时,我得到的值彼此非常接近,但它似乎不能正常工作对。不要求修复代码,只是为我安排的过程,以便我知道我正确地执行此操作。感谢。
答案 0 :(得分:3)
我总是发现Wikipedia diagrams对于可视化CBC模式中发生的事情非常有用:
您需要解密第一个密文块,然后对IV进行XOR以获得第一个明文块。此后,您需要使用当前的解密数据块对前一个密文块进行异或。