.net - 在 Rijndael 加密中对许多文件使用静态 IV 值是否可以?

标签 .net vb.net encryption-symmetric rijndael

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

我目前使用 Rijndael 的方法是使用一对 static KeyIv 进行所有加密操作(我的意思是我使用这个我计算机中所有 protected 文件的 key 和 Iv 对)。

我听说对于每个 Rijndael 加密,IV 必须是唯一的。真的吗?我当前使用单个静态 key 和 Iv 对的方法有什么问题(如果有的话)?

最佳答案

如果您对同一消息加密两次,您将获得相同的结果 - 通过改变 key IV,情况就不同了。 (改变 IV 更简单,因为您可以以纯文本形式传输它;它不涉及任何类型的 secret 交换。)

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

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

关于.net - 在 Rijndael 加密中对许多文件使用静态 IV 值是否可以?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7296146/

相关文章:

c# - 等待完成所有异常处理任务

asp.net - 组合两个 List(Of String) 的最有效方法是什么?

c# - 使用 javascript 从 ListView 获取隐藏字段的值

java - 从 .wsdl for java 生成 Web 服务客户端安全策略

security - 防止对服务器的 MITM 攻击

.net - requiredExecutionLevel requireAdministrator 没有按预期工作

C# - 使用 DataContractJsonSerializer 序列化常量

VB.NET 创建一个带有可选输入的类

c - AES CTR OpenSSL 命令行与 EVP_aes_128_ctr C 代码不匹配

.net - 如何找出线程锁发生的位置?