跳到主要内容
ecdsa.com

SHA-2

FIPS 180-4 中的哈希函数族,包括 SHA-224、SHA-256、SHA-384、SHA-512、SHA-512/224 和 SHA-512/256,由 NSA 设计,于2001年发布,如今几乎在所有场合都是默认的哈希算法。
其他写法SHA2SHA-384SHA-512SHA-224SHA-512/256

SHA-224 和 SHA-256 使用 32 位字和 64 轮运算;SHA-384、SHA-512 以及截断的 SHA-512/t 变体使用 64 位字和 80 轮运算。SHA-224 和 SHA-384 分别是 SHA-256 和 SHA-512 的截断版本,初始值不同。抗碰撞强度为摘要长度的一半:SHA-224、SHA-256、SHA-384 和 SHA-512 分别为 112、128、192 和 256 位。

实践中选用哪一个,取决于与之搭配的算法:SHA-256 搭配 P-256、RSA-2048/3072 和 HMAC(JOSE 的 ES256、RS256、HS256);SHA-384 搭配 P-384(ES384、CNSA);SHA-512 用于 Ed25519 内部。截断变体(SHA-384、SHA-512/256)不受长度扩展攻击影响,而完整输出的 SHA-256 和 SHA-512 则会受到影响。

NIST IR 8547(草案)继续批准使用 SHA-2,但将 SHA-224 的抗碰撞强度列为 112 位,低于后量子类别 1,并指出 NIST 的 112 位对称标准将于2030年被禁用。

标准与参考资料

全部术语