跳到主要内容

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

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

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

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

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

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

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

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

  4. 输出派生密钥.

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