一個根深蒂固的誤解,正在阻礙量子就緒工作的進展。
隨著人們日益關注量子運算對現今最關鍵、最廣泛使用的加密形式所帶來的生存威脅,密碼學工程師 Filippo Valsorda 希望釐清一件事:與那些頑固不死的流行迷思相反,AES 128 在後量子時代是完全沒問題的。
AES 128 是進階加密標準(Advanced Encryption Standard)中最廣泛使用的版本,這是一種區塊密碼套件,於 2001 年由 NIST 正式採用。雖然該規格允許 192 位元和 256 位元的金鑰長度,但 AES 128 因其在所需計算資源與提供的安全性之間取得了最佳平衡,被廣泛認為是首選。在其 30 年的歷史中沒有已知的漏洞,暴力破解是唯一已知的破解方法。擁有 2^128 或 3.4 x 10^38 種可能的金鑰組合,以截至 2026 年的全部比特幣挖礦資源進行暴力破解攻擊,大約需要 90 億年。
在過去十年中,這種對公眾信心的情況發生了一些有趣變化。業餘密碼學家和數學家扭曲了一系列稱為 Grover 演算法的方程式,宣稱一旦出現密碼學相關的量子電腦(CRQC),AES 128 就將壽終正寢。他們聲稱 CRQC 會將有效強度減半至僅剩 2^64,這個數量足夠小,如果屬實,將允許相同的比特幣挖礦資源在不到一秒的時間內進行暴力破解(此比較僅為說明目的;CRQC 幾乎不可能像比特幣 ASIC 集群那樣運行,更重要的是,它無法像業餘人士假設的那樣對工作負載進行平行處理)。
週一,Valsorda 終於將多年來因廣泛存在的誤解而累積的挫敗感,傾注在一篇題為「量子電腦對 128 位元對稱金鑰沒有威脅」的部落格文章中。
「有一種普遍的誤解,認為量子電腦會將對稱金鑰的安全性『減半』,需要 256 位元的金鑰才能達到 128 位元的安全性,」他寫道。「這並不是對量子演算法提供的加速的準確解讀,也沒有反映在任何合規性指令中,並且有分散精力與注意力,使其偏離真正必要的後量子過渡工作的風險。」
這是論點中較容易的部分。更困難的部分是解釋它的數學和物理原理。最高層次來看,這歸結於暴力破解搜尋在經典電腦上的工作方式與使用 Grover 演算法的工作方式之間的基本差異。經典電腦可以同時執行多個搜尋,這種能力允許將大型任務分解成較小的部分,從而更快地完成整體工作。相比之下,Grover 演算法需要長時間的串行計算,其中每個搜尋都是一個接一個地進行。
「Grover 的特別之處在於,當你對其進行平行化時,它相對於非量子演算法的優勢就會縮小,」Valsorda 在一次採訪中說。他接著說:
用小數字來想像,假設有一個鎖有 256 種可能的組合,一次正常攻擊需要 256 次嘗試。你覺得太長了,所以你找了三個朋友,你們每個人嘗試 64 次。「這就是經典的平行化。使用 Grover,理論上你可以連續嘗試 √256)=16 次,但如果這仍然太長,你又找了三個朋友幫忙。每個人必須嘗試 √256/4)=8 次。
所以總共你嘗試了 8*4=32 次,這比你自己嘗試的 16 次還要多!尋求幫助來平行化攻擊反而讓整體攻擊變慢了。這與經典攻擊的情況不同。
當然,數字要大得多,但如果我們對攻擊者施加任何合理的限制(例如必須在 10 年內完成一次運行),總工作量將遠遠超過 2^64。
此外,2^64 從來都不是正確的數字,因為它假設你可以將 AES 作為單個操作在單個量子位元上進行。這在某種程度上是正交的。這兩個觀察的結合將實際成本變成了 2^104 左右,遠遠超出了安全閾值。
Google 的資深密碼學工程師 Sophie Schmieg 如此解釋:
在一次正常的暴力破解搜尋中,如果我在中途打斷它,我大約有 50% 的機會已經成功了。所以我可以讓兩台電腦進行搜尋,每台電腦處理超過 50% 的金鑰,並在一半的時間內完成。但對於 Grover 演算法,如果我在中途打斷它,得到正確答案的機率只有 25%。所以,我不再需要兩台電腦處理一半的搜尋空間,而是需要四台。
因此,如果你看核心秒數(coreseconds),經典演算法的成本與你使用的電腦數量無關。你可以增加核心數量,你的時間就會相應減少。但對於量子演算法,核心秒數與平行化策略無關。擁有更多核心並不能以相同的量減少時間,以至於如果你採用最大化平行化的實例,每個 QC 只需檢查一個金鑰,你需要 2^128 個 QC,而不是 2^64 個,也就是說,你並不比經典方法好。
Valsorda 的文章提供了更詳細的數學解釋,此影片也是。
Valsorda 列舉了支持 AES 在後量子世界中完全可接受的論點來源,包括美國國家標準與技術研究院(NIST)(此處、此處和此處)、德國聯邦資訊安全辦公室(此處)以及滑鐵盧大學組合數學與優化系助理教授 Samuel Jaques(此處)。
這些建議的例外情況在美國國家安全局(NSA)的商業國家安全演算法套件(Commercial National Security Algorithm Suite)第二版中有所說明,該版本要求使用 AES 256。Valsorda 表示,對 256 位元安全級別的要求甚至存在於前一代演算法套件中,並且並非專門針對量子就緒性。「據我所知,其目的是通過為所有設置選擇一個過大的原語來避免安全級別引入的碎片化。」
他進一步表示,在某些情況下,例如為了避免因生日悖論導致兩個金鑰隨機相等(碰撞)的可能性,也需要使用 256 位元 AES。
所以下次當你聽到有人說量子運算將 AES 的安全性降低了兩倍時,請Kindly提醒他們,這是一個迷思,它正在分散工程師們為應對 CRQC 的出現而進行的真正且艱鉅的工作的注意力。更新已知容易受到 Shor 演算法攻擊的非對稱演算法已經是一項艱鉅的任務,Shor 演算法能在多項式時間(特別是三次時間)內破解它們,這與當今經典電腦提供的指數時間相比,具有巨大的優勢。
「將必要和不必要的變更混為一談將導致不必要的動盪,並將資源從緊急更新中抽走,」Valsorda 認為。「我們很幸運能夠保持對稱加密(子)系統不變;我們應該善用這個恩賜,專注於真正需要做的工作,而這些工作已經很多了。」