IV关注静止数据的身份验证加密(GCM模式)



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

我查阅了NIST关于GCM模式的建议。它提到IV的独特性非常重要。它说,如果(密钥,IV)对重复,对手可以构造密文伪造。

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

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

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

最新更新