科技大補帖
eLearning

量子電腦的機會與挑戰
——量子模擬與量子破密
2023.04.21

鍾豪/臺灣大學電機碩士畢業,現為卡內基美隆大學電腦工程博士生。喜歡遊走在不同學科之間,最大的興趣是做一切聽起來很酷的事。

 

 

說起電腦有什麼功能,相信大家很容易就能想出一連串答案,例如上網、寫文件、玩遊戲、看影片等。但是,如果今天你得到一台量子電腦,你想拿它來做什麼呢?在本文中,筆者將介紹量子電腦其中兩項應用:「模擬量子系統」及「破解密碼系統」。

 

指數成長的威力

傳說在某個國家,國王問一位立了大功的人想要什麼獎勵。這個人說:「第 1 天,在西洋棋盤第 1 格放 1 粒麥子;第 2 天,西洋棋盤第 2 格放置的麥粒為前一格的兩倍,以此類推,直到第 64 天,在最後一格放入第 63 格兩倍的麥粒即可。」國王一聽覺得這沒什麼問題,便答應了他的要求。沒想到,幾十天過後,全國糧倉中的麥子都不足以支付這個人要求的獎勵。這個故事展現了「指數函數」成長的威力。這個人在第 n 天要求的麥子數量可以表示為 2n-1。此函數一開始數字不大,但是成長速度非常快。比如 210=1,024、220=1,048,576、230=1,073,741,824……,到最後,這個人總共要求的麥子數量高達 264-1,也就是 18,446,744,073,709,551,615 這麼多!

其實,當我們想利用古典電腦,也就是不具備量子運算能力的電腦來模擬量子系統時,同樣的問題也會發生。

20 世紀初,物理學家發現,原子尺度的世界並不能用傳統的牛頓力學來描述,進而發展出量子力學。在量子力學中,若我們要描述一顆電子的自旋,可以用一個二維的向量(a, b)來表示,其中 a 表示自旋向上的分量,b 則表示自旋向下的分量。那麼,如果是兩顆電子呢?這時就需要一個四維的向量(a, b, c, d)來表示了,其中 a、b、c、d 分別代表兩顆電子「上上、上下、下上、下下」四種自旋可能性的分量。接下來的事就和國王的獎勵一樣,若我們要描述 n 顆電子的自旋,就需要一個 2n 維的向量。更糟糕的是,當我們想計算這 n 顆電子隨時間的演化過程,就必須計算 2n 維的矩陣作用在該向量的結果。這樣的計算量,當 n 達到 60 左右時,連地球上最強的超級電腦都無法企及。

 

 

用量子模擬量子

在製藥、材料合成等工業中,經常需要研究新的化學反應。但在研究過程中,如果實驗難以執行,或是實驗很昂貴、緩慢時,電腦模擬就是個非常有力的工具。此時,我們只需要在電腦上輸入參與化學反應的反應物和反應時的環境,就能用數值計算估計反應完成後的狀態。然而,當化學反應接近原子尺度時,量子力學產生的效應就不可忽略了。如前面所提到,要模擬一個具有量子效應的系統,計算量會隨系統大小指數成長。

1982 年,美國物理學家費曼(Richard Feynman)針對模擬量子系統這項問題提出了解法:「我們可以讓電腦的計算元件本身就具有量子特性。」如此一來,當我們要模擬量子系統時,並不需要計算 2n 個數字,而是利用具備量子特性的計算元件直接代表欲模擬的系統,再把反應過程翻譯成量子電腦可以執行的運算。像這樣具備量子特性的電腦就稱為「量子電腦」,而其中的計算元件則稱為「量子位元」(qubit)。

如下圖,我們想模擬化合物 A 和化合物 B 在 300°C 高溫下反應 100 秒後的結果。首先,先將化合物 A 和化合物 B 一開始的狀態利用量子位元來表示。接著,要模擬化學反應時,當然不可能直接用 300°C 去燒烤量子電腦,而是把「在 300°C 高溫下反應 100 秒」這個反應過程翻譯成量子電腦能執行的運算。在量子電腦執行完後,再測量最後量子位元的狀態,就能得到模擬的結果。

 

 

量子電腦破解密碼系統

當我們打開瀏覽器使用網路服務時,若是網址為「https」開頭,這個「s」就代表連線已經過加密保護,這種保護在我們使用信用卡交易、登入網路銀行,或是任何需要帳號密碼的服務時格外重要。若想建立出難以破解的加密連線,密碼系統往往需要仰賴一個計算很困難的數學難題。比方說「質因數分解」,當給定一個很大的數時,要找出該數的質因數分解就是件很困難的事。對古典電腦來說,要分解一個 n 位元的數字,以目前最好的演算法「number field sieve」大約需要 2n1/3 個步驟。雖然這個函數成長得比國王的獎勵慢,但是當 n 超過 1,000 時,連超級電腦也將束手無策。

