1. 前言:真正的威脅是「現在攔截、未來解密」
談到後量子密碼學(Post-Quantum Cryptography,簡稱 PQC),最常見的反應是「量子電腦還早吧」。這個反應在硬體層面是對的:目前公開的量子處理器離「用 Shor 演算法分解 2048 位元 RSA 模數」所需要的規模,還差好幾個數量級——那需要數百萬顆物理量子位元來撐起數千顆容錯的邏輯量子位元。
但密碼學的時間軸不是這樣算的。真正的風險模型叫做「現在攔截、未來解密」(Harvest Now, Decrypt Later,HNDL):攻擊者今天不需要有能力解開你的流量,他只要把加密封包完整錄下來存著就好。等到十年、十五年後具備規模化量子運算能力,再把當年的錄影帶一次解開。
於是判斷急迫性的公式很簡單:你的資料需要保密多久 + 你完成遷移需要多久,如果大於量子電腦成熟所需的時間,你現在就已經來不及了。這個式子業界稱為 Mosca 定理。對病歷、保單、身分資料、國防與長期契約這類「二十年後洩漏依然是重大事故」的資料來說,答案早就是「現在動手」。
重點區分:機密性(加密)與真實性(簽章)的急迫性不同。加密有 HNDL 問題,今天的流量可以被留到未來解開;簽章沒有辦法回溯偽造,所以簽章的遷移壓力來自「長效信任根」——韌體簽章、程式碼簽章、CA 根憑證這些一旦簽下去就要活十年以上的東西。兩者都要換,但理由不一樣,優先順序也不一樣。
2. 量子電腦到底破壞了什麼
量子演算法並不是「讓所有加密失效」,它的殺傷力分布得非常不平均。理解這張表,就能判斷手上哪些元件要動、哪些其實不必慌。
| 密碼元件 | 相關量子演算法 | 實際後果 |
|---|---|---|
| RSA、Diffie-Hellman、ECDH、ECDSA、EdDSA | Shor(多項式時間解整數分解與離散對數) | 完全破解。這是今天 TLS、SSH、VPN、憑證體系的地基,必須換掉。 |
| AES、ChaCha20 等對稱式加密 | Grover(平方級加速搜尋) | 有效強度約打對折。AES-128 變成約 64 位元的搜尋難度,AES-256 仍然充裕——把金鑰長度加倍即可,不必換演算法。 |
| SHA-256、SHA-3 等雜湊函數 | Grover / 碰撞搜尋加速 | 影響有限,加長輸出即可。實務上 SHA-256 以上仍可繼續使用。 |
| HMAC、KDF 等對稱式建構 | 無專用量子攻擊 | 維持現狀即可,跟著底層雜湊與金鑰長度走。 |
所以結論相當明確:要大搬家的是「公開金鑰密碼學」,也就是金鑰交換與數位簽章這兩塊。對稱式加密只要確認金鑰長度足夠,基本上不動。很多團隊以為 PQC 遷移是把整套加密重寫,實際上範圍比想像中集中得多。
3. NIST 的標準地圖:三份已定案,一份在草案
NIST 從 2016 年開始徵選後量子演算法,經過三輪公開分析,2024 年 8 月正式發布第一批標準。這是整個產業遷移的基準線,供應鏈與法規也都會以這幾份文件為準。
| 標準 | 演算法(原提案名) | 用途與定位 |
|---|---|---|
| FIPS 203 | ML-KEM(CRYSTALS-Kyber) | 金鑰封裝機制(KEM),取代 ECDH 做金鑰交換。這是目前部署最廣、最該優先採用的一支。 |
| FIPS 204 | ML-DSA(CRYSTALS-Dilithium) | 數位簽章的主要選擇,取代 ECDSA / EdDSA 的一般用途簽章。 |
| FIPS 205 | SLH-DSA(SPHINCS+) | 以雜湊為基礎的無狀態簽章。簽章很大、速度較慢,但安全假設最保守,適合韌體與長效信任根這類「錯不起」的場景。 |
| FIPS 206(草案階段) | FN-DSA(FALCON) | 簽章體積明顯小於 ML-DSA,適合頻寬敏感的場合;標準化尚未完成,暫時不要當成生產環境唯一依靠。 |
| 第四輪備選 | HQC(以編碼理論為基礎) | 選為 ML-KEM 的備援 KEM。數學基礎與格密碼不同,目的是萬一格密碼出現重大突破時還有退路。 |
時程方面,NIST 的遷移指引草案(NIST IR 8547)給出的方向是:現行的 112 位元等級傳統演算法(RSA-2048、ECC P-256 這一類)在 2030 年前後進入「不建議使用」,2035 年後「不允許使用」。以企業系統動輒五到十年的汰換週期來看,這個時間表並不寬裕。
4. 分散押注:格、雜湊、編碼三種數學基礎
為什麼不乾脆選一支最快的就好?因為後量子演算法的安全性建立在「相對年輕」的數學難題上,沒有 RSA 那樣四十年的公開攻防紀錄。標準刻意混搭不同數學基礎,就是為了避免單點失效。
- 格密碼(Lattice-based):ML-KEM 與 ML-DSA 都屬於這一類,基於 Module-LWE 問題。優點是速度快、尺寸相對可接受,是目前的主力。
- 雜湊簽章(Hash-based):SLH-DSA 只依賴雜湊函數的安全性,安全論證最乾淨,代價是簽章體積很大。
- 編碼理論(Code-based):HQC 與 Classic McEliece 屬於這一類,研究歷史比格密碼更久,但金鑰尺寸相當可觀。
- 同源(Isogeny-based):曾被寄予厚望的 SIKE 在 2022 年被古典演算法在數小時內攻破,直接退出競賽。
SIKE 與 Rainbow 這兩支在最後階段才被攻破的候選演算法,是整個 PQC 工程最重要的一課:候選演算法會死,而且是在標準化後期才死。這正是下一節「混合式」設計的全部理由——不要把系統的安全性押在單一支新演算法上。
5. 工程上真正的痛點不是速度,是尺寸
多數人以為 PQC 的代價是運算變慢。實際上 ML-KEM 的運算速度甚至比 ECDH 更快。真正打到工程的是資料尺寸——公開金鑰、密文與簽章全部胖了一個數量級。
| 演算法 | 公開金鑰 | 密文 / 簽章 |
|---|---|---|
| X25519(金鑰交換,傳統) | 32 | 32 |
| ML-KEM-768(金鑰交換,PQC) | 1,184 | 1,088 |
| Ed25519(簽章,傳統) | 32 | 64 |
| RSA-2048(簽章,傳統) | 256 | 256 |
| ML-DSA-65(簽章,PQC) | 1,952 | 約 3,309 |
| SLH-DSA-128s(簽章,PQC) | 32 | 約 7,856 |
這些數字會沿著協定往外炸開,而且炸開的位置常常出乎意料:
- TLS 握手:ClientHello 從一個封包變成跨多個封包,某些中間設備與老舊防火牆會直接把它丟掉,症狀是「連得上舊站、連不上新站」這種極難除錯的災難。
- QUIC 的放大限制:伺服器在位址驗證完成前,回應量不得超過收到量的三倍,過大的憑證鏈會被迫多跑幾輪往返。
- 憑證鏈:一張憑證裡有簽章也有公開金鑰,整條鏈換成 PQC 之後可能從幾 KB 膨脹到十幾 KB,對行動網路的首次連線延遲影響顯著。
- 嵌入式與 IoT:韌體空間與 RAM 本來就緊,ML-DSA 的金鑰與簽章可能單純塞不進去。
- DNSSEC 與其他有封包大小上限的協定:受限於 UDP 尺寸,衝擊最直接。
6. 混合式(Hybrid):今天就能用的正解
既然新演算法還年輕,而舊演算法確定會被量子電腦破解,工程上的答案是兩支一起用:同一次握手同時跑傳統 ECDH 與後量子 KEM,把兩邊產出的祕密一起餵進金鑰衍生函數。只要其中任何一支還安全,這次連線就安全。
這個設計讓遷移的風險降到可接受:就算 ML-KEM 明天被發現瑕疵,你的連線退回到今天 X25519 的安全水準,不會比現狀更糟。以下是已經在真實世界跑的部署:
- TLS 1.3 的 X25519MLKEM768 混合群組:主流瀏覽器與大型 CDN 都已預設啟用,是目前部署規模最大的 PQC 應用;Cloudflare 公布的統計顯示,走混合式金鑰交換的瀏覽器流量占比已經過半。
- OpenSSH:自 9.x 系列起即以混合式金鑰交換為預設(sntrup761x25519),近期版本進一步納入以 ML-KEM 為基礎的 mlkem768x25519。
- Signal 的 PQXDH:在原本的 X3DH 金鑰協商上疊加後量子 KEM。
- Apple iMessage 的 PQ3:不只初始金鑰交換,還做持續的後量子金鑰更新(rekey)。
混合式在金鑰交換上幾乎沒有爭議,但在簽章上業界態度不同。簽章要的是「驗證方看得懂」,雙簽章會讓憑證再胖一倍,因此多數規畫是先完成金鑰交換的遷移(因為有 HNDL 壓力),簽章再依信任根的生命週期分批換。
7. 遷移路線圖:一般團隊現在該做的六件事
PQC 遷移九成的工作量不在密碼學,而在盤點與軟體架構。實際順序建議如下:
- 建立密碼清單(Cryptographic Inventory):找出系統裡所有用到公開金鑰密碼的地方——TLS 端點、SSH、VPN、JWT 簽章、資料庫加密、程式碼與韌體簽章、硬體安全模組、第三方 SDK。這一步最痛,而且幾乎所有團隊都會發現比預期多一倍。可以用 CBOM(CycloneDX 的密碼元件清單)把它變成可版控、可持續追蹤的產出物。
- 依資料保存年限排優先順序:套用 Mosca 定理。保密年限越長、遷移成本越高的系統,越要先排進計畫。
- 把演算法抽象化,建立密碼敏捷性(Crypto Agility):如果換一支演算法要改三十個檔案,那就先重構。目標是換演算法等於改設定,不是改程式。這件事無論量子電腦何時到來都值得做。
- 先開啟混合式金鑰交換:這是投報率最高的一步。升級 TLS 終端(CDN、反向代理、負載平衡器)到支援 X25519MLKEM768 的版本並啟用,成本低、風險可控、立刻消滅 HNDL 曝險。
- 驗證中間設備與相容性:握手變大之後,問題常常出在防火牆、DPI 設備與老舊客戶端。要在測試環境刻意壓測大握手,並保留可快速回退的開關。
- 規畫簽章與信任根的遷移:從韌體簽章、程式碼簽章、內部 PKI 這些生命週期最長的東西開始,追蹤 CA 與硬體供應商的 PQC 時程,不要等到憑證到期前三個月才發現硬體不支援。
8. 幾個常見誤解
- 「量子電腦還很遠,所以不用管」——遷移本身就要好幾年,而且 HNDL 讓今天的流量已經處於風險中。時程壓力來自遷移工期,不是來自量子電腦。
- 「PQC 會讓網站變慢」——ML-KEM 的運算成本很低,真正的代價是封包尺寸與往返次數,而且這部分可以透過憑證壓縮與協定調整緩解。
- 「有量子金鑰分發(QKD)就不需要 PQC」——QKD 需要專用的光纖或衛星鏈路,解決的是點對點金鑰分發,無法取代網際網路規模的公開金鑰基礎建設,也不提供身分認證。多國主管機關的公開立場都是以 PQC 為主要路線。
- 「換掉 AES 才安全」——AES 沒有被破,只要金鑰長度足夠(AES-256)即可。把力氣花在公開金鑰那一塊。
- 「等標準完全定案再說」——金鑰交換的標準(FIPS 203)已經定案並大規模部署,現在不動沒有任何技術理由。
9. 這件事跟學程式的孩子有什麼關係
我們把這篇寫進專文,不是為了讓國小的孩子去實作格密碼,而是因為 PQC 是一個極好的教材:它展示了什麼叫「工程上的長期思考」。一個十年後才會發生的威脅,逼得整個產業今天就要動工;一個已經跑了四十年、看起來好好的系統(RSA),因為數學上的一個結論就必須退場。
更貼近課堂的一點是:混合式設計就是「不要把全部押在一個答案上」的具體示範。我們在課堂上要求學員用 AI 產出程式後必須自己驗證、必須說得出哪裡可能錯,本質上是同一種思維——對強大但還沒被時間檢驗的新工具保持敬意,同時保留一條退路。這種判斷力,比記住任何一支演算法的名字都重要得多。
10. 結論
後量子密碼學不是一個等待未來的議題,而是一個已經有標準、有實作、有部署數據的現在進行式工程。NIST 的 FIPS 203 / 204 / 205 已經定案,混合式金鑰交換已經在你每天用的瀏覽器裡跑著,2030 到 2035 的汰換時程也已經寫在遷移指引草案裡。
對一般開發團隊來說,行動項目其實很收斂:先把密碼清單盤出來,把演算法選擇從程式碼裡抽出來變成設定,然後在 TLS 終端打開混合式金鑰交換。這三件事做完,你已經走完最重要的一段,剩下的簽章與信任根遷移就有時間慢慢排。真正會出事的,是那些到 2034 年才開始盤點的系統。
資訊安全密碼學後量子TLS