Preimage-Resistance
SHA-512 部分原像
我正在研究 SHA-512 的工作原理,我有一個問題。想像一下我想要一個輸入 $ N $ 512 位,其十六進制雜湊以數字開頭
12345678
。我如何確定輸入 $ N $ 得到那個雜湊輸出?
據我們所知,SHA512 就像一個隨機函式。因此,我們知道找到雜湊以 0x12345678 開頭的原像的唯一方法是遍歷不同的原像,並對每個原像進行雜湊處理,直到找到以 0x12345678 開頭的原像。
如果 SHA512 的輸出是等分佈的(我們沒有理由相信它不是),那麼任何以 0x12345678 開頭的散列的機率是 $ 2^{-32} $ ,因此您需要執行的預期雜湊數是 $ 2^{32} $ ,這是一項可實現的工作努力。