密码算法单向散列函数

密码算法单向散列函数单向散列函数 H(M) 作用于一个任意长度的消息 M,它返回一个固定长度的散列值 h,其中 h 的长度为 m

输入为任意长度且输出为固定长度的函数有很多种,但单向散列函数还有使其单向的其它特性:(1) 给定 M ,很容易计算 h ;(2) 给定 h ,根据 H(M) = h 计算 M 很难 ;(3) 给定 M ,要找到另一个消息 M‘ 并满足 H(M) = H(M’) 很难

在许多应用中,仅有单向性是不够的,还需要称之为“抗碰撞”的条件:要找出两个随机的消息 M 和 M‘,使 H(M) = H(M’) 满足很难

由于散列函数的这些特性,由于公开密码算法的计算速度往往很慢,所以,在一些密码协议中,它可以作为一个消息 M 的摘要,代替原始消息 M,让发送者为 H(M) 签名而不是对 M 签名

如 SHA 散列算法用于数字签名协议 DSA中

以上内容由大学时代综合整理自互联网,实际情况请以官方资料为准。

相关