VeraCrypt

文档 >> 技术细节 >> PIM

PIM

PIM代表“个人迭代乘数”。它是VeraCrypt 1.12版本引入的一个参数,其值控制着头部密钥推导函数使用的迭代次数。该值可以通过密码对话框或命令行指定。

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

如果未指定PIM值,VeraCrypt将使用1.12版本之前的默认迭代次数(请参阅 头部密钥推导)。这可以总结如下:

在1.12版本之前,VeraCrypt卷的安全性仅基于密码强度,因为VeraCrypt使用固定的迭代次数。
随着PIM的引入,VeraCrypt的卷在基于(密码,PIM)对的二维安全空间中具有更高的灵活性,可在控制挂载/引导操作性能的同时调整所需的安全级别。

PIM的使用

不强制要求指定PIM。

在创建卷或更改密码时,用户可以通过选中“使用PIM”复选框来指定PIM值,这样GUI中会显示一个PIM字段,用户可以输入PIM值。
 
PIM被视为一个秘密值,每次用户都必须与密码一起输入。如果指定了错误的PIM值,挂载/引导操作将失败。
 
使用较高的PIM值可以通过增加迭代次数来提高安全性,但会导致挂载/引导时间变慢。
使用较小的PIM值,挂载/引导速度会更快,但如果使用弱密码,可能会降低安全性。
 
在创建卷或对系统进行加密时,当密码长度小于20个字符时,VeraCrypt会强制PIM值大于或等于某个最小值。进行此检查是为了确保对于短密码,安全级别至少等于空PIM提供的默认级别。
 
对于短密码,不使用SHA - 512或Whirlpool的系统加密的PIM最小值为98,其他情况的PIM最小值为 485。对于长度为20个字符及以上的密码,PIM最小值为 1。在所有情况下,将PIM留空或将其值设置为0将使VeraCrypt使用如 头部密钥推导部分所述的默认高迭代次数。

使用自定义PIM值的动机可能包括:

以下屏幕截图展示了使用PIM值为231挂载卷的步骤:

 

更改/清除PIM

可以使用更改密码功能来更改或清除卷或系统加密的PIM。以下屏幕截图展示了一个将PIM从空默认值更改为值为3的示例(由于密码长度超过20个字符,这是可行的)。为此,用户必须首先在“新”部分中勾选“使用PIM”复选框以显示PIM字段。

普通卷情况

 
系统加密情况

 

下一部分 >>