歡迎光臨
每天分享高質量文章

量子計算會打破現有的安全體系嗎? | Linux 中國

你會希望某駭客假冒你的銀行嗎?

— Mike Bursell


你會希望某駭客J. Random Hacker[1]假冒你的銀行嗎?

近年來,量子計算機quantum computer已經出現在大眾的視野當中。量子計算機被認為是第六類計算機,這六類計算機包括:

1. 人力Humans:在人造的計算工具出現之前,人類只能使用人力去進行計算。而承擔計算工作的人,只能被稱為“計算者”。
2. 模擬計算工具Mechanical analogue:由人類製造的一些模擬計算過程的小工具,例如安提凱希拉裝置Antikythera mechanism[2]星盤astrolabe計算尺slide rule等等。
3. 機械工具Mechanical digital:在這一個類別中包括了運用到離散數學但未使用電子技術進行計算的工具,例如算盤abacus、Charles Babbage 的差分機Difference Engine等等。
4. 電子模擬計算工具Electronic analogue:這一個類別的計算機多數用於軍事方面的用途,例如炸彈瞄準器、槍炮瞄準裝置等等。
5. 電子計算機Electronic digital:我在這裡會稍微冒險一點,我覺得 Colossus 是第一臺電子計算機,1 :這一類幾乎包含現代所有的電子裝置,從行動電話到超級計算機,都在這個類別當中。
6. 量子計算機Quantum computer:即將進入我們的生活,而且與之前的幾類完全不同。

什麼是量子計算?

量子計算Quantum computing的概念來源於量子力學quantum mechanics,使用的計算方式和我們平常使用的普通計算非常不同。如果想要深入理解,建議從參考維基百科上的定義[3]開始。對我們來說,最重要的是理解這一點:量子計算機使用量子位qubit進行計算。在這樣的前提下,對於很多數學演演算法和運算操作,量子計算機的計算速度會比普通計算機要快得多。

這裡的“快得多”是按數量級來說的“快得多”。在某些情況下,一個計算任務如果由普通計算機來執行,可能要耗費幾年或者幾十年才能完成,但如果由量子計算機來執行,就只需要幾秒鐘。這樣的速度甚至令人感到可怕。因為量子計算機會非常擅長資訊的加密解密計算,即使在沒有金鑰的情況下,也能快速完成繁重的計算任務。

這意味著,如果擁有足夠強大的量子計算機,那麼你的所有資訊都會被一覽無遺,任何被加密的資料都可以被正確解密出來,甚至偽造數字簽名也會成為可能。這確實是一個嚴重的問題。誰也不想被某個駭客冒充成自己在用的銀行,更不希望自己在區塊鏈上的交易被篡改得面目全非。

好訊息

儘管上面的提到的問題非常可怕,但也不需要太擔心。

首先,如果要實現上面提到的能力,一臺可以操作大量量子位的量子計算機是必不可少的,而這個硬體上的要求就是一個很高的門檻。2 目前普遍認為,規模大得足以有效破解經典加密演演算法的量子計算機在最近幾年還不可能出現。

其次,除了攻擊現有的加密演演算法需要大量的量子位以外,還需要很多量子位來保證容錯性。

還有,儘管確實有一些理論上的模型闡述了量子計算機如何對一些現有的演演算法作出攻擊,但是要讓這樣的理論模型實際運作起來的難度會比我們3 想象中大得多。事實上,有一些攻擊手段也是未被完全確認是可行的,又或者這些攻擊手段還需要繼續耗費很多年的改進才能到達如斯恐怖的程度。

最後,還有很多專業人士正在研究能夠防禦量子計算的演演算法(這樣的演演算法也被稱為“後量子演演算法post-quantum algorithms”)。如果這些防禦演演算法經過測試以後投入使用,我們就可以使用這些演演算法進行加密,來對抗量子計算了。

總而言之,很多專家都認為,我們現有的加密方式在未來 5 年甚至未來 10 年內都是安全的,不需要過分擔心。

也有壞訊息

但我們也並不是高枕無憂了,以下兩個問題就值得我們關註:

1. 人們在設計應用系統的時候仍然沒有對量子計算作出太多的考量。如果設計的系統可能會使用 10 年以上,又或者資料加密和簽名的時間跨度在 10 年以上,那麼就必須考慮量子計算在未來會不會對系統造成不利的影響。
2. 新出現的防禦量子計算的演演算法可能會是專有的。也就是說,如果基於這些防禦量子計算的演演算法來設計系統,那麼在系統落地的時候,可能會需要為此付費。儘管我是支援開源的,尤其是開源密碼學[4],但我最擔心的就是無法開源這方面的內容。而且最糟糕的是,在建立新的協議標準時(不管是事實標準還是透過標準組織建立的標準),無論是故意的,還是無意忽略,或者是沒有好的開源替代品,他們都很可能使用專有演演算法而排除使用開源演演算法。

我們要怎樣做?

幸運的是,針對上述兩個問題,我們還是有應對措施的。首先,在整個系統的設計階段,就需要考慮到它是否會受到量子計算的影響,並作出相應的規劃。當然了,不需要現在就立即採取行動,因為當前的技術水平也沒法實現有效的方案,但至少也要在加密方面保持敏捷性[5],以便在任何需要的時候為你的協議和系統更換更有效的加密演演算法。4

其次是參與開源運動。盡可能鼓勵密碼學方面的有識之士團結起來,支援開放標準,並投入對非專有的防禦量子計算的演演算法研究當中去。這一點也算是當務之急,因為號召更多的人重視起來並加入研究,比研究本身更為重要。

本文首發於《Alice, Eve, and Bob[6]》,併在作者同意下重新發表。


1. 我認為把它稱為第一臺電子可程式設計計算機是公平的。我知道有早期的非可程式設計的,也有些人聲稱是 ENIAC,但我沒有足夠的空間或精力在這裡爭論這件事。 
2. 如果量子物理學家說很難,那麼在我看來,就很難。 
3. 而且我假設我們都不是量子物理學家或數學家。 
4. 而且不僅僅是出於量子計算的原因:我們現有的一些經典演演算法很可能會陷入其他非量子攻擊,例如新的數學方法。 

via: https://opensource.com/article/19/1/will-quantum-computing-break-security

作者:Mike Bursell[8] 選題:lujun9972 譯者:HankChow 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出