量子電腦到底有多霸氣,即將引爆終極密碼戰?

作者 | 發布日期 2020 年 01 月 09 日 8:00 | 分類 Google , 尖端科技 , 資訊安全 line share follow us in feedly line share
量子電腦到底有多霸氣,即將引爆終極密碼戰?


2019 年 10 月 Google 宣布達成「量子霸權」,全世界都驚呆了!量子電腦已經無所不能了嗎?其實量子霸權的意義在於:人類讓量子電腦做到一件古典電腦很難達成的事。不過,量子電腦的進度條的確正快速更新,未來可能帶給人類巨大的福祉,但也會顛覆現今保護我們隱私的加密系統。中研院資訊所鐘楷閔副研究員(見首圖)形容密碼學就像好人與壞人的戰爭,站在量子密碼學研究前線的他,將為讀者揭密這場沒有煙硝的資安保衛戰。

什麼是量子電腦?

量子電腦和傳統電腦的不同,在於利用各種神奇的量子特性,也就是當我們以微觀角度觀察這個世界時,與巨觀世界不同的特性,像是讓薛丁格的貓是死或沒死的「疊加態」,或是兩個量子即使相距很遠,仍會依據對方狀態而決定自己當下狀態的「纏結效應」。當電腦擁用這些比科幻還科幻的量子特性,將克服古典電腦無法解決的難題。

不過,鐘楷閔立刻猛劃重點強調:

量子電腦不是無所不能,或是每秒鐘能做的事比較多,它只在某些「特定 (很重要)問題」,有比古典電腦更快的解法,只需要更少空間和步驟。

舉例來說,未來量子電腦可能用於模擬細菌的固氮作用,將大大提升農業製造氮肥的效率。因細菌進行固氮作用時,有些關鍵步驟具量子效應,模擬這些效應的複雜度將超越古典電腦的極限。量子電腦「剛剛好」是以量子效應運作,當然較有希望成功。

不幸的是,量子電腦可攻克的「特定問題」,也包括時刻保護我們交易安全和隱私的加密系統……

堅不可摧的加密系統

登入網購平台,輸入帳號密碼,選好商品放入購物車(又剁了好幾根手指) 之後,再填好地址及電話,按下結帳,輸入信用卡卡號,接下來只要等商品送上門,啊,多美好的日常……等等,你算過剛剛 5 分鐘裡,親手傳出多少個資嗎?這個問題細思極恐,事實上不必太擔心,因為密碼學默默保護著我們。

早在 2 千年前凱撒大帝打仗時,就懂得使用「暗號」來保護軍事書信。只有知道暗號的人能「解讀」信件內容,對不知道暗號的敵人來說,就算拿到書信也只是一堆亂碼。

但這套方式有個致命傷,那就是「如何一開始讓所有合法的使用者拿到一樣的暗號,又不會讓暗號外洩呢?」當代密碼學家想出一套稱為「非對稱加密 」的方式,利用成對的公鑰和私鑰來加密暗號,公鑰就像蓋上就鎖住的盒子,私鑰是打開這個盒子的鑰匙。如此一來,就能讓素昧平生的合法使用者,先利用比較安全的非對稱加密傳遞暗號,接下來就能靠暗號祕密通訊了。當你登入網購平台買東西,你的電腦和平台之間的通訊,就是透過類似的方式保護你的個資。

舉例來說,當顧客登入網路書店,申請刷卡購買「研之有物」的新書。網路書店會立刻製造一對公鑰和私鑰,把公鑰傳給客戶的電腦。客戶端的電腦再將自己的暗號,以公鑰加密後傳回網路書店。壞人沒有私鑰,就算中途攔截資訊也無法破解。最後,網路書店用私鑰解密,得到客戶的暗號,接下來就靠暗號傳送信用卡卡號等個資了。

▲ 讀者可能會有疑問:那為什麼不直接把所有訊息透過非對稱加密傳遞,還需要先傳暗號、再用暗號保護訊息呢?原因在於,非對稱加密的效率非常低,而透過暗號加密(稱為對稱式加密)的效率很高。因此,目前的網路架構,僅利用非對稱加密傳遞短短的暗號,接下來主要的通訊就使用高效率的對稱式加密。

