常用的hash函數(shù)有哪些 hash函數(shù)強抗碰撞性和弱碰撞性的區(qū)別?
hash函數(shù)強抗碰撞性和弱碰撞性的區(qū)別?對于哈希函數(shù),強沖突:如果隨機找到兩條消息M1和M2,使得值H(M1)=H(M2)被哈希函數(shù)加密,則表示存在沖突。如果這種碰撞無法實現(xiàn),則稱為碰撞穩(wěn)定。hash
hash函數(shù)強抗碰撞性和弱碰撞性的區(qū)別?
對于哈希函數(shù),強沖突:如果隨機找到兩條消息M1和M2,使得值H(M1)=H(M2)被哈希函數(shù)加密,則表示存在沖突。如果這種碰撞無法實現(xiàn),則稱為碰撞穩(wěn)定。hash函數(shù)的另一個安全問題是弱沖突:如果給定一個消息M1并搜索該消息M2,使得值H(M1)=H(M2)被hash函數(shù)加密,則表示存在沖突。如果不能實現(xiàn)這樣的碰撞,則稱為第二原語穩(wěn)像。
強碰撞:可以抵抗強碰撞的哈希函數(shù)
弱碰撞:只能抵抗弱碰撞的哈希函數(shù)。
HASH函數(shù)的強抗碰撞性與弱抗碰撞性的區(qū)別?
對于哈希函數(shù),強沖突:如果隨機找到兩條消息M1和M2,使得值H(M1)=H(M2)被哈希函數(shù)加密,則表示存在沖突。如果這種碰撞無法實現(xiàn),則稱為碰撞穩(wěn)定。hash函數(shù)的另一個安全問題是弱沖突:如果給定一個消息M1并搜索該消息M2,使得值H(M1)=H(M2)被hash函數(shù)加密,則表示存在沖突。如果不能實現(xiàn)這樣的碰撞,則稱為第二原語穩(wěn)像。
強碰撞:可以抵抗強碰撞的哈希函數(shù)
弱碰撞:只能抵抗弱碰撞的哈希函數(shù)。
hash算法的數(shù)學(xué)原理是什么,如何保證盡可能少的碰撞?
基于概率分析
使用哈希函數(shù)時選擇“正確”的哈希函數(shù)可以大大減少沖突
例如,bkdrhash可以用于字符串哈希
當(dāng)然,也可以根據(jù)輸入數(shù)據(jù)的特點設(shè)計哈希算法
這要視情況而定