為什麼量子計算會對我們產生威脅?
伊隆·馬斯克(Elon Musk)、史蒂芬·霍金(Stephen Hawking)等人曾警告未來失去控制的人工智慧可能對人類造成危害。但另一項技術可能會造成更加緊迫的威脅:量子計算。
640?wx_fmt=jpeg
圖片來源:VentureBeat
量子計算機源自科幻小說。例如“TSP問題(Traveling Salesman Problem,旅行商問題)”,假設有一個旅行商人要拜訪n個城市,每個城市只能拜訪一次,然後回到原來出發的城市,且要求所走的路程最短。隨著城市數量(n)的增加,問題的複雜度成指數上漲。一臺計算機需要花費1000年的時間才能計算出22座城市間的最短路徑。而量子計算機可以在幾分鐘,甚至幾秒鐘之內就能完成計算。
傳統的計算機用0和1表達資訊,量子計算機則依靠量子位元(quantum bits,簡稱qubits)。量子位元可以儲存值0或1,或者同時儲存這兩個值——疊加形態,可以記為“0+1”。它們可以通過同時列舉和測量結果解決問題。這就等於破解密碼鎖時,可以同時驗證每個可能的數字和順序。
愛因斯坦對量子力學的另一個原理“量子糾纏”深表懷疑,以至於他把它稱為“遙遠的幽靈行動”,並說這是不可能的。愛因斯坦曾說,“上帝不會擲骰子。” 但是,正如後來霍金斯寫到的,“上帝是一個老賭徒。”
儘管看起來很瘋狂,但是IBM、Google、微軟、以及英特爾紛紛說他們的量子計算機很快就要成功了。IBM已經通過雲服務向特定的客戶提供了量子計算機的先行版。為了製造真正的量子計算機,並開放世界上幾乎所有的安全資料庫,技術公司、國防部、大學以及政府之間正在進行一場全球性的較量。真正的量子計算機不僅能解決全宇宙最大的奧祕,而且——能破解世界上任何一個安全資料庫。
現代的安全系統均採用RSA(以其發明人Ron Rivest、Adi Shamir和Leonard Adleman命名)的標準加密演算法保護。這種演算法的解密關鍵在於超大整數的質因數分解。如果是一個很小的數字15,那麼它的質因數分解很簡單(3×5)。但是對幾百位的數字進行質因數分解,其計算就變得異常困難,傳統計算機需要幾天乃至幾個月的時間才能破解。根據IEEE Spectrum的報導,一些量子計算機也在做這方面的計算。總有一天,量子計算機可以有效地提供能夠破解祕密通訊、銀行帳號、以及資料庫密碼等的萬能鑰匙。
想象一下,一個國家優先成功建立量子計算機,那麼他們的敵對國將處於怎樣的戰略劣勢?擁有這項技術的人能夠開啟每個國家的數字密碼鎖。
我們不知道各國政府的進展如何,但是在2016年5月,IBM公佈了一條震驚全球的新聞:他們研製出了可以執行演算法和實驗的5位元量子計算機。可以推測,50到100量子位元的量子處理器在未來十年內即將問世。量子計算機的平行計算能力隨著量子位元數的增加呈指數增長,因此50位元的量子計算機將超越世界頂級超級計算機,研究人員稱之為“量子主宰”。
18個月後,IBM再次釋出新聞,宣佈他們已將公開發布的處理器升級到20個量子位元,併成功地建立了50位元處理器的執行原型,IBM因此佔據了量子計算機的主導地位。如果IBM可以讓這臺量子計算機穩定的工作,並且讓量子位數再增加一倍或更多,那麼會帶來計算速度的飛速提升,同時IBM與其他掌握此技術的公司將具有不可思議的力量。
量子計算機可以給生活的各個方面帶來便利,例如天氣預報、財務分析、物流計劃、尋找類地行星,以及藥物研究,等等。但是,它也會為安全開啟潘多拉盒子。我不知道有沒有公司或政府為此做好準備,但是所有人都應該有所防範。所有使用RSA加密的計算機系統都需要升級,就像當年解決千年蟲問題一樣。
安全研究專家Anish www.aqgc.net Mohammed告訴我,“量子安全”演算法的開發已經取得了實質性的進展。其中普遍看好的方法是矩陣乘法,它利用量子計算機的優勢進行大量的資訊分析。另一個技術是基於編碼的抗量子簽名方案。與依賴於質因數分解的公鑰密碼系統不同,這個簽名方案依賴於編碼理論中極其困難的問題。
所以技術解決方案近在眼前。但是,最大的挑戰是將現有的系統轉變為“後量子”世界。當初面對千年蟲問題,儘管我們知道最後的期限,但依舊在技術部門內造成恐慌和破壞,最後花費了數年時間才得到補救。而對於量子計算機,沒人知道究竟還要多久,5年?10年?也許18個月後就有公司宣佈更大的進展,又或者某個政府已經實現了量子計算機。最糟糕的情況是,做出量子計算機的人保持沉默,悄悄從背後竊取所有的資訊。
原文釋出時間為:2017年01月17日
本文作者:只為你笑
本文來源:部落格園,如需轉載請聯絡原作者。
相關文章
- 應對網路安全威脅我們又該做些什麼?
- GitHub:我們為什麼會棄用jQuery?GithubjQuery
- 我們程式設計師為什麼會感覺到累程式設計師
- 我們為什麼會喜歡挖礦遊戲?遊戲
- 為什麼量子計算如此難以解釋? - quantamagazine
- 雲端計算為什麼會不被信任
- 為什麼我們需要 VuexVue
- 我們為什麼要用RedisRedis
- 我們為什麼而工作
- 我們為什麼設計不出好的遊戲?遊戲
- 為什麼我們不要 .NET 程式設計師程式設計師
- 為什麼我們不要.NET程式設計師程式設計師
- 什麼是量子霸權?我們如何才能實現它?
- 我們為什麼會刪除不了叢集的 Namespace?namespace
- 什麼是量子計算的內文定律?
- 軟體能為我們帶來什麼???今天算開張!
- 我們搞開發的為什麼會感覺到累
- 我們為什麼會玩以日常生活為題材的遊戲?遊戲
- 為什麼我們程式設計師工作得這麼累?程式設計師
- GC是什麼?為什麼我們要去使用它GC
- 什麼是Web workers?為什麼我們需要他Web
- 我們為什麼需要async/await ?AI
- 我們為什麼需要 lock 檔案
- [譯] 為什麼我們需要 Web 3.0Web
- 我們為什麼仍然信任遠端工作
- 我們工作到底為了什麼
- 為什麼我們需要教小孩子程式設計程式設計
- 我們程式設計師為什麼要關注 JavaScript ?程式設計師JavaScript
- 2019 為什麼我們還會繼續使用 PHP ?PHP
- 作為AI產品經理,我們到底在優化什麼?AI優化
- 為什麼我們放棄了 Vue?Vue 和 React 深度對比VueReact
- “雲端計算”會為松山湖帶來什麼?
- 為什麼我們程式設計師寫不出好程式碼?程式設計師
- 樑斌:為什麼我們程式設計師難晉升程式設計師
- 為什麼我們不用智力題來面試程式設計師面試程式設計師
- 程式設計師職場——為什麼驕傲會妨礙我們程式設計師的進步程式設計師
- 我們為什麼熱愛種田遊戲遊戲
- 為什麼我們要在遊戲裡“牽手”?遊戲