
量子計算還遠遠無法破解橢圓曲線密碼
TechFlow Selected深潮精選

量子計算還遠遠無法破解橢圓曲線密碼
本文拆解了破解 ECC 到底需要什麼條件,以及我們離那一天還有多遠。
作者:Derrick Cui
編譯:深潮 TechFlow
深潮導讀:儘管理論進步已將破解橢圓曲線密碼所需的量子硬件需求從 3.17 億個物理量子比特(2022 年)降至 50 萬個(2026 年),但當前量子計算機能實際運行算法的量子比特數僅約 105 個,距離實用攻擊仍有數個數量級的差距。本文拆解了破解 ECC 到底需要什麼條件,以及我們離那一天還有多遠。
核心要點
下表對比了 2026 年論文理論上破解 ECC(橢圓曲線密碼,用於 TLS、比特幣和 HTTPS)所需條件與當前實際進展。結論是:我們遠未接近。
最大的進步來自理論層面,比如算法和糾錯設計將所需操作次數和量子比特數從約 3.17 億個物理量子比特(2022 年)降至 50 萬以下(2026 年)。硬件也有改進(雙量子比特保真度從 2005 年的約 90%提升至如今的 99.9%以上,相干時間從約 1 微秒延長至約 1 毫秒)。但最關鍵的硬件指標——單臺機器中可用的量子比特數——幾乎沒有增長:約 105 個能運行真實算法,而所需數量是約 50 萬個。

