演算法

秀爾演算法(Shor's algorithm)

假設你想把一個大數還原成相乘得到它的那兩個質數。對於一個幾百位的數字,我們已知最好的古典方法所花的時間會超過宇宙的年齡,而 RSA 加密的全部安全性正是建立在這一難度之上。秀爾演算法是一套量子「配方」,能把這件事做得快得多。它的高明之處在於不去正面強攻因數分解,而是把問題換成另一個:挑一個數,讓它對你想分解的那個數取模、不斷升到更高的冪,這個序列最終會以某個週期重複出現。只要你能找到這個週期,再做一點普通的算術,就能把因數交到你手上。

找出這個週期,正是量子部分大顯身手的地方。演算法會準備一個暫存器,讓它同時容納許多輸入,再施加量子傅立葉轉換(QFT)——它的構造使得錯誤答案的振幅相互抵消,而揭示週期的那些振幅彼此增強。當你測量時,極有可能讀出一個指向週期的數值。這並不是說機器「把每個冪都試一遍、並行地全部檢查」——若真如此,測量後什麼有用的東西都留不下來。加速的來源,是把干涉安排得讓問題的週期結構變得「響亮」,而其他一切都安靜下去。對於這個特定、高度結構化的任務,這相對於我們目前已知的每一種古典方法,都帶來了指數級的優勢。

f(x) = a^x mod N — Shor finds the period r of this function, then uses it to factor N

把分解 N 重新表述為尋找模冪運算的週期 r;量子傅立葉轉換負責把 r 擷取出來。

如今沒有任何一台量子電腦的規模能接近在真實 RSA 金鑰上執行秀爾演算法所需的水準——那需要數百萬個高品質、經過糾錯的量子位元,遠遠超出我們現在擁有的、含雜訊的 NISQ 時代機器——但正是這一未來的威脅,促使人們轉向後量子密碼學(post-quantum cryptography)。

又稱
Shor factoring algorithm肖尔因数分解算法秀爾因數分解演算法Shor 算法