當然,網路並不是真的有個盒子在傳輸!目前的加密系統能如此安全,關鍵是核心有個難以解開的數學難題,需要公鑰加上私鑰才能解開。所以即使壞人拿到加密訊息,沒有私鑰還是解不了密碼。

這類數學難題很多,像是超大數字的質因數分解。隨機找兩個很大的質數相乘 ,比如 97 乘上 113,就會得到一個超大數字 10,961,很簡單吧?但是,如果一開始給你 10,961,你算得出它是哪兩個質數相乘嗎?

這不是國小老師偷懶沒教,而是人類還沒找到有效率的方法(多項式時間的演算法)來計算質因數分解這類問題。所以理論上,只要數字夠大,即使是全世界性能最強大的超級電腦,也可能花費上萬年才能破解。

簡言之,加密系統核心的數學難題愈困難,古典電腦就需要花愈長時間破解,加密系統也就愈安全。

破解古典密碼,量子電腦 hen 會

然而,現今密碼學看似堅不可破的數學難題,在量子電腦的面前變得不堪一擊。因為這些問題的答案都可轉化成週期性的結構,剛好量子電腦擅長破解。

什麼是週期性結構?再以質因數分解問題舉例:想要找出 N 這個數字是由哪兩個質數(P 與 Q)相乘所得,可以先任意選擇一個數字 A ,用 A 去除 N,得到一個餘數 a1,接下來依序用 A2、A3、A4……不斷除 N,就會得到餘數 a1、a2、a3、a4……最後某次操作,餘數會回到 a1,形成週期性結構,一旦找到週期,就能「比較有效率」的分解 N。

不過,對古典電腦來說,當數字相當巨大時,尋找餘數的週期仍是十分困難的任務,但對有疊加作用的量子電腦,卻是小事一樁。

總之,目前我們所仰賴的加密系統,在量子電腦出現之後將變得不再安全……可是 IBM、Google 不斷更新量子電腦發展的進度條,我們已經暴露在資訊外洩的風險之下了嗎?

別擔心!小亞瑟還沒長成惡魔小丑

其實,量子電腦目前還只是嬰兒階段。以 Google 達成量子霸權的量子電腦來說,只有 53 位元。

相較古典電腦,早在 1970 年發表的英特爾(Intel)1103,為容量 1kb(1,024 位元)的記憶體。「古典電腦如果只有 53 位元記憶體,連程式都沒辦法寫,英文字母只能存 7 個,可以想像現在的量子電腦 Size 有多迷你。」鐘楷閔笑著繼續解釋:「而且如果把 Google 做的事畫成一個量子電路,這台電腦能執行的電路深度最多只有 20 層。」翻譯成大白話,意思是:每位元只能運算 20 次!

「20 次!這麼少?」你發現重點了!量子位元操作時很容易受環境影響而壞掉,20 次操作已是目前的極限。

