Security
如果 SHA256 的原像或抗碰撞性被破壞會怎樣?
我正在嘗試一些自學密碼學,我對以下兩種情況感到好奇(簡單的答案和/或與比特幣有關)
如果發現 SHA256 缺乏抗原像性,它會更容易解決這個難題嗎?
或者,如果發現該算法不具有抗碰撞性——這個謎題會更容易解決嗎?
謝謝
抗原像性和抗碰撞性不是絕對的,它們只是解決某些問題所必需的計算量問題。例如,對於具有 256 位輸出的理想雜湊函式,需要 2 256次求值才能找到原像,需要 2 128次求值才能找到碰撞。任何更少的東西都被視為攻擊。
例如,如果您僅使用 2 124次評估就可以找到衝突(不是因為您很幸運,而是因為您使用了特定於該函式的某種方法),這是一種攻擊,但它不實用,因為 2 124仍然非常大.
此外,對於比特幣探勘,您只需要找到部分原像,而不是完整原像。例如,要找到一個值,使其散列的前 50 位為零,您需要 2 50次散列評估,假設散列是理想的。還有一個問題:如果散列不是抗原像的(例如,你需要 2 240次評估來找到原像,而不是 2 256),這並不能說明對尋找部分原像的抵抗力(所以上述問題可能仍然需要 2 50次評估,但可能只需要 2 34)。缺乏抗碰撞性並不能說明尋找部分原像的難度。但是比特幣在其他地方依賴SHA256的抗碰撞能力,所以還是很重要的。