3

我对Rijndael 加密中的IV有疑问。

我目前使用 Rijndael 的方法是使用一对静态 KeyIv所有加密操作(我的意思是我将这对 Key 和 Iv 用于我计算机中的所有受保护文件)。

我听说 IV 必须unique为每个 Rijndael 加密。真的吗?我目前的使用方法有什么问题(如果有的话)single static Key and Iv pair

4

2 回答 2

4

如果您对同一消息进行两次加密,您将获得相同的结果——通过改变密钥或IV 情况并非如此。(改变 IV 更简单,因为您可以以纯文本形式传输它;它不涉及任何类型的秘密交换。)

这意味着如果您重复使用相同的 IV,则可以向攻击者提供信息:如果他们知道一条消息的内容,并且他们再次看到相同的加密数据,他们就会知道这是同一条消息。

所以是的,我每次都会改变IV。(并尽量避免在任何地方使用相同的密钥,理想情况下......这就像在多个网站上使用相同的密码:这意味着如果您在一个地方受到威胁,那么您在任何地方都失去了安全性。)

于 2011-09-03T22:16:53.690 回答
2

初始化向量将 AES 引擎初始化为特定状态。使用动态 IV 的主要目标是同一文件的两次连续加密不会产生相同的加密值。要解密文件,您还需要使用相同的 IV 初始化 AES 引擎。因此,IV 必须与您的加密文件一起存储。

我认为初始化向量不会在您的用例中提供更多额外的安全性。当您对可能受到字典攻击的数据(线路上的密码、卡号、PIN 码)进行加密时,使用它非常好。对于文件,几乎不可能..

于 2011-09-03T22:17:50.703 回答