▲ Google 公布的 53 位元量子電腦。上圖每個灰色×皆是一個量子位元,白色×是壞掉的量子位元,下圖為幾公分大的量子電腦晶片,量子位元統統擠在這小小的晶片中。(Source:Nature

不只如此,Google 這次霸氣外漏宣告,他們讓量子電腦做的事,其實是……模擬量子電腦自己!「哈哈,這題目有點作弊嫌疑啦!不過,這依然是很重要的結果,證明即使現在量子電腦這麼小,已經可以做到古典電腦做不到的事了。」鐘楷閔笑著解釋。

這個任務有多難?如果古典電腦試圖模擬同樣的量子系統,必須先將量子態用 0 與 1 記錄下來,再計算這些 0 與 1 經過 20 次量子運算會有什麼改變,最後才能得到結果。可是古典電腦光是要把 53 個量子位元的狀態寫下來,就需要 2 的 53 次方位元的空間,更別提運算和模擬了!根據 Google 論文宣稱,古典電腦要完成這件事得花 1 萬年,但這台小小的量子電腦只需花 200 秒。

Google 實驗的意義在於:我們已可控制 53 個量子位元完成 20 次操作,這是目前古典電腦做不到的事。

但是,這距離真正「有用」的量子電腦還有很遠的路!拿量子電腦模擬細菌固氮效應來說,量子電腦得擁有 100 左右量子位元,並且能運算操作 1,014 次……想想,Google 的量子電腦只有 53 個位元不說,且只能操作 20 次,簡直天壤之別!至於量子電腦破解現在的加密系統,根據專家預測,嗯,至少還要 30 年時間。

終極密碼戰,現在就開打

雖然如此,但密碼學已深入現代生活的各方面,不早點找出應對之策,屆時可就來不及了。想想全世界在千禧年危機的手忙腳亂、損失慘重……

從 2017 年起,美國國家標準暨技術研究院(NIST)開始著手「後量子密碼標準化計畫」,募集全世界密碼學家研發、可對抗量子電腦的密碼系統。這些密碼系統的核心同樣有個數學難題,但這個難題無法轉化成量子電腦擅長的週期性問題,中研院資訊所楊柏因研究員團隊也參與這個計畫,並通過第二輪選拔。

「整個過程就像選秀節目,」鍾楷閔笑著形容:「主辦單位先海選出合適的密碼系統,然後經過兩輪篩選,訂定標準化的各項參數,預計在 2022~2024 年公布最終標準。」

簡言之,3~5 年後,我們很可能就會開始逐步更新密碼系統,正式進入「後量子時代」。

這場密碼學的競賽,就像好人與壞人的戰爭。究竟是壞人會先利用量子電腦破解加密系統,擊潰目前的資訊安全網,還是好人會先做出安全的後量子時代加密系統,築起更安全的防禦牆,關鍵就在這幾十年量子電腦的發展。

科技進步不會停止,在量子電腦發展過程,密碼學家正努力追趕進度,為人類預先設下資訊安全網。下次在網路輸入個人資料時,不妨感謝一下在螢幕後默默努力的密碼學家(合十)。

問:原來量子電腦還在嬰兒階段,只能運算 20 次啊……想要運算次數快速成長,有沒有什麼好辦法?

答:其實,不太可能期待一個量子態經過多次運算操作還不會壞掉,所以我們應該換一個概念:當做了一定的計算,量子態開始有一點點壞掉時,立刻修復它。換句話說,如果能成功幫量子位元隨時除錯,那計算次數就可以無限多。

為此,科學家正在研發如何替量子位元編碼,變成「邏輯量子位元」。所以有人認為,量子電腦的下一個目標,應該是先做到邏輯量子位元。

另一種有趣的想法是,如果把操作有限的小型量子電腦,配上古典電腦,也許可以相當於大型量子電腦……

問:小型量子電腦+古典電腦=大型量子電腦,這個點子感覺有戲!

答:可惜的是,沒有這麼便宜的事!我們團隊最新的研究,在某個模型下,反駁了英國密碼學家喬茲薩(Richard Jozsa)提出的類似想法「喬茲薩猜想」。

喬茲薩猜想的意思是:所有可被大型量子電腦解決的問題,運算步驟都可拆解,然後由小型量子電腦(只能進行少次數操作)搭配古典電腦解決。如果這樣的猜想為真,意味著不需要強大的量子電腦(能進行很多次操作),只要小型量子電腦和古典電腦合作,也能解決所有大型量子電腦可做的事。

(Source:鐘楷閔)

我們團隊則在密碼學的「預言機模型」(oracle model)下提出一個問題,證明量子操作次數不夠多時,這個問題無法解開,為這個猜想找到反例。

問:真可惜……除了量子電腦本身,鐘老師對量子密碼學還有進行什麼研究呢?

答:我另一項研究重點,與密碼學的安全性證明有關。前面說過,密碼系統的核心是一個數學難題,換句話說,一個密碼系統的安全性必須仰賴這個數學難題無法破解。

我們可用數學證明這些密碼系統的構造有多安全,但對應的量子版我們還在研究。

因為愈好的證明,愈能確保加密系統的安全性。尤其在 NIST 如火如荼找出後量子時代加密系統的現在,我們能做到多好的證明,也會影響標準化的參數要怎麼設定,才能滿足運算速度夠快,但又非常安全的需求。這是現代密碼學家非常重要的任務。

(作者:郭雅欣;本文由 研之有物 授權轉載)

延伸閱讀: