有兩種抗碰撞性:一種是弱抗碰撞性镣屹,即對于給定的消息署尤,要發(fā)現(xiàn)另一個(gè)消息,滿足在計(jì)算上是不可行的脐帝;另一種是強(qiáng)抗碰撞性筋搏,即對于任意一對不同的消息仆百,使得在計(jì)算上也是不可行的。
抗碰撞性:理想的Hash函數(shù)是無碰撞的拆又,但在實(shí)際算法的設(shè)計(jì)中很難做到這一點(diǎn)儒旬。
單向性:對于給定的Hash值栏账,要找到使得在計(jì)算上是不可行的帖族,即求Hash的逆很困難。在給定某個(gè)哈希函數(shù)H和哈希值H(p)的情況下挡爵,得出M在計(jì)算上是不可行的竖般。即從哈希輸出無法倒推輸入的原始數(shù)值。這是哈希函數(shù)安全性的基礎(chǔ)茶鹃。
高靈敏性:這是從比特位角度出發(fā)的涣雕,指的是1比特位的輸入變化會(huì)造成1/2的比特位發(fā)生變化艰亮。消息M的任何改變都會(huì)導(dǎo)致哈希值H(p)發(fā)生改變。即如果輸入有微小不同挣郭,哈希運(yùn)算后的輸出一定不同迄埃。
易壓縮:對于任意大小的輸入x,Hash值的長度很小兑障,在實(shí)際應(yīng)用中侄非,函數(shù)H產(chǎn)生的Hash值其長度是固定的。
易計(jì)算:對于任意給定的消息流译,計(jì)算其Hash值比較容易逞怨。