CyberGlossary

密码学

SHA-256

别称: SHA-2(256 位), FIPS 180-4 SHA-256

定义

SHA-2 系列中的 256 位密码学哈希函数,广泛用于数字签名、TLS、区块链与完整性校验。

SHA-256 是 NIST 在 FIPS 180-4 中标准化的 SHA-2 系列成员,可将不超过 2^64 比特的输入压缩为 256 位(32 字节)摘要。它采用 Merkle-Damgård 结构,内部使用类似 Davies-Meyer 的压缩函数,对 512 位分组进行 64 轮运算。SHA-256 是 TLS 1.2/1.3、X.509 证书、Bitcoin 工作量证明、代码签名以及 HMAC-SHA-256 的基石。目前没有任何实际攻击优于通用的 2^128 碰撞与 2^256 原像界,因此被认为足够安全;但用于口令哈希时,仍应包裹在 Argon2、scrypt 或 PBKDF2 等慢速 KDF 中。

示例

  • Bitcoin 使用双 SHA-256 进行区块哈希和工作量证明。
  • 现代 X.509 证书使用 SHA-256 签名(sha256WithRSAEncryption)。

相关术语