然而在 1994 年時,美國數學家秀爾(Peter Shor)發明了一個量子演算法,能夠有效率地破解質因數分解和離散對數等問題。對於現今保護網路安全的密碼系統而言,一旦背後的數學難題被網路上的竊聽者破解了,連線內容就會同時被竊聽者偷走。而目前幾乎所有網路上的密碼系統所仰賴的數學難題,都在修爾的量子演算法的破解範圍內。

 

後量子密碼學

看到這邊,讀者可能會問:「這是不是代表現在使用網路已經不安全了呢?」別擔心,目前 Google、IBM、英特爾(Intel)等大公司製造出來的量子電腦都還在非常初期的階段,它們具備的量子位元數量遠遠不及修爾演算法破解當代密碼的需求。另一方面,密碼學家們也已經動了起來,為日後可能的量子電腦威脅做準備。事實上,量子電腦能夠破解的數學難題並不多,只要我們更新網路協定,換一個連量子電腦也沒輒的數學難題,仍然能使用安全又可靠的網路。

像這樣量子電腦也無法破解的密碼系統,被稱為「後量子密碼學」(post-quantum cryptography),這也象徵著量子時代來臨後,依然存在的密碼系統。美國國家標準暨技術研究院(National Institute of Standards and Technology, NIST)已經在 2016 年起公開徵選後量子密碼系統,最後的美國國家標準也將在未來幾年內決定。在此有個好消息:這個公開徵選已進入最後評選階段,在進入最後階段的 7 組候選系統中,中央研究院楊柏因博士與周彤博士的團隊分別參與其中兩個系統的設計!

 

量子電腦的現況與未來

2019 年 9 月,Google 宣布旗下的量子電腦達成「量子霸權」(quantum supremacy),也就是使用量子電腦能做到一項古典電腦做不到的計算任務。Google 採用的計算任務是在 53 個量子位元上,隨機執行一組量子運算。根據前文所描述,若是這個任務交給古典電腦模擬,每次運算都是 253 維的矩陣運算,幾乎超過當代古典電腦的極限。雖然「量子霸權」雖然聽起來很威風,但其實只要做到「任何一項」古典電腦做不到的計算任務,無論有沒有實際應用的價值,都可以被稱為量子霸權。Google 的這項實驗只是為了彰顯人類首次達成量子霸權,所以不考慮實用性,而這個計算任務也的確沒有實際應用。

目前的量子電腦要實際進行量子模擬或是破解密碼,仍有兩大瓶頸需要突破,那就是「量子位元數量」與「錯誤率」。若要達到應用價值,以模擬量子系統來說,較小的系統至少需要 100 多個量子位元,而破解當代密碼系統更需要超過 3,000 個量子位元。此外,目前量子電腦執行運算時的出錯率仍然很高,但無論是量子模擬或是破密,量子電腦所要執行的運算都比 Google 在 2019 年的實驗複雜得多。這時,量子電腦就像一個算數學容易粗心的學生,看見簡單的題目還能得出正確答案,但若是遇上困難的題目,常常這邊乘法算錯、那邊忘記平方,最後的結果也就離正確答案差得十萬八千里了。因此,即使製造出了 100 多量子位元的電腦,對於量子模擬也幫不上忙。

雖然今天的量子電腦還在幼年階段,不過科技的進展日新月異,誰也無法預期。上個世紀的電腦還是用真空管製作,如今半導體也達到5 奈米製程。說不定,過不久我們就能對孩子說:「這裡有一台量子電腦,你想拿它來做什麼呢?」

 

註:量子力學中的反應過程可由薛丁格方程式描述,其中系統如何隨時間演化取決於漢米爾頓算符(Hamiltonian operator)。因此,要模擬這個系統,就是將漢米爾頓算符以量子電腦中的運算來表示。

 

延伸閱讀

郭雅欣,〈密碼學也要超前布署!美國後量子密碼標準競賽,臺灣學者晉級決賽〉,研之有物,2020 年 11 月 10 日。

推薦觀看

【探索量子 #04】量子電腦使網路無秘密可言?後量子密碼將成隱私防護之盾!|善科聊天室

 

⇠上一篇:不只黑洞,羅傑.潘洛斯的科學貢獻與研究精神

淺談量子密碼:下一篇⇢

 

本文轉載、修改自《科學月刊》2021 年 5 月