Hash
有沒有眾所周知的 SHA-256 衝突範例?
SHA- 256作為散列算法的流行,以及它有2256個桶可供選擇的事實讓我相信衝突確實存在但非常罕見。
是否有任何有據可查的 SHA-256 衝突?還是任何眾所周知的碰撞?我很想知道。
我發現向我正在解釋雜湊的人展示衝突是向他們展示不可逆性意味著什麼的好方法,因為他們很難看到 modulo_x 操作與 SHA-256 操作之間的關係。
不,沒有任何已知的 SHA-256 衝突。出版一份或一份遠端可行的方法來獲得一份,將被認為是重大的。
到目前為止,幾乎不可能計算出兩個具有相同 SHA-256 的不同字元串。最明顯的此類計算是在比特幣探勘中。通過將這些數據相加,給出 SHA256d 雜湊率的歷史(即兩個 SHA-256),我得到了到 2018 年 4 月底,該數據已經產生了 2 個89.7 SHA-256,在過去幾年中,該指數每年大約增長 2 個。我的計算,以及它們代表了大部分 SHA-256 的觀點,並沒有在那裡受到挑戰。擴展到 2 91以考慮其他加密貨幣和(可能是隱蔽的)密碼搜尋活動,發生衝突的機率約為 1 對 2 256+1-91-91 = 2 75 (參見密碼雜湊的生日問題)。
為了說明衝突,也許舉一個例子,SHA-256 限制在其前 64 位(16 個十六進製字元而不是 64 位),並解釋在發生衝突之前每添加 2 位就會使預期的雜湊數加倍。