一、哈希函数
1.定义:
Hash函数将长度可变的数据块M作为输入,产生固定长度的Hash值h=H(M)。
2.特征:
(1)可变长度输入,固定长度输出;
(2)不可逆;
(3)小概率发生碰撞,只能减少碰撞概率,无法避免碰撞;
3.应用:
(1)消息认证;
(2)数字签名;
(3)登陆认证;
(4)入侵检测和病毒检测;
(5)构建伪随机函数和作为伪随机数发生器;
4.密码学Hash函数的安全性需求:
(1)固定长度输入,可变长度输出;
(2)效率高:哈希过程简单;
(3)不可逆;
(4)伪随机性:输出
(5)抗弱碰撞性:对给定的x,找到满足H(x)=H(y)且x≠y在计算上是不可行的;
(6)抗强碰撞性:找到任何满足H(x)=H(y)的数对(x,y)计算上是不可行的;
(5)和(6ÿ