Q 日(量子計算破解密碼之日)預估:
Justin Drake 認為 2030 年前概率 10%,2032 年前概率 50%
美國國家標準與技術研究院/國家安全局將淘汰易受攻擊密碼的目標定在 2035 年
量子計算沒有摩爾定律的等價物。所需條件在四年內下降了約 600 倍,而機器規模在過去十年可能只增長了 10 倍。因此,不可能知道真實時間表是什麼。
量子計算進展的當前前沿
定義:
物理量子比特:量子計算機中的量子比特總數
邏輯量子比特/糾錯量子比特:糾錯後實際可用的量子比特數(經典計算機的對應概念是信息比特與總比特數之比)。例如,量子計算中的 distance-5 碼意味著用約 49 個物理量子比特存儲 1 個量子比特的信息
非 Clifford 門:對量子比特執行的、經典機器難以模擬的計算。包括 T 門
T 門:對單個量子比特施加 45 度相位旋轉的操作。誘導 T 門取決於量子計算機的硬件;對於超導量子計算機,使用微波脈衝來誘導該效應
魔術態:預製的、一次性的量子比特,其中預先烘焙了非 Clifford 門。由於非 Clifford 門無法直接應用於糾錯量子比特,你通過消耗魔術態來間接應用該門——通過糾纏+測量+糾正(一種稱為門"隱形傳態"的過程)
Toffoli 門:作用於 3 個量子比特(2 個控制比特、1 個目標比特),僅當兩個控制比特都為 1 時才翻轉目標比特。它由約 7 個 T 門(優化後為 4 個)加 Clifford 門構建。在糾錯量子比特上,應用一個 Toffoli 門的唯一方法是消耗一個魔術態
Shor 算法:1994 年發明,作為量子計算機破解 RSA 和 ECC 的方法(通過解決週期查找問題)
校驗子:用於檢測數據量子比特是否發生錯誤的量子比特("檢查量子比特")產生的結果流
提純:將許多噪聲魔術態組合的過程,消耗 15 個噪聲態以輸出一個乾淨得多的態
用 Shor 算法破解 ECC:
2026 年,一篇論文引入了新的電路設計和 Shor 算法的"預處理",需要更少的計算來破解 ECC(這會破解比特幣、以太坊、SSH、TLS、HTTPS)
該論文理論化破解 ECC 在一臺超導量子計算機上是可能的,需要約 1,200 個邏輯量子比特無錯誤地鏈接約 9,000 萬個 Toffoli 門。按目前的糾錯水平,這意味著約 50 萬個物理量子比特和數分鐘的運行時間
計算管線
大致流程:將物理量子比特放在芯片上 → 將許多物理量子比特捆綁成每個糾錯邏輯量子比特 → 在邏輯量子比特上運行算法的門,為困難的(非 Clifford)門消耗魔術態 → 測量並在經典計算機上後處理。
從噪聲物理量子比特開始
挑戰:將足夠多的量子比特物理地放入一臺機器(控制線路、解碼芯片、激光束、佈線等)
進展:算法設計的改進已將需求從約 3.17 億個量子比特(2022 年)降至約 900 萬個(Litinski 2023 年)再降至 50 萬個(2026 年)。加州理工在 2025 年用光鑷固定了 6,100 個量子比特(固定它們,而非計算)。IBM 的 Condor 芯片可容納 1,121 個量子比特,但太噪聲無法運行真實算法。運行過實際算法的最大芯片約 105 個(谷歌 Willow,2026 年 3 月)
通過糾錯將它們捆綁成可靠的邏輯量子比特
挑戰:2026 年論文需要約 9,000 萬個 Toffoli 門依次鏈接且每個都必須成功,每次操作的邏輯錯誤率必須低於約 1/90,000,000。實際上目標("北極星")是邏輯錯誤率為約 10⁻⁹或更低
進展:2024 年,谷歌展示了由 101 個物理量子比特構成的 1 個邏輯量子比特(distance-7)的錯誤率比 49 個物理量子比特的(distance-5)低 2.14 倍,後者又比 17 個物理量子比特的(distance-3)低 2.14 倍。這篇論文證明了隨著物理量子比特增加,錯誤持續下降。101 量子比特(distance-7)的錯誤率為每週期 1.4×10⁻³;大約高出一百萬倍
保持糾錯運行以維持它們存活
挑戰:解碼隨著量子比特數量增加變得更難。超導量子計算機每約 1 微秒發出一輪校驗子數據,經典解碼器必須在不到約 1 微秒內完全處理每一輪,持續進行。解碼必須跟上添加到計算機的量子比特數量
進展:Riverlane 的局部聚類解碼器(《自然通訊》,2025 年 12 月)是第一個達到每輪 1 微秒以下且具有自適應性的硬件(FPGA)解碼器。谷歌的 AlphaQubit 2(2026 年 3 月)以每週期 1 微秒以下進行實時神經解碼至 distance 11;模擬表明一個 TPU 可達 distance 25。距離 50 萬量子比特規模還差得遠
消耗魔術態來執行困難的門
挑戰:每個困難的門(Toffoli)消耗一個魔術態,而 ECC 需要約 9,000 萬個。足夠快地製造和純化魔術態是一個主要的吞吐量瓶頸。提純工廠是一塊邏輯量子比特塊+路由通道,在計算時處於閒置狀態。在規模化時,工廠通常佔總物理量子比特的約 2-10%以上
進展:魔術態培養(2024 年)使每個魔術態的成本大幅降低。QuEra 在 2024 年僅用 5 個邏輯量子比特展示了邏輯級提純
測量 → 經典計算機完成數學運算
不是瓶頸。測量邏輯量子比特並運行經典後處理(測量結果 → 週期 → 私鑰)已被充分理解且成本低廉。
我未討論的一些研究前沿:
快時鐘與慢時鐘架構
模塊化/多芯片架構
閾值以下糾錯碼
表面碼與 qLDPC 碼:我沒有討論 IBM 在 qLDPC 方面的進展,因為他們迄今只展示了存儲量子比特(存儲器),而非在其上進行計算
魔術態成本
魔術態路由/編譯
相干時間
在量子比特上運行存儲與計算
低溫控制電子設備
洩漏和相關錯誤
比特幣風險
關於比特幣使用 ECC 會被破解的恐慌言論很多。破解 ECC 對比特幣到底意味著什麼?
Shor's 算法允許攻擊者在擁有你的公鑰 Q 的情況下恢復你的私鑰 k。一旦他們做到這一點,他們就變成了你。他們可以簽署一筆將你的幣轉移到自己手中的交易,而這是一筆完全有效的交易。
然而,比特幣地址不是你的公鑰,而是你公鑰的哈希值(公鑰先經過 SHA-256 再經過 RIPEMD-160)。哈希是一種不同的數學運算,Shor's 算法無法破解它。
但是,要授權一筆交易,你必須公開公鑰 Q,它會永久留在鏈上。所以任何向另一個地址發送過比特幣的地址都可能被攻破。現代錢包每次發送比特幣時都會將全部餘額轉移到一個新地址,這樣可以保護用戶。
大約有 670 萬枚 BTC 已經暴露,可能會通過量子計算被盜。
Justin Drake 還寫到了在 10 分鐘比特幣區塊時間內私鑰被竊取的風險。他列出的論文顯示這可能在 9 分鐘內完成。這個問題遠不如丟失已經暴露的 670 萬枚 BTC 嚴重。
真正解決這個問題的唯一方法是讓所有人都切換到量子安全密鑰(技術已經存在),並且在一段時間後銷燬未轉移的比特幣。讓比特幣社區同意這樣做將是一項艱鉅的任務。
以太坊風險
以太坊使用與比特幣相同的曲線(secp256k1)和相同的簽名方案(ECDSA),所以底層的破解方式是相同的:給定公鑰,Shor's 算法恢復私鑰,私鑰持有者就是賬戶所有者。
以太坊有持久賬戶,意味著地址會被重複使用。這意味著如果量子計算今天能用,每個發送過交易的錢包都可能被接管。
替換 ECDSA 很簡單。問題在於後量子簽名比 ECDSA 大得多,意味著節點必須存儲更多內存。這也是以太坊在改變簽名方案的同時轉向 zk 的原因。
它還要求每個用戶主動從舊密鑰遷移到新密鑰。人們沒有轉移的賬戶必須被銷燬,這樣黑客就無法控制它們。
技術解釋
公鑰密碼學允許兩個人在不可信的網絡(比如公共互聯網)上安全通信,而不需要事先共享秘密。
有很多不同的協議(你可以把它們看作適合特定用例的最終用途工具)。比如 Diffie-Hellman 密鑰交換、ECDSA 簽名、RSA 加密。它們的底層難題分別是離散對數、EC 離散對數和因式分解。經典計算機很難解決的核心數學瓶頸是週期性。
量子計算機能夠做的實際數學運算是尋找週期。
什麼是 ECC
ECC(用於 TLS、比特幣和 HTTPS)建立在單向街道上。從曲線上的公共點 G 開始,"跳躍" k 次到達新點 Q。向前跳躍很快。但如果有人向你展示起點(G)和終點(Q),找出跳了多少次實際上是不可能的。
跳躍次數 k 是你的私鑰;終點 Q 是你的公鑰。每個人都能看到你的起點和終點,但只有你知道它們之間的步數。
數學解釋是:
橢圓曲線只是滿足方程 y² = x³ + ax + b 的有限域上的點集
G 是基點(公開的,由標準固定)。對於私鑰 k,公鑰是點 Q = kG
通過倍加法從 k 計算 Q 需要 O(log k) 次群運算
從 (G, Q) 恢復 k 是 ECDLP(橢圓曲線離散對數問題),經典方法是試錯,所以非常慢
Shor's 算法在多項式時間內解決 ECDLP,將其歸結為在 G 生成的群上尋找週期

