VeraCrypt PIM 功能 - 真的有必要吗?

信息安全 加密 磁盘加密 真密码
2021-08-11 21:54:58

我正在寻找加密我的操作系统硬盘驱动器,而VeraCrypt作为一个真正的好选择引起了我的注意。

我试图用它加密我的驱动器,而生成的加密系统大约需要一分钟才能解密。这个时机是我无法接受的。我可以为此花大约 10 秒的时间。

经过一番研究,我发现可以更改一个关键参数以实现更快的时序 - PIM

我试图理解这种东西的用法,但我做不到。

我想这里的所有读者都熟悉 AES-256,但以防万一——实际上(也理论上)认为暴力破解这种加密是不可能的......

那么,为什么我真的需要这些额外的散列轮次,让我的速度非常慢呢?

我只是在寻找实际原因,我不在乎一些世界上不可能的计算力量可能会被用来破解我的系统。

我确实关心政府的计算能力。

谢谢

1个回答

如果您使用足够强的密码,则不需要 VeraCrypt 的 PIM。

VeraCrypt 的 PIM 是什么

通俗地说,VeraCrypt 的 PIM 定义了密码在用于解密磁盘之前被散列的次数。

准确地说,每个 VeraCrypt 卷都是使用随机主密钥加密的。您的密码用作解密主密钥的基础:实际解密主密钥的是密钥派生函数的结果,该函数将您的密码作为输入。此密钥派生函数根据 PIM 多次重复其内部散列计算。

来自VeraCrypt 手册

当指定 PIM 值时,迭代次数计算如下:

  • 对于不使用 SHA-512 或 Whirlpool 的系统加密:迭代次数 = PIM x 2048
  • 对于使用 SHA-512 或 Whirlpool 的系统加密、非系统加密和文件容器:迭代次数 = 15000 + (PIM x 1000)

VeraCrypt 的 PIM 的含义

VeraCrypt 的 PIM 增加了您解密磁盘所需的时间以及攻击者暴力破解您的密码所需的时间。您的密码越强,成功的蛮力攻击所需的时间越长,PIM 越低,使攻击变得不切实际或不经济。因此,如果您使用足够强的密码,那么 VeraCrypt 的 PIM 是多余的。

使用 VeraCrypt 的默认 PIM 会成比例地增加攻击时间和解密时间,而使用自定义 PIM 会增加攻击时间而不是增加解密时间,因为攻击者必须暴力破解密码和 PIM。在最后一种情况下,攻击的时间增加是 1+2+3+...+PIM = PIM(PIM+1)/2对应于大约一个正方形。

假设您的密码仅使用英文字母和数字,将 PIM 增加 1000 倍(例如 500 --> 500000)大致相当于将密码增加 4 个字符 (36^4 ~ (1000*1001)/2)。在我看来,这是适得其反的,因为您需要记住大约相同数量的字符,而增加解密时间会增加麻烦。

以上所有内容都与 AES 无关,AES 是一种对称密码,用于在派生随机主密钥后解密 VeraCrypt 卷。