PBKDF2
PBKDF2(Password-Based Key Derivation Function 2)是一种广泛使用的 KDF,会重复应用伪随机函数(HMAC)以减缓密码猜测。在 VeraCrypt 中,PBKDF2 可与多种 HMAC 哈希函数配合使用,并用于派生解密卷头所需的密钥。
VeraCrypt 支持的 PBKDF2-HMAC 变体
VeraCrypt 中的参数
盐值
存储在卷头中的 512 位随机盐值会混入密码,以防止预计算和彩虹表攻击。
迭代次数
PBKDF2 迭代次数取决于所选 HMAC 哈希、使用场景(例如系统加密或非系统加密)以及
PIM 值。提高 PIM 会增加迭代次数,从而增加派生密钥所需的时间。精确值和公式请参阅
头密钥推导、盐值和迭代次数。
输出长度
派生并使用的卷头密钥材料量取决于所选加密算法或级联。在当前 XTS 卷中,VeraCrypt 同时使用主卷头密钥和辅助卷头密钥;例如,AES-256-XTS 总共使用 512 位(两个 256 位密钥),AES-Twofish-Serpent-XTS 级联总共使用 1536 位(六个 256 位密钥)。
优点和注意事项
- 兼容性广:PBKDF2 在多种平台和环境中得到广泛支持。
- 内存需求低:适合资源受限的系统。
- 不是内存困难型:与 Argon2id 相比,PBKDF2 对使用大规模并行硬件(GPU/ASIC)的攻击抵抗力较弱。如果必须使用 PBKDF2,请考虑提高 PIM。
相关主题