1)基本特点
哈希( Hash)函数接受一个消息作为输入,产生一个叫哈希值的输出,也可称之散列值、消息摘要(message digest)。更准确地说,Hash函数是将任意有限长度比特串映射为固定长度的串,如下形式:
h-H(M),M是变长的报文,h是定长的散列值。设x、x’是两个不同的消息,如果h (x)=}l(x’),则称x和x’是Hash函数h的一个(对)碰撞(collision)。对干任意给定的x,
H (x)的计算相对简单(易于软硬件实现)。安全的哈希函数需要满足以下性质:
1、单向性:对任意给定的码h,寻求x使得H(x)=h在计算上是不可行的;
2、弱抗碰撞性:任意给定分组x,寻求不等于x的y,使得H(y)=H(x)在计算上不可行;
3、强抗碰撞性:寻求对任何的(x,y)对,使得H(x) -H (y)在计算上不可行。 目前常用的哈希函数有MD5和SHA-1。