這是一條橢圓曲線。

展示 y² ≡ x³ + 7 (mod 17) 上 EC 點乘法的圖表。曲線和基點 G 是公開的,終點 Q 也是公開的。秘密是 k = 6,從 G 到 Q 的跳躍次數。向前計算(計算 Q = kG)很快;從 G 和 Q 恢復 k 沒有已知的經典捷徑。這個例子使用 mod 17,你可以數跳躍次數——真實的 ECC 使用約 2²⁵⁶ 的模空間
Shor's 算法如何破解 ECC
破解 ECC 歸結為一個看似簡單的函數:f(x, y) = xG + yQ,其中 G 是公共生成器,Q 是你要攻擊的公鑰。由於 Q = kG,這實際上是 f(x, y) = (x + ky)G。
這帶來一個後果:將輸入步進 (k, −1) 永遠不會改變輸出,因為 (x + k) + k(y − 1) = x + ky。所以 f 沿著通過 (x, y) 網格的平行對角線重複,這些對角線的方向編碼了 k(私鑰)。
找到這個方向需要兩個不同的 (x, y) 對產生相同的輸出。經典方法必須通過暴力搜索這樣的碰撞。
量子計算機讓你能夠:
在疊加態中一次性評估所有 (x, y) 對的 f,所以整個條紋網格同時存在於機器中
但你仍然無法觀察——測量會坍縮到一個隨機點,這什麼也告訴不了你
傅里葉變換使除了重複方向之外的所有東西都相互抵消,產生一個頻率峰值,通過一些經典數學運算可以得到 k

