
作者:OneKey中文 來源:X,@OneKeyCN
最近這樣一條推特上了海外加密圈的熱搜: 「First practical SHA-256 collision for 31 steps.(首個 SHA-256 的 31 步可行碰撞攻擊)」 ,配圖是一張學術會議裡的 PPT。
Solana 聯創 Toly 轉發道「We are so back」,似乎是想說,只有這樣的牛市下才會有這樣的新聞。
確實,恰逢在加密貨幣總市值才要回到前高 3 萬億美元的時間點,這個突破顯得格外刺眼。要知道,如果 SHA-256 真的被破解了,各種加密貨幣都要一起完蛋,我們也會虧得只剩褲衩子。
這個突破是真的嗎?
直接回答:是真的,確實突破了 SHA-256 碰撞攻擊的新紀錄。
這篇論文已經被被密碼學三大旗艦會議之一的 EUROCRYPT 2024 接收。你可以在EUROCRYPT 官網( https:// eurocrypt.iacr.org/2024/acceptedp apers.php… )查到。並且可以在這裡( https:// eprint.iacr.org/2024/349 )查看論文原文,標題為《New Records in Collision Attacks on SHA-2(SHA-2 碰撞攻擊新記錄)》。
如何理解這一次的突破?
雖然會涉及很多密碼學的知識,下文會用最淺顯的語言幫你理解,也不會涉及太深的原理。
你首先需要知道, SHA-256 是什麼。
SHA-256 是一種加密算法,屬於論文標題中 SHA-2 系列算法的細分。它被廣泛地用在密碼學、數字籤名、數據完整性校驗等領域,是現代數字安全的基石。
在區塊鏈行業裡面,可以說是「頂梁柱」的存在,挖礦、私鑰安全、L2 數據發布(DA)等等,幾乎處處都有它的身影。
這個算法簡單來說,就是將任意長度的輸入轉換為固定長度的輸出(哈希值)。即無論輸入的內容有多長多短,經過算法輸出的哈希值始終為 256 位(32 個字節)。而且,它對輸入很敏感,輸入中微小的變動會產生截然不同的哈希值。同時,它是一個不可逆的函數,這意味著根據輸入很容易得到輸出,根據輸出卻無法高效地得到輸入。
例如「OneKey 科普:加密安全一點就通」這個文本,經過 SHA-256 加密之後,就會得到「C612FD61C200F9C7DC16565A53C0F96A4DEBD64C21EB40AE5283D4D36433A24A」。
假如我偷偷改了裡面的一點內容,如「TwoKey 科普:加密安全兩點就通」。此時再加密,就變成了「C3C0E108AD1417259E97E8E913459B9CECD67C3BD20D8DFE938214567FB4EB08」,是完全不一樣的結果。
這種關係,就好像人的指紋或者虹膜。每一個人都有獨一無二的指紋和虹膜,所以我們可以用它們來驗明身份、作為密碼。SHA-256 的哈希值在這裡是便數據的「指紋」。
而碰撞攻擊 SHA-256 的意義,就在於對於某一個數據的「指紋」,去尋找另外一個攻擊數據,使其能夠生成一樣的「指紋」,從而實現數據的偽造。
在 SHA-256 中,加密過程需要經過 64 步循環加密計算,這是算法設計者平衡了安全與效率後選擇的步數。
當我們說在 SHA-256 的前 31 步中發現了碰撞時,這是在說論文作者通過特別的方法找到了兩個不同的輸入,這些輸入在經過前 31 步的處理後,在內部中間狀態上產生了相同的值,從而在經過剩餘的 33 個步驟後有更大概率產生相同的哈希值輸出。
當然,隨著攻擊步數的增加,找到滿足碰撞條件的輸入對的難度通常會以指數級增長。這是因為每增加一步,攻擊碰撞分析中都需要考慮更多的內部狀態變化和傳播效應,這大大增加了計算和分析的複雜度。所以大家可能以為距離破解只剩一半了,其實還差了很多。
更何況,比特幣區塊的哈希值是通過對區塊頭信息進行兩次 SHA-256 運算得到的,私鑰生成公鑰和地址的過程還有使用了橢圓曲線數字籤名算法(ECDSA)、RIPEMD-160 算法。所以要想隨心所欲篡改比特幣區塊信息、攻擊私鑰,還有很長一段路要走。
而對於比特幣挖礦,挖礦過程本質上是尋找一個滿足特定條件的散列值,這個過程需要通過反覆嘗試不同的nonce值來實現。只有能夠更容易地找到符合條件的散列值碰撞,理論上才可能降低挖礦難度,從而影響比特幣的工作量證明(PoW)機制。
SHA-256的碰撞攻擊成功並不意味著能夠直接影響挖礦的難度,除非碰撞攻擊能夠以某種方式加速尋找這樣特定散列值的過程,否則對挖礦的直接影響有限。
假如真的被破解了怎麼辦?
這勢必將會引發全球數字安全的信任危機。
整個 Web2 安全就先崩了,各種銀行系統和政府機構可能都會緊急停止。加密貨幣的 3 萬億市值可能在這裡會顯得微不足道。
當然,好在加密貨幣是分叉升級的。對於比特幣來講,這種可怕的情況,肯定需要通過比特幣改進提案(BIP)和硬分叉升級算法核心加密算法。這些問題早就已經在社區內經過廣泛的討論,也有很多備選方案。哪怕是量子計算突破了,屆時也有會有相應的抗量子的算法去升級。
總而言之
突破了,但是不多。
我們只是在之前的研究上往前走了一點,這從學術上來講當然是突破,非常值得關注。
儘管如此,距離破壞性的破解仍有不小的差距,短期內對加密貨幣的影響可能也是有限的。比特幣和各種加密貨幣依舊安全,我們的褲衩子保住了。
對於任何安全敏感的數字系統來說,對新的密碼學研究成果保持警覺是至關重要的。如果有任何證明 SHA-256 算法在實際中存在嚴重弱點的發現,那將可能會對比特幣產生重大影響,包括但不限於信任度的損失和安全協議的改變。相信比特幣開發者和社區的大家都會密切監視情況,並在必要時準備進行安全升級。