我已经看到,用AES-CBC加密图像,然后计算HMAC-MD5值进行身份验证,是保护数据安全的一种比较常见和合理的方法。或者,我可以只计算数据的CRC,然后用AES-CBC加密data+CRC吗?
我担心只有密文的攻击,修改数据,然后对数据进行解密和执行/处理。我是否可以假设,以导致相同CRC的方式恶意修改加密数据或修改加密CRC以匹配,这是不合理的困难?如果可以这样做,那么是否也有必要对加密的数据进行HMAC-MD5计算?
发布于 2014-04-24 16:45:00
否,因为在CBC模式下,更改为密文块只会在本地影响密文。
另外,如果data+CRC只将一个块存储到一个块,那么使用一个长度为len(data+CRC)的字符串对IV的最左边部分进行CBC处理将导致同一个字符串对CBC解密的输出进行xored处理。
从CRC是线性的开始,使用你的建议和短消息是"xor-malleable",就像一次性垫一样。
https://crypto.stackexchange.com/questions/15788
复制相似问题