我正在尝试使用密钥派生函数从已知的主密钥创建加密密钥。NIST 出版物 800-108 包含使用伪随机函数 (PRF) 推导密钥的建议。本文档定义了几种 KDF 模式。我正在尝试在计数器模式下使用 KDF(如第 5.1 节所述)。这(与本规范中的其他 KDF 模式一样)使用 PRF,根据第 4 节,它可以是 HMAC 或 CMAC。
我有所有的输入 K,标签。可以在计数器模式下进入 KDF 的上下文和 L。我想使用基于 AES 的 CMAC 作为 PRF。
如何使用基于 AES 的 CMAC 在计数器模式下计算 KDF 中的以下步骤(即 PRF(s, x))?
K(i) := PRF (KI, [i]2 || Label || 0x00 || Context || [L]2) 这基本上是 PRF(s, x)
我发现的唯一与 MAC 远程相关的参考是 System.Security.Cryptography.MACTripleDES。