1

我计划在 GCM 模式下使用 AES 加密来保护我的应用程序的静态数据。

我浏览了 NIST 对 GCM 模式的建议。它提到IV的唯一性非常重要。它说如果(密钥,IV)对重复,对手可以构造密文伪造。

现在应用程序的设计是这样的,每当用户访问数据时,整个数据库都会被解密并加载到内存中。在关闭应用程序时,数据被加密并保存到数据库中。

在这种情况下生成和处理 IV 的最佳方法是什么?

4

1 回答 1

2

每次加密时都需要一个新的 NONCE,即使是相同的字段,也不应该使用相同的 NONCE 进行加密。最好用一个新的、随机生成的 IV 开始每个加密,并将这个随机添加到密文中。如果你不这样做,你很可能会泄露数据,甚至是整个纯文本。

于 2012-08-20T11:20:08.057 回答