database - IV 对静态数据的认证加密(GCM 模式)的关注

标签 database authentication encryption cryptography

<分区>

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

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

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

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

最佳答案

每次加密都需要一个新的NONCE,即使是同一个字段也不应该用同一个NONCE加密。最好用一个新的、随机生成的 IV 开始每次加密,并将这个随机值添加到密文中。否则,您可能会泄露数据,甚至是整个纯文本。

关于database - IV 对静态数据的认证加密(GCM 模式)的关注,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12036271/

相关文章:

sql - 创建自定义 ODBC 驱动程序

php - 如何将数组存储到mysql中?

authentication - CakePHP 3.2 : Prevent authError showing when user is not logged in

java - 登录无法正常工作

java - Java中的多个爬虫数据库连接

sql-server - 对于存储在 SQL Azure 中的点对点距离,最佳数据库表设计是什么

c# - 通过 c#/.Net 从 AD 检索特定用户详细信息

apache-flex - Flex 4如何创建加密的SQLite数据库

c# - SQL 加密只返回第一个字符

java - 在密码实例算法之间切换会使内容无法解密