VeraCrypt

文档 >> 密钥推导算法 >> Argon2id

Argon2id

Argon2id 是一种内存困难型密钥推导函数,设计用于抵抗时间-内存权衡攻击和侧信道攻击。它在 2015 年被选为密码哈希竞赛(PHC)的获胜算法,并由 RFC 9106 定义。VeraCrypt 支持将 Argon2id 作为 PBKDF2-HMAC 的替代方案用于非系统卷头密钥推导。

主要特性

Argon2 变体

Argon2 有三个变体:

VeraCrypt 中的参数

VeraCrypt 使用 Argon2id 时采用以下参数配置:

内存成本(m_cost)

密钥推导过程中使用的内存量由 PIM 值控制:

时间成本(t_cost)

密钥推导过程中执行的迭代次数:

并行度

计算过程中使用的并行线程数:

相对于 PBKDF2 的优势

使用注意事项

在 VeraCrypt 中使用 Argon2id 时:

技术规格

算法:RFC 9106 定义的 Argon2id
内部哈希:BLAKE2b-512
盐值大小:512 位(与 PBKDF2-HMAC 相同)
头 KDF 输出长度:当前 VeraCrypt 格式固定为 1536 位(192 字节)。所选加密算法使用该输出中所需的前缀部分(例如 AES(AES-256-XTS)使用前 64 字节)。第三方实现必须先从 Argon2id 请求 192 字节,再选择所需前缀;如果只请求所选算法的密钥材料长度,将得到不同的 Argon2id 输出。
版本:Argon2 版本 0x13(十进制 19)
有关 PIM 值及其对 Argon2id 参数影响的更多信息,请参阅 个人迭代乘数(PIM)部分。