encryption - 建议在 AES 实现中使用相同的 IV

标签 encryption cryptography aes

我们不得不扩展我们的网站以使用带有 256 位 key 的 AES 将用户凭据传达给供应商网站(在查询字符串中),但是他们在解密时使用的是静态 IV信息。

我已经建议 IV 不应该是静态的,我们的标准不应该这样做,但如果他们改变它,我们会承担 [大] 成本,所以我们已同意将此视为安全风险并使用相同的 IV(这让我非常沮丧)。

我想知道的是,这有多大的安全威胁?我需要能够将此有效地传达给管理层,以便他们确切地知道他们同意的内容。

*更新:*我们也始终使用相同的 KEY。

谢谢

最佳答案

使用静态 IV 总是一个坏主意,但确切的后果取决于 Mode of Operation正在使用。在所有这些中,相同的明文将产生相同的密文,但可能存在其他漏洞:例如,在 CFB 模式下,给定静态 key ,攻击者可以从已知明文中提取密文,并用它来解密所有后续字符串!

关于encryption - 建议在 AES 实现中使用相同的 IV,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4408839/

相关文章:

java - 将 ECIES 公钥传输给客户端

javascript - 尝试通过 Steam 身份验证 : stumped with RSA ecnryption (js to python)

java - AES 算法的奇怪行为

c++ - 相同大小的 Win32 加密

ios - 在iOS中使用commoncrypto解密mp3文件(mp3文件使用openssl加密)

javascript - iOS 平台的 React Native 中加密图像并将其保存在 Gallery 中的方法?

linux - 我如何在 linux 的 cryptoAPI 中添加更多算法

java - 是什么导致错误 "java.security.InvalidKeyException: Parameters missing"?

javascript - 如何将变量(字符串类型)作为字典中的索引传递

objective-c - 将 Objective-C 代码转换为 Swift