跳到主要内容

5. Key Derivation Functions (密钥派生函数)

密钥派生函数 (key derivation function) 从基础密钥和其他参数生成派生密钥。在基于密码的密钥派生函数中, 基础密钥是密码, 其他参数是盐值和迭代次数, 如第 3 节所述。

此处定义的基于密码的密钥派生函数的主要应用是第 6 节中的加密方案和第 7 节中的消息认证方案。其他应用当然是可能的, 因此这些函数的独立定义。

本节指定了两个函数: PBKDF1 和 PBKDF2。推荐 PBKDF2 用于新应用; PBKDF1 仅为了与现有应用的兼容性而包含, 不推荐用于新应用。

使用此处定义的密钥派生函数的典型应用可能包括以下步骤:

  1. 如第 4 节所述, 选择盐值 S 和迭代次数 c。

  2. 选择派生密钥的长度 (以八位字节为单位) dkLen。

  3. 将密钥派生函数应用于密码、盐值、迭代次数和密钥长度以产生派生密钥。

  4. 输出派生密钥。

如第 3 节所述, 通过改变盐值, 可以从密码派生任意数量的密钥。