跳到主要内容
ecdsa.com

摘要(消息摘要)

密码学哈希函数对数据计算得到的固定长度输出,用作该数据紧凑且抗碰撞的标识,也是大多数签名方案实际签名的输入。
其他写法message digesthash valuechecksum (cryptographic)

无论输入多大,SHA-256 摘要都是 32 字节;输入中只要改变一位,输出大约有一半的位会改变。凡是需要逐字节完整性的地方,都用摘要来标识内容:容器镜像(sha256:…)、Git 对象、子资源完整性属性(sha384-…)、锁文件中的 integrity 字段、HTTP Content-Digest(RFC 9530)、JWK 指纹和证书指纹。

签名的对象是摘要:ECDSA 和 RSA 先对消息计算哈希,CMS 对内容摘要连同已签名属性一起签名,JWS 对 header.payload 的摘要签名。只有当作为参照的摘要本身来自可信来源时,摘要才能保护数据;在同一台服务器上把 sha256sum 的输出放在下载文件旁边,只能防止文件损坏,无法防范服务器被入侵。

始终把算法与摘要值一起记录(sha256:…、multihash、DigestInfo 中的 OID);当摘要充当秘密值时,要用常量时间比较;在安全用途中,不要把摘要截断到抗碰撞强度低于 128 位。

标准与参考资料

全部术语