<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>量子電腦 on kenji.blog</title><link>http://kenji.blog/zh-tw/tags/%E9%87%8F%E5%AD%90%E9%9B%BB%E8%85%A6/</link><description>Recent content in 量子電腦 on kenji.blog</description><generator>Hugo -- gohugo.io</generator><language>zh-tw</language><copyright>kenjinote</copyright><lastBuildDate>Sat, 05 Sep 2026 22:10:00 +0900</lastBuildDate><atom:link href="http://kenji.blog/zh-tw/tags/%E9%87%8F%E5%AD%90%E9%9B%BB%E8%85%A6/index.xml" rel="self" type="application/rss+xml"/><item><title>【完全解剖】什麼是量子電腦？〜從零開始理解終極計算原理〜</title><link>http://kenji.blog/zh-tw/p/quantum-computer-basics/</link><pubDate>Sat, 05 Sep 2026 22:10:00 +0900</pubDate><guid>http://kenji.blog/zh-tw/p/quantum-computer-basics/</guid><description>&lt;img src="http://kenji.blog/p/quantum-computer-basics/quantum_basics_eyecatch_1788613712487.jpg" alt="Featured image of post 【完全解剖】什麼是量子電腦？〜從零開始理解終極計算原理〜" />&lt;h2 id="前言量子電腦帶來的計算典範轉移">前言：量子電腦帶來的「計算典範轉移」
&lt;/h2>&lt;p>近年來，在新聞和科技文章中幾乎每天都會看到「量子電腦」這個詞彙。像是「將目前超級電腦需要運算數千年的計算在幾分鐘內完成」、「現在的加密技術可能都會被破解」等宛如科幻電影般的情節，正被煞有其事地討論著。從 Google、IBM、Microsoft 等科技巨頭，到世界各地的大學和新創企業，都在為了實現這項夢幻技術而激烈競爭。&lt;/p>
&lt;p>然而，當被問到「量子電腦到底是什麼？」時，能準確回答的人恐怕不多。許多人對其抱有「能同時計算所有組合的魔法箱」這種模糊的印象，但嚴格來說這並不正確。&lt;/p>
&lt;p>本文將從基礎徹底且專業又淺顯易懂地解說，量子電腦與古典電腦（我們平時使用的個人電腦或智慧型手機）根本上有何不同，以及它是如何利用「疊加態 (Superposition)」、「量子糾纏 (Entanglement)」、「量子閘 (Quantum gates)」等量子力學的奇妙現象來進行計算。在讀完這篇文章時，您應該能清楚理解量子電腦本質上的厲害之處以及目前的課題。&lt;/p>
&lt;hr>
&lt;h2 id="第-1-章古典電腦與量子電腦的決定性差異">第 1 章：古典電腦與量子電腦的決定性差異
&lt;/h2>&lt;p>為了理解量子電腦的運作原理，我們必須先複習一下我們現在使用的「古典電腦」是如何運作的。&lt;/p>
&lt;h3 id="比較表古典電腦-vs-量子電腦">比較表：古典電腦 vs 量子電腦
&lt;/h3>&lt;table>
&lt;thead>
&lt;tr>
&lt;th>項目&lt;/th>
&lt;th>古典電腦&lt;/th>
&lt;th>量子電腦&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>&lt;strong>基本單位&lt;/strong>&lt;/td>
&lt;td>位元 (0 或 1)&lt;/td>
&lt;td>量子位元 (0 與 1 的疊加)&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;strong>狀態表現&lt;/strong>&lt;/td>
&lt;td>確定性&lt;/td>
&lt;td>機率性（觀測前不確定）&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;strong>計算方式&lt;/strong>&lt;/td>
&lt;td>循序處理（平行化需要實體核心）&lt;/td>
&lt;td>量子平行性（同時操作指數級的狀態）&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;strong>擅長計算&lt;/strong>&lt;/td>
&lt;td>四則運算、日常資料處理&lt;/td>
&lt;td>質因數分解、量子化學計算&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;strong>容錯能力&lt;/strong>&lt;/td>
&lt;td>非常強&lt;/td>
&lt;td>非常弱（需要極低溫環境與錯誤更正）&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;h3 id="古典電腦的世界非-0-即-1-的位元-bit">古典電腦的世界：非 0 即 1 的「位元 (Bit)」
&lt;/h3>&lt;p>古典電腦將所有資訊以「0」或「1」的狀態來表現。這被稱為 &lt;strong>位元 (Bit)&lt;/strong> 。在物理上，是透過半導體晶片上電晶體電壓的高 (1) 或低 (0) 來呈現。
您智慧型手機裡的高畫質照片、現在正在閱讀的這篇文章，或是您喜歡的 YouTube 影片，究極而言都能還原成龐大的「0 與 1 的排列」。計算，不過是透過將 AND（邏輯積）、OR（邏輯和）、NOT（邏輯非）等基本邏輯閘組合起來，對這些 0 與 1 的排列進行操作的過程而已。
這是一個非常確定且具決定論的世界。只要輸入相同，就必然會得到相同的輸出。&lt;/p>
&lt;h3 id="量子電腦的世界既是-0-也是-1-的量子位元-qubit">量子電腦的世界：既是 0 也是 1 的「量子位元 (Qubit)」
&lt;/h3>&lt;p>另一方面，量子電腦的最小資訊單位被稱為 &lt;strong>量子位元 (Qubit: Quantum bit)&lt;/strong> 。
量子位元最大的特徵在於，它不像古典位元那樣只能處於「0」或「1」其中一種狀態，而是能夠處於「0 與 1 以特定機率混合的狀態」。這被稱為 &lt;strong>「疊加態 (Superposition)」&lt;/strong> 。&lt;/p>
&lt;p>例如，如果將古典位元比喻為一枚放在桌上，不是「正面」朝上就是「反面」朝上的硬幣，那麼量子位元常被比喻為「在空中持續旋轉的硬幣」。旋轉中的硬幣無法說它是正面或反面，而是兩種狀態疊加在一起。然後，在硬幣掉到地上停止轉動的瞬間（這在量子力學中稱為「觀測」），才會首次確定是「正面」還是「反面」。&lt;/p>
&lt;p>這種「觀測前狀態不確定」的微觀世界（量子力學）特有性質，正是量子電腦將其直接融入資訊處理過程的原因。&lt;/p>
&lt;hr>
&lt;h2 id="第-2-章從根本改變計算的-3-個量子力學性質">第 2 章：從根本改變計算的 3 個量子力學性質
&lt;/h2>&lt;p>量子電腦驚人計算能力的來源，並不僅僅是時脈頻率高或零件小而已。其關鍵在於將物理法則本身作為計算資源來利用。主要有以下 3 個量子力學現象為核心。&lt;/p>
&lt;h3 id="1-疊加態-superposition-與指數級的資訊量">1. 疊加態 (Superposition) 與指數級的資訊量
&lt;/h3>&lt;p>如前所述，量子位元可以同時保持 0 與 1 兩種狀態。1 個量子位元是「0 與 1 的疊加」，那麼如果增加量子位元的數量會發生什麼事呢？&lt;/p>
&lt;ul>
&lt;li>1 個量子位元：2 種狀態 (0, 1) 的疊加&lt;/li>
&lt;li>2 個量子位元：4 種狀態 (00, 01, 10, 11) 的疊加&lt;/li>
&lt;li>3 個量子位元：8 種狀態的疊加&lt;/li>
&lt;li>&lt;strong>N 個量子位元：$2^N$ 種模式的疊加&lt;/strong>&lt;/li>
&lt;/ul>
&lt;p>只要有 50 個量子位元，就能同時保持 $2^{50}$（約 1125 兆）種狀態。而只要有 300 個量子位元，就能一次保持 $2^{300}$ 種（比宇宙中存在的所有原子數量還要多！）模式。這種指數級的資訊保持能力，構成了量子電腦潛力的基礎。要在古典電腦的記憶體中儲存比宇宙原子數還多的狀態，在物理上是不可能的。&lt;/p>
&lt;h3 id="2-量子糾纏-entanglement令人毛骨悚然的超距作用">2. 量子糾纏 (Entanglement)：令人毛骨悚然的超距作用
&lt;/h3>&lt;p>量子糾纏是一種違反人類直覺的奇妙現象，連愛因斯坦都稱之為「令人毛骨悚然的超距作用 (Spooky action at a distance)」並終其一生無法接受。&lt;/p>
&lt;p>當多個量子位元進入「量子糾纏」狀態時，它們會互相強烈連結，形成一種命運共同體的關係： &lt;strong>「只要其中一方的狀態確定，無論距離多遠，另一方的狀態也會瞬間確定」&lt;/strong> 。&lt;/p>
&lt;p>例如，假設有兩個處於糾纏態的量子位元 A 與 B（它們各自處於 0 與 1 的疊加態）。當觀測 A 發現為「0」時，超越資訊傳遞速度極限的光速，B 的狀態也會瞬間確定（例如必定成為「1」）。
在量子電腦中，藉由利用這種量子糾纏，可以表現多個量子位元之間複雜的相關性，並進行超平行化的資訊處理。如果沒有糾纏，量子電腦的計算能力將與古典電腦相差無幾。&lt;/p>
&lt;h3 id="3-量子干涉-quantum-interference讓正確答案浮現的魔法">3. 量子干涉 (Quantum Interference)：讓正確答案浮現的魔法
&lt;/h3>&lt;p>您可能會想：「既然能同時保持所有模式，那不就可以一次平行計算，瞬間得出答案嗎？」這是對量子電腦最常見的誤解。
即使在疊加態下進行計算，最終為了知道答案，還是必須進行「觀測」。然而在觀測的瞬間，狀態會隨機坍縮成 $2^N$ 種模式中的其中一種。這樣一來，只會得出一個胡亂的（隨機的）答案而已。&lt;/p>
&lt;p>這時登場的就是 &lt;strong>「量子干涉 (Interference)」&lt;/strong> 。利用波與波相遇時，波長一致的地方會互相增強，錯開的地方會互相抵消的現象（本質上與抗噪耳機的原理相同）。&lt;/p>
&lt;p>優秀的「量子演算法」會在計算過程中巧妙地操作量子態，使得 &lt;strong>「通往正確答案的狀態（波）之機率振幅互相增強（放大）」，而「通往錯誤答案的狀態之機率振幅互相抵消」&lt;/strong> 。然後在最終觀測時，引導出幾乎 100% 的機率會得出「正確答案」。如何巧妙設計這個干涉過程，正是量子程式設計的精髓所在。&lt;/p>
&lt;hr>
&lt;h2 id="第-3-章如何進行計算量子閘與量子電路">第 3 章：如何進行計算？「量子閘」與「量子電路」
&lt;/h2>&lt;p>就像古典電腦使用邏輯閘（AND、OR、NOT 等）來進行計算一樣，量子電腦也是透過對量子位元應用被稱為 &lt;strong>「量子閘 (Quantum Gates)」&lt;/strong> 的操作來推進計算。將多個量子閘組合起來的結構被稱為 &lt;strong>量子電路 (Quantum Circuit)&lt;/strong> 。&lt;/p>
&lt;p>量子位元的狀態在數學上被表示為一個被稱為「布洛赫球面 (Bloch sphere)」的 3D 球體表面上的點。北極是「0」，南極是「1」，赤道上則是「0 與 1 各半疊加的狀態」。量子閘，不過就是在這顆球的表面上旋轉狀態（向量）的操作。&lt;/p>
&lt;p>讓我們介紹幾個代表性的量子閘。&lt;/p>
&lt;h3 id="1-hadamard-閘-h-閘">1. Hadamard 閘 (H 閘)
&lt;/h3>&lt;p>這是古典電腦中不存在、量子電腦獨有的最基本閘。將狀態完全為「0」的量子位元通過 H 閘，會創造出 0 與 1 被觀測到的機率剛好各半的「完全疊加態」（即布洛赫球面上赤道上的點）。作為量子計算的初始化步驟，許多演算法首先都會將這個 H 閘應用到所有的量子位元上。&lt;/p>
&lt;h3 id="2-pauli-閘-x-y-z-閘">2. Pauli 閘 (X, Y, Z 閘)
&lt;/h3>&lt;p>這些閘包含了相當於古典電腦中 NOT 閘（將 0 翻轉為 1，1 翻轉為 0）的操作。在布洛赫球面上，相當於以 X 軸、Y 軸、Z 軸為中心旋轉 180 度的操作。特別是 X 閘，會將北極 (0) 翻轉至南極 (1)，因此其作用與古典的 NOT 閘完全相同。Z 閘則具有反轉疊加態「相位（類似波的時機）」的作用，這在引發量子干涉上極為重要。&lt;/p>
&lt;h3 id="3-cnot-閘-受控-not-閘">3. CNOT 閘 (受控 NOT 閘)
&lt;/h3>&lt;p>這是用來創造量子糾纏的超重要閘。它使用兩個量子位元（控制位元與目標位元）。
其動作為：「如果控制位元為 1，則翻轉目標位元的狀態（X 閘）。如果控制位元為 0 則不作任何事。」乍看之下像是單純的 IF 條件分支，但如果控制位元是「0 與 1 的疊加態」時會發生什麼事呢？目標位元將變成「翻轉與不翻轉疊加的狀態」，兩個位元的命運完全連結在一起。兩個量子位元就這樣完美地「糾纏」了。&lt;/p>
&lt;p>將這些閘像樂譜上的音符一樣由左至右依序配置與應用，就能執行複雜的演算法。&lt;/p>
&lt;hr>
&lt;h2 id="第-4-章量子電腦擅長與不擅長什麼">第 4 章：量子電腦擅長與不擅長什麼？
&lt;/h2>&lt;p>這裡要告訴您一個重要的事實。量子電腦並非萬能的神。
在網頁瀏覽、影片渲染、Excel 巨集處理或是執行一般手機 App 等日常任務中，量子電腦大概永遠不會超越古典電腦。這些循序處理的任務，更適合已經高度最佳化、擁有壓倒性速度與低廉成本的古典電腦。&lt;/p>
&lt;p>量子電腦真正發揮其價值的，僅限於 &lt;strong>「在古典電腦上計算組合會呈指數級爆炸，需要花費相當於宇宙壽命時間的特定問題」&lt;/strong> 上。這被稱為「量子霸權 (Quantum Supremacy)」或「量子優勢 (Quantum Advantage)」。&lt;/p>
&lt;h3 id="量子電腦擅長的事殺手級應用">量子電腦擅長的事（殺手級應用）
&lt;/h3>&lt;h4 id="1-質因數分解與密碼破解shor-演算法">1. 質因數分解與密碼破解（Shor 演算法）
&lt;/h4>&lt;p>目前保護著網路上安全通訊（如信用卡付款或個人資訊傳送）的「RSA 加密」等技術，是基於「對巨大數字進行質因數分解對古典電腦來說實質上是不可能的（需要花費龐大時間）」這個前提。
然而，如果使用數學家 Peter Shor 在 1994 年發現的「Shor 演算法」，量子電腦就能巧妙利用干涉，以戲劇性的速度（多項式時間）解開這個問題。這也導致未來的現行加密體系有崩潰的風險，世界各國的中央銀行與政府機構正急於過渡到「後量子密碼學 (Post-Quantum Cryptography)」。&lt;/p>
&lt;h4 id="2-量子化學計算與新材料新藥開發">2. 量子化學計算與新材料、新藥開發
&lt;/h4>&lt;p>自然界中分子與原子的行為，原本就是遵循量子力學的法則。如果想用古典電腦來模擬複雜分子的行為，電子之間交互作用的組合會爆炸性增加，即使是相對較小的分子也會碰到計算量的極限。
正如諾貝爾物理學獎得主 Richard Feynman 所言：「如果你想模擬自然，你最好用量子力學來做。」量子電腦在物質模擬上展現出壓倒性的原生力量。人們期待它能在劃時代新藥的設計、常溫超導體的發現、高效率太陽能電池或電池材料的開發、節能肥料的合成等方面，為解決人類課題帶來突破。&lt;/p>
&lt;h4 id="3-組合最佳化問題與搜尋grover-演算法">3. 組合最佳化問題與搜尋（Grover 演算法）
&lt;/h4>&lt;p>從龐大的選項中找出最佳解的問題（如物流的最佳路線、金融投資組合的最佳化等），量子演算法也能發揮作用。使用「Grover 演算法」，在從未整理的資料庫中搜尋目標資料時，可以用古典電腦所需次數的平方根次數找到。例如，如果有 1 億筆資料，古典電腦最多需要找 1 億次，而量子電腦只需約 1 萬次即可完成。&lt;/p>
&lt;hr>
&lt;h2 id="第-5-章阻擋在前的硬體之牆去相干與量子錯誤更正">第 5 章：阻擋在前的硬體之牆「去相干」與「量子錯誤更正」
&lt;/h2>&lt;p>雖然量子電腦在理論上擁有如魔法般強大的力量，但通往實用化的道路上卻橫亙著極度高聳險峻的物理高牆。最大的敵人是 &lt;strong>「雜訊」&lt;/strong> 。&lt;/p>
&lt;p>量子位元的「疊加態」與「量子糾纏」是極其脆弱且容易破壞的狀態。只要接觸到周遭微小的熱能、電磁波波動，或是宇宙射線等，那種魔法般的狀態就會瞬間崩潰，變成單純的古典位元。這個現象被稱為 &lt;strong>「去相干 (Decoherence，量子退相干)」&lt;/strong> 。&lt;/p>
&lt;h3 id="物理實現方式的激烈競爭">物理實現方式的激烈競爭
&lt;/h3>&lt;p>目前，關於如何在物理上製造出這種脆弱的量子位元，世界各地正在研究各種方式，並引發了霸權爭奪戰。&lt;/p>
&lt;ul>
&lt;li>&lt;strong>超導方式 (Superconducting)&lt;/strong> ：由 Google、IBM、Amazon 等採用。使用環狀的超導電路，並用巨大的冷卻機將其冷卻至接近絕對零度（約 -273℃）的極低溫來控制量子態。這是目前最領先、也最容易增加量子位元數量的方式，但冷卻設備龐大且昂貴。&lt;/li>
&lt;li>&lt;strong>離子阱方式 (Trapped Ion)&lt;/strong> ：由 IonQ、Quantinuum 等採用。在真空中利用電磁場困住離子（原子），並照射精密的雷射來控制。其優勢在於所有的量子位元都很均勻，且能長時間維持狀態（相干時間長），但缺點是操作速度比超導方式慢。&lt;/li>
&lt;li>&lt;strong>光量子方式 (Photonic)&lt;/strong> ：PsiQuantum 等公司致力於此。使用光的粒子（光子）。其大部分運作不需要極低溫環境而能在室溫下進行，且與現有的矽晶片製造技術及光纖通訊技術相容性佳，是其一大優勢。&lt;/li>
&lt;li>&lt;strong>拓撲方式 (Topological)&lt;/strong> ：Microsoft 長年研究。這是一種野心勃勃的方法，試圖利用被稱為任意子 (Anyon) 的特殊粒子的拓撲（拓樸學）性質，製造出從根本上抵抗環境雜訊（不易發生錯誤）的量子位元。理論上是最強的，但物理實現的門檻被認為最高。&lt;/li>
&lt;/ul>
&lt;h3 id="終極目標容錯量子電腦-ftqc之路">終極目標「容錯量子電腦 (FTQC)」之路
&lt;/h3>&lt;p>現在的古典電腦世界中也存在計算錯誤（例如宇宙射線造成的位元翻轉），但由於「錯誤更正碼」能完美修正，因此我們在使用手機時從來不會意識到錯誤。量子電腦若要進行實用的大規模計算，同樣不可或缺的是 &lt;strong>「量子錯誤更正 (Quantum Error Correction: QEC)」&lt;/strong> 。&lt;/p>
&lt;p>然而，由於量子態具有「一觀測就會破壞」的性質，因此遇到一個致命的困境：無法透過直接查看內部（觀測）來確認錯誤。
為了解決這個問題，已經確立了一種理論（如表面碼等），將多個不穩定的「實體量子位元」巧妙組合，建構出 1 個能偵測並修正錯誤的穩定「邏輯量子位元」。
但是，據說為了製造出 1 個邏輯量子位元，需要 1000 到 1 萬個實體量子位元。若要使用數千個邏輯量子位元來執行 Shor 演算法等，整體系統將需要數百萬到數千萬個實體量子位元。&lt;/p>
&lt;p>我們目前所處的時代，被稱為 &lt;strong>NISQ (Noisy Intermediate-Scale Quantum：含雜訊的中等規模量子)&lt;/strong> 時代。這是過渡期的機器，沒有錯誤更正功能，僅以數十到數百個量子位元運作。
專家預測，要實現終極目標——完全具備錯誤更正能力的 &lt;strong>「容錯量子電腦 (Fault-Tolerant Quantum Computer: FTQC)」&lt;/strong> ，還需要 10 年到數十年的長期研發。&lt;/p>
&lt;hr>
&lt;h2 id="第-6-章量子電腦的歷史與未來展望">第 6 章：量子電腦的歷史與未來展望
&lt;/h2>&lt;p>最後，讓我們來俯瞰一下量子電腦是如何誕生，以及未來將走向何方。&lt;/p>
&lt;h3 id="從理論誕生到實證量子霸權">從理論誕生到實證「量子霸權」
&lt;/h3>&lt;ul>
&lt;li>&lt;strong>1980 年代&lt;/strong> ：物理學家 Paul Benioff 與 Richard Feynman 提出了利用量子力學原理的電腦概念。「想模擬自然就用量子力學」這句話成為了開端。&lt;/li>
&lt;li>&lt;strong>1994 年&lt;/strong> ：Peter Shor 發表了質因數分解的量子演算法（Shor 演算法）。震驚世界，並成為龐大研究資金湧入的契機。&lt;/li>
&lt;li>&lt;strong>1996 年&lt;/strong> ：Lov Grover 發表了加速資料搜尋的 Grover 演算法。&lt;/li>
&lt;li>**2019 年 ** ：歷史性的里程碑。Google 宣布使用 53 個量子位元的超導處理器「Sycamore」，在約 200 秒內完成了被認為古典超級電腦需要花費 1 萬年的隨機數生成驗證計算。這作為世界首次實證 &lt;strong>「量子霸權 (Quantum Supremacy)」&lt;/strong> 的宣言引起了巨大話題（隨後 IBM 等公司反駁，表示若改善古典超級電腦端的演算法，幾天內即可計算完畢，引發了熱烈討論）。&lt;/li>
&lt;li>&lt;strong>2023 年之後&lt;/strong> ：IBM 發表了超過 1000 個量子位元的處理器「Condor」。此外，哈佛大學等團隊成功生成並操作了「邏輯量子位元」，錯誤更正技術的初期實證開始陸續發表。&lt;/li>
&lt;/ul>
&lt;h3 id="邁向次世代的科技">邁向次世代的科技
&lt;/h3>&lt;p>量子電腦並不是單純的「時脈速度更快的次世代 CPU」。它是將計算行為本身的機理，用支配微觀世界的量子力學規則從根本改寫，這無疑是資訊科學領域的典範轉移。&lt;/p>
&lt;p>在我們的有生之年，或許不會擁有放進口袋裡的「個人量子智慧型手機」（這也沒必要）。但是，在 AWS 或 Azure 等雲端網路彼端那強大的量子資料中心，有朝一日可能會發現不治之症的特效藥，或是計算出能解決全球暖化的夢幻綠能材料（例如在常溫下從大氣中的氮氣合成氨的催化劑），這樣的未來確實正逐步逼近。&lt;/p>
&lt;p>現在仍然相當於 1940 年代 ENIAC 的黎明期，那時機器還在用打孔卡運作，巨大的真空管熱量讓整個房間悶熱不堪。然而，世界頂尖的研究人員與工程師們正絞盡腦汁，每天都有技術突破的報告。
能夠即時目睹這場新「計算黎明」的進化過程，我們可以說正生活在歷史上非常令人興奮的時代。&lt;/p>
&lt;p>通往量子世界的大門才剛剛開啟。未來的動向令人拭目以待。&lt;/p>
&lt;hr>
&lt;p>&lt;em>本文旨在為商務人士及對科技有興趣的一般大眾，以淺顯易懂的方式解說量子運算的基本概念。請諒解為了便於理解，部分嚴謹的數學與物理學定義（如狄拉克符號或複數機率振幅的細節等）有所簡化。&lt;/em>&lt;/p></description></item><item><title>量子電腦真的會破壞RSA加密嗎？〜Shor演算法與目前的發展階段〜</title><link>http://kenji.blog/zh-tw/p/shors-algorithm-and-rsa-breaking/</link><pubDate>Sat, 05 Sep 2026 22:09:21 +0900</pubDate><guid>http://kenji.blog/zh-tw/p/shors-algorithm-and-rsa-breaking/</guid><description>&lt;img src="http://kenji.blog/p/shors-algorithm-and-rsa-breaking/quantum_breaking_rsa_1788613722990.jpg" alt="Featured image of post 量子電腦真的會破壞RSA加密嗎？〜Shor演算法與目前的發展階段〜" />&lt;h2 id="前言密碼技術與量子電腦的交會點">前言：密碼技術與量子電腦的交會點
&lt;/h2>&lt;p>在現代網路社會中，保護通訊機密的基礎是「公開金鑰加密」。其中最具代表性的，是1977年由Ron Rivest、Adi Shamir和Leonard Adleman三位所開發的「RSA加密」。從我們每天使用的線上購物支付、網站瀏覽（HTTPS）到郵件收發，RSA加密一直扮演著網際網路基礎設施心臟的角色。&lt;/p>
&lt;p>然而，隨著「量子電腦」的出現，有人指出這種安全性可能會從根本上被顛覆。媒體上偶爾會出現「只要量子電腦完成，全世界的密碼和加密都會在幾秒鐘內被破解」這樣聳動的標題。究竟這是不是真的呢？&lt;/p>
&lt;p>本文將深入探討傳統的密碼破解手法GNFS（普通數體篩法）以及使用量子電腦破解密碼的決定性演算法「Shor演算法（Shor&amp;rsquo;s Algorithm）」的運作原理。我們將用淺顯易懂的方式解說量子傅立葉變換與尋找週期等進階概念，並詳細驗證目前在NISQ（Noisy Intermediate-Scale Quantum）時代量子硬體的現狀，以及實際要破解RSA-2048所需克服的障礙。&lt;/p>
&lt;hr>
&lt;h2 id="rsa加密的根基質因數分解的困難度">RSA加密的根基：質因數分解的困難度
&lt;/h2>&lt;p>RSA加密的安全性取決於數學中極度簡單的不對稱性。那就是「將兩個巨大的質數相乘很簡單，但要從相乘的結果（合成數）中找出原本的兩個質數（進行質因數分解）卻極其困難」的事實。&lt;/p>
&lt;p>舉例來說，假設有 $ p = 61 $、$ q = 53 $ 兩個質數。要計算這個乘法 $ N = p \times q = 3233 $ 只需要一瞬間。但是，如果只給你「3233」這個數字，要你解出「這是哪兩個質數相乘的結果？」，數字越大，計算量就會呈爆炸性增長。&lt;/p>
&lt;p>在目前主流的RSA-2048中，使用了長度為2048位元，換算成十進位約為617位數的巨大合成數 $ N $。只要能將這個 $ N $ 進行質因數分解，加密就等同於被破解了。&lt;/p>
&lt;h3 id="傳統電腦的挑戰gnfs普通數體篩法">傳統電腦的挑戰：GNFS（普通數體篩法）
&lt;/h3>&lt;p>為了從根本解決質因數分解問題，數學家和密碼學家長年來開發了各種演算法。其中，目前在傳統電腦上被認為最快的方法是 &lt;strong>普通數體篩法（GNFS: General Number Field Sieve）&lt;/strong> 。&lt;/p>
&lt;p>GNFS為了將巨大的數字 $ N $ 進行質因數分解，會將整數環的計算擴展到更抽象的代數體（Number Field）來進行解析。大致的流程如下：&lt;/p>
&lt;ol>
&lt;li>&lt;strong>選擇多項式&lt;/strong> ：尋找一個以 $ N $ 為根，且具有適當次數和係數的多項式 $ f(x) $。&lt;/li>
&lt;li>&lt;strong>收集資料（篩選）&lt;/strong> ：在有理數體及代數體上，尋找大量可以分解成小質數（平滑數，Smooth numbers）的數字對。這個過程被稱為「篩選」，也是最耗時的部分。&lt;/li>
&lt;li>&lt;strong>矩陣生成與簡約&lt;/strong> ：根據收集到的關係式生成巨大的稀疏矩陣（大部分元素為0的矩陣），並使用線性代數的手法（如區塊Lanczos法等）來求出解。&lt;/li>
&lt;li>&lt;strong>計算平方根&lt;/strong> ：最後在代數體上計算平方根，推導出 $ N $ 的因數（質因數）。&lt;/li>
&lt;/ol>
&lt;p>GNFS的計算量非漸近地被評估為 $ O(\exp((\sqrt[3]{\frac{64}{9}} + o(1)) (\log N)^{\frac{1}{3}} (\log \log N)^{\frac{2}{3}})) $。這被稱為「次指數時間（Sub-exponential）」的計算量。雖然比指數時間快，但比多項式時間（Polynomial time）要慢得多。&lt;/p>
&lt;p>實際上，2020年有一個國際研究團隊使用GNFS成功將RSA-250（829位元，250位數的合成數）進行了質因數分解。這項計算動用了全世界的運算資源，耗費了約2700 CPU核心年的龐大計算時間。然而，如果是2048位元，所需的計算量據說會膨脹到宇宙壽命的數兆倍，無論讓現在的超級電腦如何平行運作，都無法在現實時間內用傳統手法破解。&lt;/p>
&lt;hr>
&lt;h2 id="量子電腦的王牌shor演算法">量子電腦的王牌：Shor演算法
&lt;/h2>&lt;p>這時候登場的，是1994年由Peter Shor發表的「Shor演算法」。這個演算法劃時代地證明了質因數分解問題可以在量子電腦上以 &lt;strong>多項式時間&lt;/strong> （ $ O((\log N)^3) $ ）被解開。次指數時間和多項式時間的差距是決定性的，這意味著在理論上，只要使用量子電腦，RSA加密就會被徹底破壞。&lt;/p>
&lt;h3 id="shor演算法的整體流程">Shor演算法的整體流程
&lt;/h3>&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt"> 1
&lt;/span>&lt;span class="lnt"> 2
&lt;/span>&lt;span class="lnt"> 3
&lt;/span>&lt;span class="lnt"> 4
&lt;/span>&lt;span class="lnt"> 5
&lt;/span>&lt;span class="lnt"> 6
&lt;/span>&lt;span class="lnt"> 7
&lt;/span>&lt;span class="lnt"> 8
&lt;/span>&lt;span class="lnt"> 9
&lt;/span>&lt;span class="lnt">10
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">graph TD
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> A[輸入想進行質因數分解的數字 N] --&amp;gt; B[選擇一個隨機整數 a]
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> B --&amp;gt; C{a 與 N 的&amp;lt;br&amp;gt;最大公因數}
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> C --&amp;gt;|大於1| D[很幸運地發現了質因數！]
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> C --&amp;gt;|1 互質| E[量子電腦登場]
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> E --&amp;gt; F[利用量子傅立葉變換求出函數 f_x = a^x mod N 的&amp;lt;br&amp;gt;週期 r]
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> F --&amp;gt; G{週期 r 為偶數 且&amp;lt;br&amp;gt;a^r/2 ≢ -1 mod N}
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> G --&amp;gt;|Yes| H[計算最大公因數 gcd_a^r/2 ± 1, N]
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> H --&amp;gt; I((成功進行質因數分解！))
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> G --&amp;gt;|No| B
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>Shor演算法並非直接解開質因數分解的問題，而是運用數論定理將其轉換為另一個問題——「尋找週期問題（Period Finding Problem）」，並利用量子電腦的特性來高速解開它。&lt;/p>
&lt;h3 id="步驟1從質因數分解轉換為尋找週期問題傳統處理">步驟1：從質因數分解轉換為尋找週期問題（傳統處理）
&lt;/h3>&lt;p>演算法的第一個步驟在傳統電腦上進行。
針對想要進行質因數分解的數字 $ N $，選擇一個與 $ N $ 互質（最大公因數為1）的隨機整數 $ a $（ $ 1 &lt; a &lt; N $ ）。如果剛好最大公因數不是1，那麼當時發現的公因數就是 $ N $ 的質因數，破解也就完成了，但這個機率極低。&lt;/p>
&lt;p>接著，我們考慮以下的同餘方程式列：
$ f(x) = a^x \pmod N $&lt;/p>
&lt;p>若將 $ x = 1, 2, 3, \dots $ 代入這個函數 $ f(x) $ 中，數值看起來似乎是隨機的，但因為是在有限範圍內計算，所以必定會在某個地方回到原來的值，重複同樣的數列。我們將這個重複的週期稱為 $ r $。也就是說，
要找到符合 $ a^r \equiv 1 \pmod N $ 的最小正整數 $ r $ 的問題，這就是「尋找週期問題」。&lt;/p>
&lt;p>如果能找到這個週期 $ r $，且 $ r $ 為偶數，則 $ a^r - 1 \equiv 0 \pmod N $，利用因式分解的公式可以變形成為
$ (a^{r/2} - 1)(a^{r/2} + 1) \equiv 0 \pmod N $。
從這裡，利用歐幾里得演算法計算 $ N $ 和 $ a^{r/2} \pm 1 $ 的最大公因數，就有極高的機率能得到 $ N $ 的質因數。&lt;/p>
&lt;p>為了用傳統電腦找到週期 $ r $，說到底還是需要指數級的步驟，無法加速。但是，量子電腦卻能在一瞬間（以多項式時間）找到這個週期 $ r $。&lt;/p>
&lt;h3 id="步驟2準備量子狀態並使其疊加">步驟2：準備量子狀態並使其疊加
&lt;/h3>&lt;p>從這裡開始就是量子電腦發揮作用的地方了。
量子電腦使用的是能同時擁有「0」和「1」狀態的「量子位元（Qubit）」。在Shor演算法中，我們準備了兩個暫存器：一個用來儲存輸入（第一暫存器），另一個用來儲存計算結果（第二暫存器）。&lt;/p>
&lt;p>首先，我們將被稱為阿達瑪閘（Hadamard gate）的量子閘操作應用到第一暫存器的所有量子位元上。藉此，第一暫存器會處於所有可能的 $ x $ 值（從 $ 0 $ 到 $ 2^n-1 $。$ n $ 是一個夠大的位元數）的 &lt;strong>均勻疊加狀態&lt;/strong> 。&lt;/p>
&lt;p>換句話說，在量子電腦的內部，創造出了一個同時並存著 $ x=0, 1, 2, 3, \dots $ 等無數輸入值的狀態。&lt;/p>
&lt;h3 id="步驟3量子模冪運算quantum-modular-exponentiation">步驟3：量子模冪運算（Quantum Modular Exponentiation）
&lt;/h3>&lt;p>接著，以第一暫存器的疊加狀態為輸入，計算 $ f(x) = a^x \pmod N $，並將結果儲存到第二暫存器中。
由於這項計算是作為量子電路上的么正變換（Unitary transformation）來執行的，所以在保持疊加的狀態下，會「同時平行地（量子平行性）」進行對所有 $ x $ 的 $ f(x) $ 計算。&lt;/p>
&lt;p>此時，整個量子系統的空間處於
$ |x, a^x \bmod N\rangle $
這種狀態的龐大疊加。&lt;/p>
&lt;p>然而，如果在這裡單純地去測量（觀測）第二暫存器，就會隨機且機率性地選出一個 $ a^x \bmod N $ 的值，第一暫存器的 $ x $ 也會連帶地確定為單一一個值。這樣一來，就和用傳統電腦計算一次沒什麼兩樣，無法找到週期 $ r $。&lt;/p>
&lt;p>在量子力學的規則下，我們無法直接窺視疊加狀態的內容。那麼，我們該如何萃取出整體的「週期」這項全域資訊呢？&lt;/p>
&lt;h3 id="步驟4量子傅立葉變換qft-quantum-fourier-transform">步驟4：量子傅立葉變換（QFT: Quantum Fourier Transform）
&lt;/h3>&lt;p>突破這道難關，正是Shor演算法的精髓所在，也就是對第一暫存器應用 &lt;strong>量子傅立葉變換（QFT）&lt;/strong> 。&lt;/p>
&lt;p>在進行測量之前，我們先分析函數 $ f(x) $ 的波動性質。假設我們觀測了第二暫存器，並得到某個值 $ y $。於是，第一暫存器的狀態會坍縮為「能讓 $ a^x \pmod N = y $ 成立的所有 $ x $ 的疊加」。
這個 $ x $ 的值會呈現 $ x_0, x_0 + r, x_0 + 2r, x_0 + 3r, \dots $ 這種以週期 $ r $ 為間隔離散排列的狀態（一種梳狀的機率振幅分佈）。&lt;/p>
&lt;p>我們對這個狀態應用量子傅立葉變換（QFT）。就像傳統的離散傅立葉變換將時間域的訊號轉換到頻率域一樣，QFT會讓量子狀態的機率振幅產生干涉。&lt;/p>
&lt;p>套用QFT後，藉由量子干涉效應，不與週期 $ r $ 產生共鳴（相位不一致）的錯誤答案，其機率會互相抵消而趨近於零（破壞性干涉），只有帶有週期 $ r $ 資訊的正確答案，其機率會被放大（建設性干涉）。&lt;/p>
&lt;h3 id="步驟5測量與連分數展開傳統後處理">步驟5：測量與連分數展開（傳統後處理）
&lt;/h3>&lt;p>應用QFT後，若是測量第一暫存器，會有極高的機率得到一個接近 $ c \approx \frac{j \cdot 2^n}{r} $ 形式的整數 $ c $（ $ j $ 為未知整數，$ 2^n $ 為暫存器的大小）。&lt;/p>
&lt;p>將這個測量結果 $ c $ 送回傳統電腦，製造出 $ \frac{c}{2^n} \approx \frac{j}{r} $ 這個分數。然後，利用被稱為「連分數展開（Continued fraction expansion）」的數學方法來計算近似值，就能漂亮地找出作為分母的週期 $ r $。&lt;/p>
&lt;p>只要知道了 $ r $，接下來就能利用步驟1的公式計算出 $ N $ 的質因數，RSA加密也就被完全破解了。&lt;/p>
&lt;hr>
&lt;h2 id="現今量子電腦nisq的實力與課題">現今量子電腦（NISQ）的實力與課題
&lt;/h2>&lt;p>雖然在理論上是完美的Shor演算法，但如果被問到「明天RSA加密就會被破解嗎？」，答案明確是「不會」。其原因在於目前量子電腦硬體技術的限制。&lt;/p>
&lt;h3 id="nisqnoisy-intermediate-scale-quantum時代">NISQ（Noisy Intermediate-Scale Quantum）時代
&lt;/h3>&lt;p>我們現在所處的是被稱為「NISQ」的時代。NISQ設備雖然擁有數十到數百個實體量子位元，但對雜訊卻極為脆弱。&lt;/p>
&lt;p>量子位元很容易受到熱或電磁波等外部環境的影響，導致量子狀態被破壞的「去相干（decoherence，失去量子糾纏）」或是操作量子閘時的「閘錯誤」頻繁發生。如果試圖執行像Shor演算法這樣非常深（運算步驟數極度龐大）的量子電路，錯誤就會在計算過程中不斷累積，最終的輸出結果將變成毫無意義的純雜訊。&lt;/p>
&lt;h3 id="實體量子位元與邏輯量子位元">實體量子位元與邏輯量子位元
&lt;/h3>&lt;p>為了解決這個錯誤問題，不可或缺的就是「量子錯誤更正（Quantum Error Correction）」。
雖然傳統電腦也有使用錯誤更正碼，但因為有禁止複製量子狀態的「量子不可複製定理」，使得量子錯誤更正變得非常複雜。&lt;/p>
&lt;p>在量子錯誤更正中，會使用「表面碼（Surface Code）」等技術，將許多充滿雜訊的「實體量子位元」組合起來，創造出一個沒有錯誤的完美「邏輯量子位元」。&lt;/p>
&lt;p>以目前的錯誤率為前提，據估算要製造出1個邏輯量子位元，大約需要1,000到10,000個實體量子位元。這被稱為「錯誤更正的經常性負擔（overhead）」。&lt;/p>
&lt;h3 id="破壞rsa-2048需要多少資源">破壞RSA-2048需要多少資源？
&lt;/h3>&lt;p>那麼，為了解碼RSA-2048而實際去跑Shor演算法，究竟需要多少資源呢？&lt;/p>
&lt;p>根據Craig Gidney（Google）和Martin Ekerå在2021年發表的論文中劃時代的資源估算，若使用最佳化過的Shor演算法並利用表面碼進行錯誤更正，將需要以下資源：&lt;/p>
&lt;ul>
&lt;li>&lt;strong>邏輯量子位元數&lt;/strong> ：約 4,096 個&lt;/li>
&lt;li>&lt;strong>實體量子位元數&lt;/strong> ： &lt;strong>約 2000萬個&lt;/strong> （假設錯誤率在 $10^{-3}$ 左右）&lt;/li>
&lt;li>&lt;strong>計算時間&lt;/strong> ：約 8小時（需要數百萬到數十億次的實體閘操作）&lt;/li>
&lt;/ul>
&lt;p>相對應地，目前量子硬體的發展階段又是如何呢？
IBM在2023年底發表的超導量子處理器「Condor」為 1,121 個量子位元。此外，雖然也有關於生成邏輯量子位元的突破性研究發表（例如哈佛大學和QuEra公司等利用中性原子量子電腦成功生成了48個邏輯量子位元），但目前仍未達到能長時間連續執行「無雜訊完美運算」的階段。&lt;/p>
&lt;p>從數千個實體量子位元擴展到 &lt;strong>2000萬個&lt;/strong> 實用的實體量子位元（並且必須相互連接、在極低溫下穩定運作、還能以超高速處理控制訊號的系統），在工程上存在著難以跨越的障礙（配線問題、冷卻能力的極限、控制電子設備的肥大化）。許多專家預測，要實現能破解RSA-2048的「容錯量子電腦（FTQC）」，至少還需要10年到30年，甚至更長的時間。&lt;/p>
&lt;hr>
&lt;h2 id="悄悄逼近的store-now-decrypt-later威脅與pqc的黎明">悄悄逼近的「Store Now, Decrypt Later」威脅與PQC的黎明
&lt;/h2>&lt;p>如果認為「還要等10年以上，所以可以放心」，那就太早下定論了。目前存在著許多必須確保未來數十年機密性的資料，例如國家機密資訊、醫療資料以及長期的基礎設施設計等。&lt;/p>
&lt;p>這裡令人擔憂的是被稱為 &lt;strong>「Store Now, Decrypt Later（現在儲存，稍後解碼）」&lt;/strong> 的攻擊手法。充滿惡意的國家或組織會攔截目前用RSA或ECC（橢圓曲線密碼學）加密的所有通訊資料，並儲存到硬碟裡。然後在10年、20年後，當強大的量子電腦完成的瞬間，利用Shor演算法解開過去所有的資料並將機密曝光。&lt;/p>
&lt;p>為了對抗這種時間差帶來的威脅，以NIST（美國國家標準暨技術研究院）為中心，正急起直追地推動 &lt;strong>「後量子密碼學（PQC: Post-Quantum Cryptography）」&lt;/strong> 的標準化流程。&lt;/p>
&lt;p>PQC是一種基於即使用量子電腦也難以解開（也就是無法應用Shor演算法）的數學問題所建立的新型加密演算法。主要的方法有以下幾種：&lt;/p>
&lt;ul>
&lt;li>&lt;strong>晶格密碼學（Lattice-based cryptography）&lt;/strong> ：以LWE（Learning with Errors）問題等為基礎。在NIST的標準化中為主流（Kyber、Dilithium等）。&lt;/li>
&lt;li>&lt;strong>編碼型密碼學（Code-based cryptography）&lt;/strong> ：取決於解碼錯誤更正碼問題的困難度。&lt;/li>
&lt;li>&lt;strong>多變量多項式密碼學（Multivariate cryptography）&lt;/strong> ：取決於解開多變數聯立二次方程式的困難度。&lt;/li>
&lt;li>&lt;strong>雜湊型數位簽章（Hash-based signatures）&lt;/strong> ：僅依賴於雜湊函數安全性的數位簽章。&lt;/li>
&lt;/ul>
&lt;p>目前，包括Google Chrome和Apple的iMessage等主要軟體和平台，都已經開始進行PQC的導入測試和混合實作了。&lt;/p>
&lt;h2 id="結語">結語
&lt;/h2>&lt;p>量子電腦正從科幻世界的夢想，轉變為現實工程上的挑戰。Shor演算法是數學與量子力學融合的人類偉大智慧結晶，但同時也蘊含著動搖我們數位社會基礎的「破壞性力量」。&lt;/p>
&lt;p>RSA加密並不會明天馬上就無法使用。然而，考量到量子技術的進化以及「Store Now, Decrypt Later」的風險，轉向PQC這場將在密碼史留下紀錄的大規模轉移，已經悄悄開始了。我們現在正目睹資訊安全典範轉移的最前線。&lt;/p></description></item><item><title>【用數學公式完全理解】為何最強古典演算法「GNFS」會敗給量子演算法？質因數分解的典範轉移</title><link>http://kenji.blog/zh-tw/p/gnfs-to-shors-algorithm-math-deepdive/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>http://kenji.blog/zh-tw/p/gnfs-to-shors-algorithm-math-deepdive/</guid><description>&lt;img src="http://kenji.blog/p/gnfs-to-shors-algorithm-math-deepdive/quantum_vs_gnfs_eyecatch_1788616101508.jpg" alt="Featured image of post 【用數學公式完全理解】為何最強古典演算法「GNFS」會敗給量子演算法？質因數分解的典範轉移" />&lt;p>現代網際網路社會中的資訊安全，主要依賴以RSA密碼為首的公開金鑰密碼系統來保護。RSA密碼安全性的基礎，仰賴於 &lt;strong>「對巨大的合成數進行質因數分解，在計算複雜度上是極度困難的」&lt;/strong> 這個事實。&lt;/p>
&lt;p>本文將解析古典電腦中最強的質因數分解演算法 &lt;strong>「普通數體篩法」&lt;/strong> （General Number Field Sieve, GNFS）的數學機制，並透過數學公式與概念圖，深入探討為何它會被彼得·秀爾（Peter Shor）所發現的 &lt;strong>「Shor演算法」&lt;/strong> 完全擊敗，徹底剖析這場典範轉移。&lt;/p>
&lt;hr>
&lt;h2 id="1-古典計算中質因數分解的策略從費馬質因數分解法的發展">1. 古典計算中質因數分解的策略：從費馬質因數分解法的發展
&lt;/h2>&lt;p>質因數分解問題，是對於給定的合成數 $N$，找出滿足 $N = p \times q$ 的質數 $p, q$ 的問題。&lt;/p>
&lt;p>基本的想法，可以歸結為尋找滿足以下同餘式的非平凡 $x, y$：&lt;/p>
$$ x^2 \equiv y^2 \pmod N $$
&lt;p>將其變形後可得：&lt;/p>
$$ x^2 - y^2 \equiv 0 \pmod N $$
$$ (x - y)(x + y) \equiv 0 \pmod N $$
&lt;p>在此，若 $x \not\equiv \pm y \pmod N$，藉由計算 $\gcd(x-y, N)$ 或 $\gcd(x+y, N)$，就能獲得 $N$ 的非平凡因數。這個事實成為了GNFS等近代質因數分解演算法的基礎。&lt;/p>
&lt;hr>
&lt;h2 id="2-最強古典演算法普通數體篩法gnfs的深淵">2. 最強古典演算法：「普通數體篩法」（GNFS）的深淵
&lt;/h2>&lt;p>&lt;strong>「GNFS」&lt;/strong> 是目前已知針對古典電腦的質因數分解演算法中速度最快的。它的時間複雜度需要次指數（Sub-exponential）時間。&lt;/p>
&lt;h3 id="gnfs的計算複雜度">GNFS的計算複雜度
&lt;/h3>&lt;p>當數字 $N$ 的位數為 $b = \log_2 N$ 時，GNFS的計算複雜度可以表示如下：&lt;/p>
$$ O\left( \exp \left( \left(\frac{64}{9} b\right)^{1/3} (\log b)^{2/3} \right) \right) $$
&lt;p>從這個公式可以看出，複雜度並非多項式時間，而是比指數函數稍微慢一點的 &lt;strong>「次指數時間」&lt;/strong> 。儘管如此，當位數增加時，計算時間仍會以天文數字般增長。&lt;/p>
&lt;h3 id="gnfs的數學機制">GNFS的數學機制
&lt;/h3>&lt;p>GNFS大致可以分為四個步驟：&lt;/p>
&lt;ol>
&lt;li>&lt;strong>多項式選擇 (Polynomial Selection)&lt;/strong>&lt;/li>
&lt;li>&lt;strong>篩法 (Sieving)&lt;/strong>&lt;/li>
&lt;li>&lt;strong>矩陣化簡 (Matrix Reduction)&lt;/strong>&lt;/li>
&lt;li>&lt;strong>計算平方根 (Square Root)&lt;/strong>&lt;/li>
&lt;/ol>
&lt;h4 id="21-多項式選擇與代數體">2.1. 多項式選擇與代數體
&lt;/h4>&lt;p>首先，選擇以整數為係數的不可約多項式 $f(x)$ 與 $g(x)$。它們被設定為在 modulo $N$ 之下具有共同的根 $m$。也就是說，&lt;/p>
$$ f(m) \equiv 0 \pmod N $$
$$ g(m) \equiv 0 \pmod N $$
&lt;p>通常，$g(x)$ 會被選為一次多項式 $g(x) = x - m$。若將 $f(x)$ 的根設為 $\alpha$，則可建構出名為 $\mathbb{Q}(\alpha)$ 的 &lt;strong>「代數體」&lt;/strong> （Number Field）。透過同態映射 $\phi: \alpha \mapsto m$，來比較 $\mathbb{Q}(\alpha)$ 環上的運算與一般整數環 $\mathbb{Z}$ 的運算。&lt;/p>
&lt;h4 id="22-篩法-sieving">2.2. 篩法 (Sieving)
&lt;/h4>&lt;p>接著，大量搜尋互質的整數對 $(a, b)$。目的是尋找使得以下兩個數值皆為 &lt;strong>「B-smooth」&lt;/strong> （僅由較小的質因數組成）的配對：&lt;/p>
&lt;ol>
&lt;li>$a - bm$ （在整數環上的值）&lt;/li>
&lt;li>$b^d f(a/b)$ （對應到代數體上的範數 $N(a - b\alpha)$）&lt;/li>
&lt;/ol>
&lt;p>這裡使用了一種稱為 &lt;strong>「篩法」&lt;/strong> （Sieve）的快速搜尋手法。藉此，能從龐大的候選者中有效率地萃取出符合條件的 $(a, b)$ 配對。&lt;/p>
&lt;h4 id="23-矩陣化簡-linear-algebra-over-gf2">2.3. 矩陣化簡 (Linear Algebra over GF(2))
&lt;/h4>&lt;p>從收集到的配對 $(a, b)$ 建構出指數向量，並在 $\mathbb{F}_2$ （元素僅有0與1的體）上求出巨大稀疏矩陣的左零空間。&lt;/p>
&lt;p>為了讓關係式 $ \prod (a_i - b_i m) $ 與 $ \prod (a_i - b_i \alpha) $ 分別成為平方元素，我們找出向量 $v$ 作為解。這無非就是解以下的線性方程組：&lt;/p>
$$ M \mathbf{x} \equiv \mathbf{0} \pmod 2 $$
&lt;p>在此階段，會活用如區塊蘭佐斯法（Block Lanczos Algorithm）或區塊維德曼法（Block Wiedemann Algorithm）等高度數值計算演算法。&lt;/p>
&lt;h4 id="24-計算平方根">2.4. 計算平方根
&lt;/h4>&lt;p>最後，在代數體與整數環兩邊皆取平方根，導出 $x^2 \equiv y^2 \pmod N$ 這個關係式。接著計算 $\gcd(x-y, N)$，便能獲得因數。&lt;/p>
&lt;hr>
&lt;h2 id="3-量子計算帶來的突破shor演算法">3. 量子計算帶來的突破：「Shor演算法」
&lt;/h2>&lt;p>相對於GNFS需要次指數時間，由彼得·秀爾於1994年發表的 &lt;strong>「Shor演算法」&lt;/strong> ，透過使用量子電腦，能以 &lt;strong>「多項式時間」&lt;/strong> 解決這個問題。&lt;/p>
&lt;h3 id="shor演算法的計算複雜度">Shor演算法的計算複雜度
&lt;/h3>&lt;p>當量子位元數為 $O(\log N)$ 時，時間複雜度如下：&lt;/p>
$$ O((\log N)^3) $$
&lt;p>這意味著計算時間不會相對於位元數產生指數級的爆炸。這是一個驚人的結果：即使是 &lt;strong>「古典計算」&lt;/strong> 需要超過宇宙壽命才能解開的巨大合成數，在 &lt;strong>「量子計算」&lt;/strong> 下也只需數小時至數天即可破解。&lt;/p>
&lt;h3 id="shor演算法的全貌歸結為週期尋找問題">Shor演算法的全貌：歸結為週期尋找問題
&lt;/h3>&lt;p>Shor演算法巧妙地將質因數分解問題歸結為 &lt;strong>「週期尋找問題」&lt;/strong> 。&lt;/p>
&lt;ol>
&lt;li>選擇一個與 $N$ 互質的隨機整數 $a$ （$1 &lt; a &lt; N$）。&lt;/li>
&lt;li>定義函數 $f(x) = a^x \bmod N$。&lt;/li>
&lt;li>尋找 $f(x)$ 的週期 $r$，即尋找使得 $a^r \equiv 1 \pmod N$ 成立的最小正整數 $r$。&lt;/li>
&lt;li>若 $r$ 為偶數，則確認 $a^{r/2} \not\equiv -1 \pmod N$ 是否成立，並計算 $\gcd(a^{r/2} \pm 1, N)$ 來獲得質因數。&lt;/li>
&lt;/ol>
&lt;p>這個步驟3的 &lt;strong>「尋找週期 $r$ 」&lt;/strong> ，正是古典電腦需要耗費指數時間的瓶頸，但量子電腦透過 &lt;strong>「量子疊加」&lt;/strong> 與 &lt;strong>「量子傅立葉轉換」&lt;/strong> （QFT），能在一瞬間解決這個問題。&lt;/p>
&lt;hr>
&lt;h2 id="4-量子傅立葉轉換qft與週期的萃取">4. 量子傅立葉轉換（QFT）與週期的萃取
&lt;/h2>&lt;p>讓我們用數學公式詳細檢視Shor演算法的核心：量子狀態的操作。&lt;/p>
&lt;h3 id="41-產生量子疊加態">4.1. 產生量子疊加態
&lt;/h3>&lt;p>首先，準備兩個量子暫存器。暫存器1保存輸入 $x$ 的疊加態，暫存器2保存函數計算結果 $f(x)$。對初始狀態 $|0\rangle |0\rangle$ 應用阿達馬轉換（Hadamard Transform），創造出所有可能 $x$ 的疊加態。&lt;/p>
$$ |\psi_1\rangle = \frac{1}{\sqrt{Q}} \sum_{x=0}^{Q-1} |x\rangle |0\rangle $$
&lt;p>
（這裡 $Q$ 是滿足 $N^2 \le Q &lt; 2N^2$ 的2的冪次方）&lt;/p>
&lt;p>接著，使用量子神諭（Quantum Oracle） $U_f$ 計算 $f(x) = a^x \bmod N$，並儲存至暫存器2。&lt;/p>
$$ |\psi_2\rangle = U_f |\psi_1\rangle = \frac{1}{\sqrt{Q}} \sum_{x=0}^{Q-1} |x\rangle |a^x \bmod N\rangle $$
&lt;p>假設我們在這裡測量了暫存器2（實際上即使不測量，數學結構也是相同的）。若觀測到某個值 $y = a^{x_0} \bmod N$，則暫存器1的狀態會塌縮成所有滿足 $f(x) = y$ 的 $x$ 的疊加態。假設週期為 $r$，則這樣的 $x$ 將會是 $x_0, x_0 + r, x_0 + 2r, \dots$。&lt;/p>
$$ |\psi_3\rangle = \frac{1}{\sqrt{M}} \sum_{k=0}^{M-1} |x_0 + kr\rangle $$
&lt;p>
（這裡 $M \approx Q/r$ 為項的數量）&lt;/p>
&lt;p>這個狀態蘊含了週期 $r$ 的資訊，但若直接測量，只能得到隨機的 $x_0 + kr$，無法得知週期 $r$。這時QFT就派上用場了。&lt;/p>
&lt;h3 id="42-應用量子傅立葉轉換-quantum-fourier-transform">4.2. 應用量子傅立葉轉換 (Quantum Fourier Transform)
&lt;/h3>&lt;p>QFT是對量子狀態的振幅進行離散傅立葉轉換的操作。QFT對狀態 $|x\rangle$ 的作用定義如下：&lt;/p>
$$ \text{QFT} |x\rangle = \frac{1}{\sqrt{Q}} \sum_{y=0}^{Q-1} e^{2\pi i \frac{xy}{Q}} |y\rangle $$
&lt;p>將其應用於 $|\psi_3\rangle$ 時，會發生相位的干涉（量子干涉）。&lt;/p>
$$ |\psi_4\rangle = \text{QFT} |\psi_3\rangle = \frac{1}{\sqrt{MQ}} \sum_{y=0}^{Q-1} \sum_{k=0}^{M-1} e^{2\pi i \frac{(x_0 + kr)y}{Q}} |y\rangle $$
&lt;p>展開這個式子的和，會出現：&lt;/p>
$$ \sum_{k=0}^{M-1} e^{2\pi i \frac{kry}{Q}} $$
&lt;p>這個幾何級數的和，只有當 $ry/Q$ 接近整數時才會產生建設性干涉（Constructive Interference），在其他情況下則會相互抵消，產生破壞性干涉（Destructive Interference）。&lt;/p>
&lt;p>因此，能以高機率被測量到的狀態 $|y\rangle$，將是滿足以下條件的整數 $y$：&lt;/p>
$$ \frac{y}{Q} \approx \frac{c}{r} $$
&lt;p>
（$c$ 為某個整數）&lt;/p>
&lt;h3 id="43-透過連分數展開找出週期">4.3. 透過連分數展開找出週期
&lt;/h3>&lt;p>藉由測量得到 $y$ 後，利用古典電腦對 $y/Q$ 進行 &lt;strong>「連分數展開」&lt;/strong> （Continued Fraction Expansion）。藉此，計算出 $y/Q$ 的近似分數 $c/r$，便能非常有效率地從分母萃取出週期 $r$ 的候選值。&lt;/p>
&lt;hr>
&lt;h2 id="5-概念模型的比較與典範轉移">5. 概念模型的比較與典範轉移
&lt;/h2>&lt;p>為了直觀理解GNFS與Shor演算法的差異，以下展示使用Mermaid語法的概念圖。&lt;/p>
&lt;h3 id="透過量子電路的shor演算法概念圖">透過量子電路的Shor演算法概念圖
&lt;/h3>&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt"> 1
&lt;/span>&lt;span class="lnt"> 2
&lt;/span>&lt;span class="lnt"> 3
&lt;/span>&lt;span class="lnt"> 4
&lt;/span>&lt;span class="lnt"> 5
&lt;/span>&lt;span class="lnt"> 6
&lt;/span>&lt;span class="lnt"> 7
&lt;/span>&lt;span class="lnt"> 8
&lt;/span>&lt;span class="lnt"> 9
&lt;/span>&lt;span class="lnt">10
&lt;/span>&lt;span class="lnt">11
&lt;/span>&lt;span class="lnt">12
&lt;/span>&lt;span class="lnt">13
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-fallback" data-lang="fallback">&lt;span class="line">&lt;span class="cl">graph TD
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> A[初始狀態: 0...0] --&amp;gt; B[Hadamard轉換產生全狀態的疊加]
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> B --&amp;gt; C[模冪運算 a^x mod N]
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> C --&amp;gt;|量子糾纏| D[塌縮至具週期性的狀態]
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> D --&amp;gt; E[量子傅立葉轉換 QFT]
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> E --&amp;gt;|透過干涉放大機率| F[測量: 獲得y]
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> F --&amp;gt; G[古典處理: 連分數展開]
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> G --&amp;gt; H[發現週期 r]
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> H --&amp;gt; I[算出N的質因數]
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> style A fill:#f9f,stroke:#333,stroke-width:2px
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> style E fill:#bbf,stroke:#333,stroke-width:2px
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> style I fill:#bfb,stroke:#333,stroke-width:2px
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;h3 id="典範轉移的本質">典範轉移的本質
&lt;/h3>&lt;p>GNFS採取 &lt;strong>「在數學空間（代數體）中尋找關係式」&lt;/strong> 的策略。然而，由於搜尋空間相對於位數呈指數級擴大，使得古典電腦的運算能力（即使包含平行運算），在金鑰長度超過2048位元等情況下，實際上是無法破解的。&lt;/p>
&lt;p>另一方面，Shor演算法利用了 &lt;strong>「量子干涉的波特性」&lt;/strong> 。它同時評估處於疊加態的所有計算路徑，並透過QFT抵消（破壞性干涉）不需要的答案，僅放大（建設性干涉）正確週期答案的機率振幅。藉此，它並非去搜尋空間，而是實現了 &lt;strong>「讓正確答案自己浮現出來」&lt;/strong> 這種完全不同維度的策略。&lt;/p>
&lt;h2 id="6-總結">6. 總結
&lt;/h2>&lt;p>本文深入比較了作為古典極限的 &lt;strong>「GNFS」&lt;/strong> ，以及展現量子計算力量的 &lt;strong>「Shor演算法」&lt;/strong> ，探討了兩者的數學背景與演算法結構。&lt;/p>
&lt;p>GNFS透過多項式選擇與巨大矩陣計算等數學技巧，將計算複雜度壓低至次指數時間；相對地，Shor演算法將量子力學的基本原理（疊加與干涉）與數學工具（QFT）融合，一舉突破至多項式時間。&lt;/p>
&lt;p>目前，尚不存在能夠以實用規模（數千個量子位元）執行Shor演算法的容錯量子電腦（FTQC）。然而，正是這個數學與理論上的典範轉移，成為了現在全世界急於轉換至後量子密碼學（PQC: Post-Quantum Cryptography）的最大理由。&lt;/p></description></item></channel></rss>