塵封20年的密碼學難題被破解!來看看一切是怎麼開始的
區塊鏈大本營/WIRED/Guoxi/Aholiab/張詠晴編譯
2019-05-08 17:54

 

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

 

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

 

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

 

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

 

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

 

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

 

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

 

RSA算法發明人設計了一個塵封35年的密碼學難題

 

故事的主人公是 Bernard Fabrot,一名自學成才的比利時工程師。在講他如何解謎之前,我們先來從頭看看故事的起因。

 

 

1999 年的 4 月初,著名建築師 Frank Gehry 收到了一個時間膠囊(time capsule),時間膠囊就是即將現代發明的有代表性意義的物品裝入容器內,密封後深埋地下,在未來的某一時刻打開。按照指示,這個時間膠囊要放入他主持修建的麻省理工學院「電腦科學和人工智慧實驗室」(簡稱:CSAIL)的大樓中。

 

 

這個時間膠囊可以說是一個早期電腦歷史的博物館,它裡面包含由微軟創辦人比爾·蓋茲和圖靈獎得主、全球資訊網之父Tim Berners-Lee爵士等電腦學領軍人物捐獻的 50 件電腦歷史上偉大的藏品。

 

這其中,很可能包括1975年,微軟為麻省理工學院開發的Altair BASIC編輯器,也是微軟有史以來第一個產品(比爾·蓋茲和保羅·艾倫當時編寫的BASIC直譯器,就是後來的Microsoft Basic,也是MS-DOS的基礎,後來演變成了現今的Visual Basic)。

 

 

顧名思義,時間膠囊需要有了時間的沈澱才會變得更有意義。於是這個與電腦科學密切相關的時間膠囊,採取了電腦科學的方法,設計了一個密碼學難題,只有破解了這個難題才能打開時間膠囊,這個密碼學難題只能透過一次次按順序的計算解開。

 

考慮到電腦算力的發展速度,解開這個難題至少需要計算 35 年。

 

這個別出心裁的設計出自 Ron Rivest 之手,對於 Rivest 這個人你可能不太熟悉,但說到大名鼎鼎的非對稱加密的 RSA 算法你可能會覺得有點熟悉。沒錯,Rivest 就是 RSA 算法三個發明人中的「 R 」(RSA 算法由三個發明人姓氏的開頭字母命名)。

 

Ronald Linn Rivest,美國密碼學家;RSA加密算法發明者之一

 

同時,Rivest 還寫了一本書,就是被稱為工程師必修課的《演算法導論》。RSA 算法可以說是有史以來最重要的密碼學算法之一,今天加密貨幣的輝煌也離不開其底層 RSA 加密算法的支持。

 

雖然 Rivest 說這個密碼學難題並不複雜,但實際上,計算這個難題的答案至少需要花費 35 年的時間。甚至在今天故事的主人公Fabrot把難題的答案發給麻省理工學院的時候,相關負責人都已經忘了這個問題的存在。

 

在今年 4 月 15 日,也就是 Rivest 提出這一密碼學難題後的 20 年,自學成才的比利時工程師 Bernard Fabrot 解決了這個難題。

 

按照這個密碼學難題官方說明的指示,Fabrot 準備將解決方案發送給麻省理工學院電腦科學實驗室主任,但他驚訝地發現這個實驗室已經不復存在,早在 2003 年,這個實驗室就與麻省理工學院人工智慧實驗室合併,成立了現在的麻省理工學院電腦科學和人工智慧實驗室。

 

更令人震驚的是,這個新成立的實驗室,也早已忘了這個密碼學難題的存在,Fabrot 說,現任麻省理工學院電腦科學和人工智慧實驗室主任 Daniela Rus 在收到解決方案時一頭霧水,因為她根本不知道這個密碼學難題是怎麼回事。

 

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