最近美國科研圈估計很頭大。就在上個月美國國家标準與技術研究所( NIST )結束了一項為期 6 年的國際競賽,目的是尋找對抗量子計算機的加密算法。
之所以,有這麼個競賽,實在是加密專業的人的活的太慘,堪比國内的土木專業。
自從量子計算機出現,各個學科都赢麻了,唯獨搞密碼學的崩潰了。
這源于密碼學一向叛逆的定位:别的學科是為了算出一個答案,密碼學是防止别人算出一個答案。
因此,量子計算機直接對密碼學帶來了 “ 連根拔起 ” 的威脅。
拿最常見的 RSA-2048 算法舉例,這個算法是由 2048 位長的加密信息組成的,即使是最先進超級計算機也需要 3 千萬年才能破解。( 日本的富嶽超級計算機,計算速度 442 Pflop/s )
但是量子計算隻需要 8 個小時。( 使用窮舉法,一個一個的試 )
這就導緻量子計算機原則上可以快速破解大多數的加密算法。
為了應對這種量子層面威脅,世界各地的密碼學家在過去的二十年裡一直在設計用來抵抗量子計算機攻擊的後量子加密算法,并誕生了相應的算法競賽。
不過,更戲劇的是,這個競賽剛宣布結果沒多久,8 強選手之一的 SIKE 算法,就被人滿血給秒了。
而且,SIKE 算法是被一台十年前的台式機,用單核處理器在 4 分鐘内破解了低安全版本,并在一個小時内破解了該算法的最強形态。
這有多麻瓜呢?
和 SIKE 安全級别相同的 RSA3068 算法,用目前最先進的超級計算機破解,(日本的富嶽超級計算機,計算速度 442 Pflop/s。)需要大約 2 萬億年的時間,比宇宙存在的時間都要長。
然而, SIKE 算法,在一台 10 年前的英特爾單核台式機面前,隻堅持了一個小時。
一個對抗量子計算機的超級算法,被台式機給擊敗了,這離譜程度不亞于哥斯拉,被咱們的二踢腳給炸飛了。
不過,差評君仔細研究了一下發現:這可能隻是一個嚴肅科學界的烏龍事件。
這個名為 SIKE 的算法之所以 “ 一碰就碎 ”,還得從算法的内核說起。
在這個幺蛾子之前,SIKE 算的上是 21 世紀的算法新星了。
這個算法是一種基于超橢圓曲線的年輕加密算法。在它誕生的 12 年裡,一直在加強,從未被超越。
它最大的賣點,在超高的性價比上 —— 安全性很高,而且體積還小。
一個由 335 個數字組成的 SIKE 算法,和由 3068 個數字組成的常用算法( RSA 算法 ),安全性是同一級别的。
這就好像用十進制來表達二進制的數字,不僅方便,而且更加簡潔。
在 NIST 收集的 90 多種後量子算法中,SIKE 及其衍生的算法占據了絕對的上風,成為最短後量子密碼中的的前 16 強。
也正是因此,SIKE 算法一直有不少的擁護者,想要見證和創造曆史。
不過,有趣的是,這個算法的破解者托馬斯 · 德克魯也是其中之一。
托馬斯是這麼描述他的破解過程的:
一天,托馬斯在和同事沃特 · 卡斯特裡克,在研究 SIKE 算法,試圖用來增強其他密碼的安全性。
結果在研究相關文獻的時候,發現了一篇 1997 年的論文。
論文中,有一個 “ 幾乎立即适用于 SIKE 算法 ” 的定理,以至于他們在兩天之内 “ 反向加強 ” 了 SIKE 算法,并用台式機破解了它。
這就邪門了呀,要知道在此之前這個算法的破解已經 10 年沒有進展了,而托馬斯隻用了兩天,甚至還寫出了一個沒有 bug 的破解程序。
不僅是密碼學家,就連程序員都得羞愧難當了。
8 月 5 日,他們在一篇論文中記錄了這一神奇的破解方法:
雖然橢圓曲線是一維對象,但在數學中,橢圓曲線可以被可視化為二維或任何其他維數的對象。人們可以在這些廣義對象之間創建同源。
通過應用一個 25 年前的定理,新的攻擊使用 SIKE 公開的額外信息來構建二維的同源。然後這種同源性就可以重建 SIKE 用來加密消息的密鑰。
專業以外的人其實很難理解,這一過程的有趣之處。
做一個不是很恰當的比方:
這個 SIKE 算法就像一個平面幾何問題( 也就是二維問題 ),專門用來對抗量子計算機的運算能力,因為平面幾何的難點在于畫輔助線。
讓計算機一條一條地試輔助線,不知道得試到什麼時候去了。
但是 Thomas 将這個圖形三維化了,它變成空間向量坐标系的問題。
這樣子,這個問題就可以通過列方程組來解決,這就又回到計算的範疇了。
所以,這一次破解 SIKE 算法的關鍵,被歸功于數學之神的青睐。
對此,有位密碼學家對這個算法的破解給予了高度的評價,“ 我懷疑:世界上隻有不到 50 人掌握了破解 SIKE 算法必要的數學和密碼學知識。”
當然,我也懷疑這個密碼學家是在強行找回面子。
因為這個問題的破解者,隻是一個非著名大學 “ 魯汶大學 ” 的博士後,甚至不是 NIST 密碼破解組的成員,而是一個業餘愛好者。
也有大佬比較客觀地表示:“ 我們應該做好剩下的 7 個選手都被幹掉的準備,畢竟所有的密碼在被破解之前,看起來都很可靠。”
總而言之,自從 1981 年量子計算機的概念被提出以來,算法的加密和破解之間的戰鬥,比之前的幾千年都要劇烈。
在此之前,密碼學的聖經是:“ 想要密碼更安全?簡單加大計算量就行了 ”。
相較于計算機運算速度的發展,将加密信息從 100 位增加到 1000 位,或者是将一種算法更換成更複雜的算法,就已經夠用了。
但是,後量子時代要求密碼學家的思維更加開闊。
比如,這次競賽中的另一個種子選手 -- 格算法( Ring learning with errors )就是一個格局非常打開的存在。
格算法看起來比較簡單,像是一個将經典問題放在坐标系裡。
但是它這個坐标系有些霸道,為了保證安全性,這個坐标系的維度常年保持在 1000 維以上。
這就相當于,大家還在做一元二次方程的年紀,你已經在進行 1000 元二次方程的求解了。
同樣是九年義務教育,為啥你這麼優秀呢?
當然,這也隻是冰山一角。
過去幾十年,整個密碼學都被量子計算機,這一個沒有落地的概念給唬住了,然後開始拼了命的逃亡。
我們見證了密碼學的崩潰、重構,甚至衍生出了一種理論上無敵的量子密碼,想要找回場子。
科學,真是太 tm 魔幻了。
,
更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!