首页HKDF密钥派生

HKDF密钥派生

在线HKDF密钥派生工具,支持RFC5869提取与扩展流程、SHA-256/384/512、多格式IKM/PRK/Info输入及OKM导出,适用于协议密钥调度与加密系统开发。

HKDF密钥派生

RFC 5869 基于 HMAC 的提取-扩展密钥派生流程

工具说明

支持 HKDF-Extract、HKDF-Expand 与完整两阶段流程,适用于 TLS 密钥调度、协议联调与多用途子密钥生成。

HKDF 技术文档

HKDF(HMAC-based Key Derivation Function)由 RFC 5869 定义,采用“提取 + 扩展”两阶段从输入密钥材料中派生高质量子密钥。

该算法广泛用于 TLS 1.3、Noise、Signal 等协议,适合从高熵共享密钥构建分层密钥体系。

提取阶段:HKDF-Extract(salt, IKM) -> PRK

提取阶段把输入密钥材料中的熵集中为固定长度的 PRK:

  • 输入 IKM 与可选 salt(空值时默认 HashLen 个零字节)
  • 计算 PRK = HMAC-Hash(salt, IKM)
  • PRK 长度恒等于哈希输出长度

扩展阶段:HKDF-Expand(PRK, info, L) -> OKM

扩展阶段按目标长度 L 迭代生成输出密钥材料:

  • 计算 T(i) = HMAC-Hash(PRK, T(i-1) | info | counter)
  • 连接 T(1) ~ T(N) 并截断得到 OKM
  • 最大输出长度为 255 × HashLen 字节

典型应用场景

  • TLS 1.3 密钥调度与会话子密钥派生
  • Signal/Noise 协议中的链密钥与消息密钥生成
  • ECDH 共享密钥后的用途分离(加密/认证/会话)
  • 主密钥到多业务子密钥的分层派生

HKDF 与 PBKDF2 对比

维度HKDFPBKDF2
标准RFC 5869RFC 8018
输入高熵共享密钥用户口令
工作方式提取 + 扩展高迭代拉伸
主要用途协议密钥调度密码存储与口令派生

安全实践建议

  • HKDF 不用于弱口令,输入应具备足够熵
  • info 应携带用途上下文,避免不同用途密钥混用
  • 当同一 IKM 多次派生时建议使用不同 salt
  • 避免直接使用 PRK,应继续扩展得到最终业务密钥

参考资料

  • RFC 5869 - HMAC-based Extract-and-Expand Key Derivation Function
  • RFC 8446 - TLS 1.3 Key Schedule
  • Signal Double Ratchet Specification

数据默认在您的本地浏览器上处理,不会上传至服务器。如需上传会明确提示。

© 2026 See-Tool. 保留所有权利。 | 联系站长