我已经理解了AES或Blowfish等加密算法中初始化向量(IV)的用途(另见Wikipedia)
但我不喜欢每次传输IV,并且每次都想使用相同的IV(更容易编码)。为了实现具有相同公共前缀的消息的随机性,我将在加密时添加一个总是新生成的相同大小的随机字节块,如消息开头的IV。解密时,我会忽略/跳过这第一个字节。
这个随机数据在消息的开头是否提供与使用随机IV相同的安全性?
答案 0 :(得分:1)
IV基本上是"块0"对于将前一个块与当前加密混合的模式。因此手动添加的随机块是等效的。有关更多信息(可能是此类问题的更好论坛),请参阅https://crypto.stackexchange.com/questions/5421/using-cbc-with-a-fixed-iv-and-a-random-first-plaintext-block。