如果您使用足够强的密码,则不需要 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 卷。