在由AES CBC加密的文件中更改1个字节会导致它无法再解密吗?

Kyl*_*yle 7 encryption cryptography aes

如果我有一个使用AES CBC加密的加密文件,是否会更改文件中某处的随机字节会导致它无法再解密?

我的理解是否正确,一切到字节被更改的地方都会解密好,但从那以后它就不会解密了?

mfr*_*kli 8

这不太正确.AES以块(特别是128位块)加密/解密数据.另外,在CBC模式中,第(i + 1)块的加密/解密取决于第(i)块.

因此,如果随机字节落在第i个块内(为简单起见假设字节不在两个块之间交叉),当你去解密第i个块时,它会给你错误的解密(即128位的块)将是不正确的).另外,由于下一个块是使用第i个块加密的,所以第(i + 1)个块也将不正确地解密(另外128个比特,也就是16个字节).从那里,后续的块将是正确的(与所有先前的块一样).

有关更多信息,我在维基百科上阅读了有关加密模式的信息.

还有一件事:改变随机字节可能不会阻止解密发生 - 它只会产生原始明文(当然).

希望有所帮助!