AI News HubLIVE
站內改寫2 分鐘閱讀

你能訓練AI反轉AES嗎?

本文探討了訓練AI反轉AES加密的可能性。將AES視為可滿足性問題,分析不透明和降級編碼,並討論複雜性理論中的平均情況難度和相變現象。

來源Hacker News AI作者: juansebastianl

2026年7月4日——在當今數字世界中,AES加密無處不在:每一次HTTPS瀏覽器會話、每一段WPA2/3 WiFi連接、每一個硬件級設備加密模塊,其核心都是AES算法。這使得反演AES——即找到私鑰或明文——成為當今最危險也最有價值的算法問題之一。隨着AI吞噬軟件,作者認為AI有可能解決AES反演問題。這篇博文詳細闡述了這一論點,並提供了GitHub倉庫中的強化學習環境供實驗。

為什麼AES可能脆弱?要讓模型解決AES,必須克服兩個問題:獎勵稀疏性和複雜性理論。顯然,後者更為根本。即便超級智能也無法繞過數學和複雜性理論施加的約束。本文首先處理獎勵稀疏問題,但重點放在複雜性理論上。

AES是一種代換-置換網絡,它通過多輪相對簡單的置換(由密鑰參數化)來構建。反演AES涉及反演大量複合置換,因此是一個組合問題。作者首先將AES表述為可滿足性問題(SAT)。他們選擇了AES-XTS模式(全盤加密使用的模式),該模式使用兩個獨立的AES-256密鑰:K1加密數據,K2派生每塊調整值。解密時,我們觀察到密文C和公共索引s、j,目標是恢復明文P(以及密鑰)。

為了用求解器攻擊,需要將密碼寫成具體對象。作者將XTS塊的窗口編譯成一個平面電路,包含三種記錄:值(字節大小的量,包括輸入、常量、內部導線)、操作(原語運算)和約束(斷言)。關鍵的建模決策是暴露密碼的粒度,有兩種選擇:不透明編碼和降級編碼。

在不透明編碼中,整個塊是單個整體操作,沒有導線,約束只是預測密文等於目標。它緊湊但搜索空間是黑盒,局部搜索無從下手。在降級編碼中,每個AES微步驟都有自己的操作和內部導線,每條導線帶有一致性約束。目標是將反演鑄造為未知量上的約束滿足問題,約束分為三類:一致性(僅降級編碼)、目標(密文匹配)和ASCII(平文字節為ASCII)。每個約束成為非負殘差,通過漢明距離度量,當總殘差為零時獲得可行解。

一旦涉及複雜性理論,立即亮起紅燈。SAT問題通常是NP-hard的。但作者指出,密碼學相關的並非最壞情況複雜度,而是平均情況複雜度。Bogdanov和Trevisan(2005)以及Akavia等人的研究表明,平均情況複雜度並非來自NP的最壞情況。第二個事實關於SAT中的相變:子句與變量比率q存在一箇中間點,問題從可滿足變為不可滿足,且變得極難。AES可能落在這個困難的中部區域。通過使用降級編碼和ASCII約束,可以為AI提供中間獎勵信號。儘管數學上的NP-hard性無法繞過,但平均情況下的實際難度可能允許AI突破。這一探索不僅具有理論價值,也可能對密碼學產生深遠影響。

此外,作者還提到了一個交互式可視化,展示了隨機3-SAT中從容易到困難再到容易的相變,這與自旋玻璃模型中的挫敗現象相似。在相變點附近,問題變得像自旋玻璃一樣,能量景觀破碎為許多競爭性的局部最小值。AES可能恰好處於這樣的臨界區域,使得AI有可能利用結構找到解。作者提供了一個強化學習環境,鼓勵讀者親自嘗試訓練模型。總之,雖然挑戰巨大,但AI反轉AES並非天方夜譚。