任何所選消息的不同前綴變體的雜湊連接是否包含所有可能的有限位串?
讓 $ A $ 表示一個比特序列。
讓 $ H $ 表示對其輸入長度沒有限制的加密雜湊函式(例如,SHA-3)。
考慮以下無限位序列:
$$ B = H(A) \mathbin\Vert H(0 \mathbin\Vert A) \mathbin\Vert H(1 \mathbin\Vert A) \mathbin\Vert H(00 \mathbin\Vert A) \mathbin\Vert H(01 \mathbin\Vert A) \mathbin\Vert H(10 \mathbin\Vert A) \mathbin\Vert \ldots $$(也就是說,前綴通過所有可能的位串,按它們的長度排序)。 我們可以假設對於任何選擇 $ A $ , 其對應 $ B $ 是唯一的並且包含所有可能的有限位串(類似於Pi 小數部分的二進製表示)?如果是,我們可以使用沒有理論周期的加密安全偽隨機數生成器這樣的技術嗎?
我們是否可以假設對於任何選擇的 A,其對應的 B 是唯一的並且包含所有可能的有限位串
不,由於您的要求 $ H $ 正在壓縮。這意味著必須存在碰撞。根據您的雜湊函式構造,衝突可能會導致完全相同的輸出序列。作為一個構造範例,假設一個散列函式從右到左處理輸入塊並將它們提供給 SHA3。然後任何 SHA3 衝突都會起作用。實際上,您不能爭辯說您的上述假設僅適用於散列函式的標準屬性。
然而,找到這樣的消息是非常困難的。由於雜湊函式的抗碰撞性,已經很難找到兩條導致 B 的相同塊的消息。
我們可以使用沒有理論周期的加密安全偽隨機數生成器這樣的技術嗎?
不,還有一些反對以這種方式建構 PRG 的論點。例如,對於像 SHA3 這樣的常見散列函式,這種構造將非常昂貴,因為您無法在計算 B 時重用以前的結果。