我明白在加密算法如AES或河豚初始化向量(IV)的目的随机IV与随机数据(也参见Wikipedia)AES /河豚:在开始时
但我不喜欢每次传输IV,并且希望每次使用相同的IV(更简单的编码)。为了实现具有相同公共前缀的消息的随机性,我只需在加密时在消息的开头添加一个总是新生成的与IV相同大小的随机字节块。解密时,我会忽略/跳过这第一个字节。
这个随机数据的消息的开始是否提供了像使用随机IV一样的安全性?
我明白在加密算法如AES或河豚初始化向量(IV)的目的随机IV与随机数据(也参见Wikipedia)AES /河豚:在开始时
但我不喜欢每次传输IV,并且希望每次使用相同的IV(更简单的编码)。为了实现具有相同公共前缀的消息的随机性,我只需在加密时在消息的开头添加一个总是新生成的与IV相同大小的随机字节块。解密时,我会忽略/跳过这第一个字节。
这个随机数据的消息的开始是否提供了像使用随机IV一样的安全性?
对于混合前一个块和当前加密的模式,IV本质上是“块0”。所以手动添加一个随机块是等效的。欲了解更多信息(也可能是更好的论坛),请参阅https://crypto.stackexchange.com/questions/5421/using-cbc-with-a-fixed-iv-and-a-random-first-plaintext-block。
非常感谢您的快速回答;-) – Mahe 2014-10-08 18:36:16
这个问题似乎是题外话题,因为它是关于密码学,与编程没有直接关系。 – 2014-10-08 18:55:55