首页/安全/加密与证书速查/SHAKE 可扩展输出函数(XOF)
本包目录(305 条)
加密算法基础95 条
TLS 与 HTTPS60 条证书与 PKI30 条OpenSSL 实战30 条证书运维排查49 条密钥管理41 条

SHAKE 可扩展输出函数(XOF)

FIPS 202 中的 SHAKE128/SHAKE256:可按需要输出任意长度,用于哈希到指定长度、后量子算法内部扩展与随机字节派生。

加密与证书速查安全更新于 2026-10-12
标准FIPS 202
变体SHAKE128、SHAKE256
输出任意长度(xoflen 指定)
典型用途PQC 内部、KDF、需要可变摘要的场景

按需输出长度

按需输出长度
openssl dgst -shake256 -xoflen 64 file.bin
# Python
import hashlib
hashlib.shake_256(b'data').hexdigest(64)     # 输出 64 字节
SHAKE 的输出长度属于使用约定:同一输入不同长度不是「截断关系」的简单等价,协议需明确定义。

易错点

  • xoflen 在部分工具链需要较新版本,旧版本 openssl 不支持该选项
  • SHAKE 输出长度要与协议文档一致,否则双方派生的密钥不同

数据来源与参考

  • FIPS 202 §6.2(SHAKE)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