Hash

如果數量有限,散列怎麼能是唯一的?

  • April 12, 2018

我很好奇,例如 SHA-256 如果只有有限的數量,怎麼可能是唯一的?!

澄清一下:

有多少個 MD5 雜湊?

$ 16^{32} $ 可以產生 MD5 雜湊值。 $ 16^{64} $ 可以生成 SHA-256 雜湊。

雖然有 $ 16^{128} $ 只是 SHA-512 雜湊,更不用說長文本了。

更多說明:

假設我們想要所有 SHA-256 雜湊的 MD5。

我們可以有 $ 16^{32} $ MD5 雜湊的數量,而有 $ 16^{64} $ SHA-256 雜湊。

我們將有 3.4* $ 10^{38} $ 重複 MD5 雜湊!

對於 SHA-256 雜湊也是如此,如果我們計算所有 SHA-512 雜湊的 SHA-256,我們將有 1.15* $ 10^{77} $ 重複 SHA-256 雜湊!

編輯:這不限於像 SHA-256 這樣的特定雜湊。

例如,如果它們的數量有限,SHA-256 怎麼可能是唯一的?!

您的問題出現的地方是它們不是唯一的。他們再次發生的可能性很小。 在這種情況下,獨特的不是數學定義,而是人文主義定義。

從人數來看, $ 2^{256} $ = 115792089237316195423570985008687907853269984665640564039457584007913129639936,這是可見宇宙中原子數量的 0.1%。所以很多。

有更好的答案@為什麼還沒有發現任何 SHA-256 衝突?,但您應該從冗長的 116 quattuorvigintillion 數字中獲得要點。

引用自:https://crypto.stackexchange.com/questions/58214