塵封20年的密碼學難題終於被解開!但他卻這麼說
區塊鏈大本營/WIRED/Guoxi/Aholiab/張詠晴編譯
2019-05-08 18:13

 

1994 年 4 月,作為麻省理工學院電腦科學實驗室成立 35 週年的慶祝活動,時任實驗室主任 Michael Dertouzos 設計了一個「創新成果時間膠囊」。

 

他將一系列電腦領軍人物的創新成果收錄其中,準備在35年後再取出來,作為實驗室成立 70 週年的禮物。

 

不過問題來了,如何能保證剛好在 35 年之後取出來呢?這可難不倒麻省理工學院這些頂級的科學家,他們為時間膠囊設計了一把「密碼鎖」,也就是一道密碼學難題。

 

同時,他們還非常嚴謹地考慮了未來電腦算力的提升速度,特意加強難度,使得密碼學難題至少需要 35 年時間來破解。

 

業界一堆密碼學「大牛」也都十分清楚,麻省理工學院給出的密碼學難題肯定不是鬧著玩的,所以就沒在上面浪費時間。於是乎,這道密碼學難題足足塵封了 20 年之久。

 

今年 4 月,一名工程師成功地破解了麻省理工學院的密碼學難題,更厲害的是,這名工程師並不是用了 20 年,他在2015年才偶然發現了這個密碼學難題,也就是說他破解只用了 3 年的時間。

 

他是怎麼做到的?他又有著什麼樣的訣竅?讓我們一起走進這名工程師的傳奇。

 

解題者不只Fabrot一個

 

Fabrot 很幸運,雖然他不知道,但此時一群電腦科學家和密碼學專家也正在開展一個名為「Cryptophage」的項目,該項目主攻的目標是硬體,目標是使用專門的硬體來解決麻省理工學院提出的密碼學難題,而且在 Fabrot 得到結果時, Cryptophage 團隊的解決方案也在出爐的邊緣。

 

在前Intel工程師 Simon Peffers 的帶領下,Cryptophage 團隊當時正在研究將可驗證的延遲函數,作為以太坊等區塊鏈安全機制的可能性。

 

可驗證的延遲函數是對 Rivest 早期延時加密工作的進一步拓展,它們的解決方案都只能透過順序操作得出。 Peffers 說,在研究的過程中, Cryptophage 團隊遇到了 Rivest 提出的密碼學難題,這個難題似乎是為他們的研究量身定制的「考試」。

 

3 月中旬, Cryptophage 團隊開始研究由土耳其薩班哲大學(Sabanci University)研究員 Erdinc Ozturk 設計的算法。這個算法為減少平方操作之間的延遲作了專門的優化,並且該算法可以在現場可編程門陣列(FPGA,Field-Programmable Gate Array)上運行。

 

現場可編程門陣列這種多用途晶片可以為運行特定算法做出優化,因而它比通用的 CPU 更加高效。通過使用 Ozturk 的算法優化,這個密碼學難題在現場可編程門陣列上的破解速度比在沒有軟體層面優化的高端商用 CPU 上快了約 10 倍。

 

根據現場可編程門陣列的計算能力,Cryptophage 團隊推算出他們將在 5 月 10 日晚上(即他們開始計算的兩個月後)得出麻省理工學院密碼學難題的正確答案。

 

然而,當他們聯繫麻省理工學院準備分享這份難題即將被攻克的喜悅時,迎接他們的是一盆冷水,出題人 Rivest 告訴他們 Fabrot 已經捷足先登了。

 

「在這二十年裡沒有任何人來找過我們,直到這兩個人幾乎在同一天告訴我們:「我們已經解決了你的密碼學難題,」出題人 Rivest 說,「這是一個令人驚訝的巧合。」

 

同時,Rivest 也很快承認自己高估了密碼學難題的難度。Rivest 表示預測很長一段時間內的技術進步是一件很困難的事,在當時他並沒有預料到現場可程式化邏輯閘陣列(FPGA)取得的計算能力突破,而且在那時晶片並不像現在這麼複雜,用途也沒有這麼廣泛。

 

雖然 Cryptophage 團隊並不是第一個解決密碼學難題的人,但 Peffers 表示他們仍將參加 5 月 15 日開啟時間膠囊的儀式。

 

時間膠囊中都有些什麼只有它的設計師 Michael Dertouzos 知道,不過目前可以確定其中包括圖靈獎得主、全球資訊網之父 Tim Berners-Lee 爵士、以太網之父 Bob Metcalfe、微軟創辦人兼微軟首款產品 Altair BASIC 的開發者比爾·蓋茲等幾位電腦先驅人物捐贈的創新成果。

 

不過 Fabrot 表示,他對時間膠囊最大的期待,就是裡面包含的原始版本的世界上最早的電腦遊戲 Zork 。

 

本文為巴比特資訊授權刊登,原文標題為「塵封20年的密碼學難題,被無名程序員3年破解