跳到主要内容

6.2.1 PBES2 Encryption Operation (PBES2 加密操作)

PBES2 的加密操作包括以下步骤, 在密码 P 下加密消息 M 以产生密文 C, 应用选定的密钥派生函数 KDF 和选定的底层加密方案:

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

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

  3. 将选定的密钥派生函数应用于密码 P、盐值 S 和迭代次数 c 以产生长度为 dkLen 个八位字节的派生密钥 DK:

DK = KDF (P, S, c, dkLen)
  1. 在派生密钥 DK 下使用底层加密方案加密消息 M 以产生密文 C.(此步骤可能涉及参数的选择, 例如初始化向量和填充, 取决于底层方案.)

  2. 输出密文 C.

盐值 S、迭代次数 c、密钥长度 dkLen 以及密钥派生函数和底层加密方案的标识符可以在 AlgorithmIdentifier 值中传递给执行解密的一方 (参见附录 A.4).