每個金色單元格是一個輸入對 (x, y),產生相同的輸出點。它們以固定步長重複——向右 k,向下 1——所以私鑰編碼在對角線的方向上。(玩具示例:k = 2, n = 13。在真實規模下,網格有 2²⁵⁶ 列,你一次只能檢查一個單元格,這就是為什麼這個模式在經典情況下不可見。)
來看一個例子:取整數 mod 17 上的曲線 y² = x³ + 2x + 2。(這個問題很簡單因為它在 mod17 下。通常是在 mod 2²⁵⁶ 下)它恰好有 n = 19 個點,G = (5, 1) 生成所有點。假設我的公鑰是 Q = (0, 6)。你的任務:找到 k 使得 Q = kG。(答案是 k = 7,因為 G, 2G, 3G, ... 依次走過 (5,1), (6,3), (10,6), (3,1), (9,16), (16,13),在第 7 步到達 (0,6)。)
設置。兩個計數寄存器,一個用於 x,一個用於 y,每個保存 0 到 18 的值。一個工作寄存器保存曲線點。與因式分解的關鍵區別:對於 RSA,週期 r 是未知數,所以寄存器必須過大(2n 量子比特),峰值是近似的。這裡 n = 19 是公開的,所以我們可以在 mod-19 算術上精確進行 QFT,峰值每次都完全尖銳。
階段 1——初始化。重置一切。將工作寄存器設置為單位點 O(曲線的"零")。
階段 2——疊加。對兩個計數寄存器進行 Hadamard 式疊加。它們現在一次性保存所有 19 × 19 = 361 對 (x, y)。
階段 3——點加法(糾纏步驟)。事先,經典地計算每個比特位置 j 的常數 2ʲG 和 2ʲQ。然後,根據每個計數量子比特的控制,將相應的常數添加到工作寄存器中。完整序列後,工作寄存器保存 xG + yQ,與每個 (x, y) 對糾纏。
完整狀態是一個大糾纏和:對所有 361 對求和 Σ |x⟩|y⟩|xG + yQ⟩。由於 Q = 7G,工作寄存器實際保存 (x + 7y mod 19)G——只有 19 個不同的值。按工作寄存器值對和分組:
所有 x + 7y ≡ 0 (mod 19) 的 (x, y) ⊗ |O⟩
所有 x + 7y ≡ 1 (mod 19) 的 (x, y) ⊗ |(5, 1)⟩
所有 x + 7y ≡ 2 (mod 19) 的 (x, y) ⊗ |(6, 3)⟩
... 19 組,每組 19 對
秘密 k = 7 現在編碼在每組的斜率中:每組是通過 (x, y) 網格的對角線。但你無法直接讀出來,因為測量會坍縮給出一個隨機對,無法告訴你關於斜率的任何信息。
階段 4——逆 QFT + 測量。對兩個計數寄存器應用逆 QFT。振幅集中在恰好滿足 v ≡ k·u (mod 19) 的 19 對 (u, v) 上。傅里葉變換將線的斜率轉換為頻率空間的斜率。測量隨機產生這 19 對中的一對。

左邊的網格是階段 3 後的狀態。所有 361 對 (x, y) 存在於疊加態中,每個不同的工作寄存器值收集它們的對角線族。綠色和橙色是兩組。右邊的網格是逆 QFT 後的狀態。所有振幅坍縮到單線 v ≡ k·u (mod 19) 上。
芯片外後處理:
測量 (u, v) = (3, 2):k = 2 · 3⁻¹ mod 19 = 2 · 13 = 26 ≡ 7 ✓(檢查:7G = (0, 6) = Q ✓)
測量 (u, v) = (5, 16):k = 16 · 5⁻¹ mod 19 = 16 · 4 = 64 ≡ 7 ✓
測量 (u, v) = (0, 0):無信息,重新運行任何 u ≠ 0 的結果都有效(18/19 次運行)。
我們關心找到 k 是因為 k 是私鑰。你現在可以發送消息,你和被破解密鑰的人之間沒有任何區別。
量子計算機的類型
簡單來說,量子比特可以在任何輸出概率性地存在於 1 和 0 之間的系統中製造。
量子比特的類型有:
超導電路(Google、IBM、Rigetti、IQM)基於 LC 電路。基本上,這是一個行為非常類似於原子的電路("人造原子")。就像電子存在於量子化能級中一樣,我們可以製造電路振盪的量子化能級。
囚禁離子(IonQ、Quantinuum)。取一個缺少一個電子的單原子,然後用激光創建疊加態,再照射另一束激光並拍照捕獲其狀態(要麼發光要麼不發光,兩種狀態)。
中性原子(QuEra、Pasqal、Atom Computing)與離子相同的想法(單原子的兩個內部狀態,通過成像讀出),但原子不帶電,由光學鑷子固定。
光子(PsiQuantum、Xanadu)。單光子具有水平或垂直偏振的屬性(或走兩條路徑之一)。
硅自旋量子比特(Intel、Diraq、Quantum Motion)屬性是電子的自旋;它們存在於自旋向上或自旋向下之間。
留給讀者的練習
作為一個有趣的練習,這是我幾年前密碼學課上的一道作業題和我的解答。

歡迎加入深潮 TechFlow 官方社群
Telegram 訂閱群:https://t.me/TechFlowDaily
Twitter 官方帳號:https://x.com/TechFlowPost
Twitter 英文帳號:https://x.com/BlockFlow_News














