Collision-Resistance

是否有可能與部分已知數據發生 SHA256 雜湊衝突

  • October 14, 2021

我有一個包含448 digits [0-9] [a-f] *(HEX 格式)*的文本句子。

這段文字部分被截斷,但我知道中間,而且開頭和結尾都損壞了。

我所知道的是322 known digits在一個文本句子的中間。

74 unknown digits一開始

52 unknown digits在最後

也就是說,整個文本*Size: 224 bytes*都使用我知道的SHA256雜湊算法進行雜湊處理。

在這種情況下是否可以簡化對相同雜湊的搜尋? (簡化蠻力)

322 known digits既然我在文本中間知道,是否有可能偶然發現這個雜湊的衝突?

不,沒有比嘗試蠻力更簡單的方法了。

雜湊是故意構造的,即使是兩個非常接近的輸入也可以產生兩個非常不同的雜湊輸出。這種特性被稱為雪崩效應

由於我知道文本中間有 322 個已知數字,是否有可能偶然發現此雜湊的衝突?

也沒有,還沒有已知的 SHA256 衝突。

我將問題解讀為:

從 224 字節的文本中,我們從十六進制轉儲中知道除了前 37 字節和後 26 字節之外的所有內容,它們都已損壞。我們還知道文本的(32 字節)SHA-256。我們如何才能找到全文,或者俱有相同雜湊的全文?

正如現有答案所暗示的那樣,雜湊不允許直接找到

  • 缺少什麼:SHA-256 具有抗原像性。我們也錯過了 63 個字節,散列只給出了 32 個字節,因此我們可以預期大約 $ 256^{31} $ 缺失字節的組合導致散列。
  • 其他提供相同雜湊的東西:SHA-256 是抗衝突的。

然而,語句的«文本句子»可能意味著 224 字節具有高冗餘,例如使用可辨識的語言和編碼。此外,聲明的“損壞”意味著有一些有用的資訊可以被清除,幫助猜測。這可能允許從已知的中心部分和亂碼的末端猜測完整的消息,或者將可能性減少到足夠少的候選者,每個候選者都可以被散列。然後散列允許可靠地測試假設:如果猜測通過散列測試,它一定是正確的猜測,因為 SHA-256 是抗衝突的。

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