Encryption 加密密钥生成和应用程序性能

Encryption 加密密钥生成和应用程序性能,encryption,aes,Encryption,Aes,一个密码专家的问题。假设我们有一个概念性的Notes.app: 有一些注释(标题|内容)存储为AES-256加密字符串 应用程序必须在其主窗口的列表中显示所有注释(标题)的列表 每个标题内容都用一个密钥加密,密钥由密码和salt生成 让我们想象一下,密钥生成算法在移动设备上需要约80ms才能生成密钥 在以下条件下,解密10个音符标题几乎需要1秒。但是如果有很多笔记呢 我在这个问题上的两分钱:用不同的初始化向量加密所有的笔记,但也用相同的盐。这将允许我只生成一次解密密钥,并快速解密大量票据 问

一个密码专家的问题。假设我们有一个概念性的Notes.app:

  • 有一些注释(标题|内容)存储为AES-256加密字符串
  • 应用程序必须在其主窗口的列表中显示所有注释(标题)的列表
  • 每个标题内容都用一个密钥加密,密钥由密码和salt生成
  • 让我们想象一下,密钥生成算法在移动设备上需要约80ms才能生成密钥
在以下条件下,解密10个音符标题几乎需要1秒。但是如果有很多笔记呢

我在这个问题上的两分钱:用不同的初始化向量加密所有的笔记,但也用相同的盐。这将允许我只生成一次解密密钥,并快速解密大量票据

问题是:这样做我们会得到很多不同的笔记,用相同的密钥加密。这是否会损害AES加密的安全性?知道有一堆文件不仅有相同的密码,而且还有相同的密码,是否有可能以某种方式破解加密


谢谢你的想法不要用盐。但是我猜你在PBE算法中使用salt和密码来生成密钥。通常,这种PBE算法的计算成本很高——因此,你在手机上看到的80ms


当加密不同的消息时,您可以不使用不同的盐来创建不同的密钥,只使用不同的初始化向量(IV)但使用相同的密钥。不同的IV确保以同一块开头的消息加密为不同的消息。

Ebbe,谢谢您的回答!但我只想澄清一件事:如果我有N个文件,用相同的密钥加密,但不同的IVs——除了说“所有这些文件都有相同的密码”之外,这对黑客有帮助吗?或者IV是否确保没有可以利用的统计弱点?我真的不在乎是否有人发现一堆文件有相同的密钥,如果他们无法比较这些文件以更容易地确定密码的话。可以使用相同的密钥进行多次加密。但是,如果没有IV,相同的清晰数据将始终提供相同的加密数据-IV计数器。非常感谢,这基本上就是我想知道的。