這個(gè)教授是土生土長(cháng)的美國人,名叫戴爾·喬伊斯。
官網(wǎng)上顯示他還有三個(gè)學(xué)生名額,但是不顯示現在有多少人在申請。
陳旭決定先聯(lián)系一下這個(gè)教授,他在官網(wǎng)找到了喬伊斯教授的郵箱,然后自己斟酌字句,給喬伊斯教授寫(xiě)了一封申請信。
剛寫(xiě)兩句他就意識到,自己應該用英文。
他把草稿全給刪掉,又開(kāi)始搜刮自己的英語(yǔ)儲備,用了一個(gè)多小時(shí)才寫(xiě)出來(lái)小半截不足六百個(gè)單詞的申請信。
而他自己讀起來(lái)都覺(jué)得十分別扭,他又給這次的草稿給刪掉。
他盯著(zhù)Word空白文檔陷入了沉思。
“我應該找個(gè)人代寫(xiě),找誰(shuí)呢?”
“對了,艾米麗!”陳旭趕忙打電話(huà)給艾米麗。
電話(huà)接通后,那邊響起艾米麗刻意壓低的說(shuō)話(huà)聲,艾米麗說(shuō)她現在正在做家教,問(wèn)陳旭找她什么事情。
陳旭便長(cháng)話(huà)短說(shuō),想讓艾米麗幫他寫(xiě)一封申請信。
艾米麗問(wèn)陳旭急不急用。
陳旭說(shuō)不急用,下次上課的時(shí)候,可以在課上現寫(xiě),他有一些注意事項當面說(shuō)也比較方便。
艾米麗答應下來(lái)。
周四晚上,艾米麗來(lái)給陳旭上課,她沒(méi)帶平時(shí)上課用的筆記本電腦和資料,輕裝簡(jiǎn)從。
陳旭則帶上了寫(xiě)申請信里所需要的所有資料。
兩人來(lái)到微機室開(kāi)始研究怎么寫(xiě)一封言辭得體的申請信。
陳旭對艾米麗說(shuō)道:
“艾米麗,稱(chēng)呼格式還有語(yǔ)言潤色方面,你給把關(guān),專(zhuān)業(yè)術(shù)語(yǔ)方面我來(lái)查資料?!?p> 艾米麗看了一下陳旭準備的資料,驚訝道:
“你要去MIT留學(xué)啦?!?p> 陳旭笑著(zhù)點(diǎn)點(diǎn)頭。
艾米麗回憶說(shuō)道:
“我的前男友也在MIT,因為他太醉心于科研,老是冷落我,我就故意不去找他,看他什么時(shí)候來(lái)找我,你猜怎么著(zhù),后來(lái)我們都三年沒(méi)聯(lián)系啦!”
陳旭哈哈笑道:
“你男朋友叫什么,等我去MIT幫你打聽(tīng)一下,沒(méi)準不是故意不理你的,有可能是掛了?!?p> 艾米麗笑得花枝招展,說(shuō)道:
“你是明年三月份開(kāi)學(xué)是吧,那會(huì )我正好要回家一趟,咱們可以一起,路上我還能充當你的翻譯?!?p> 陳旭笑道:
“那敢情好啊,我給你報銷(xiāo)飛機票?!?p> 艾米麗搖搖頭說(shuō)道:
“不用不用,你付我翻譯的錢(qián)就行,哈哈?!?p> 陳旭揶揄道:
“看來(lái)翻譯的錢(qián)要比飛機票貴啊?!?p> 艾米麗狡黠一笑,說(shuō)道:
“那是當然?!?p> 聊完天,艾米麗花了兩節課的時(shí)間幫陳旭寫(xiě)了一封申請信。
這兩節課剛好算在陳旭的課時(shí)上。
艾米麗看著(zhù)完成的Word文檔說(shuō)道:
“這封信值三千六百塊喲?!?p> 陳旭也咋舌說(shuō)道:
“這是敲門(mén)金磚啊,希望能敲開(kāi)喬伊斯教授的門(mén)?!?p> 發(fā)送郵件后一周,陳旭收到來(lái)自喬伊斯教授的回信。
信上說(shuō),申請他研究部門(mén)的人很多,所以他給大家出了一道題,每個(gè)申請者都要經(jīng)過(guò)這道題的考驗。
郵件里的附件是一個(gè)word文檔,里邊是一道算法題。
這個(gè)算法題是關(guān)于動(dòng)態(tài)規劃算法,方向是破譯密碼。
不過(guò)和常規的密碼破譯不同,喬伊斯教授給的封裝密碼每隔五秒就會(huì )被哈希函數重新編寫(xiě)。
所以這道算法題有兩個(gè)重點(diǎn):
一是破解算法需要做到跟著(zhù)密碼變動(dòng)的哈希函數一起變動(dòng);
二是破解算法的復雜度不能太高,需要在五秒內破解單次密碼。
這個(gè)問(wèn)題就像是裝著(zhù)寶貝的盒子,主人每隔五秒鐘換一次鎖。
陳旭需要做的就是發(fā)明一把萬(wàn)能鑰匙,能打開(kāi)盒子主人換的所有鎖。
而且在開(kāi)鎖的時(shí)候,需要在主人換下一把鎖之前就打開(kāi)鎖。
否則這把‘萬(wàn)能鑰匙’也是失敗的算法。
分析到這里,陳旭不禁想起來(lái)在二戰期間,圖靈破解德軍恩格碼機的密碼。
恩格碼機的加密算法就是一直變動(dòng)的,而圖靈制造出來(lái)的密碼破譯機能完美隨動(dòng),一勞永逸地解決密碼翻譯。
不過(guò)當年這段傳奇和今天陳旭遇到的這個(gè)又不一樣了。
前者是機械轉子的數學(xué)問(wèn)題,而喬伊斯教授選用的哈希函數則主要側重于算法的架構。
陳旭不禁感嘆,MIT果然是世界頂級學(xué)院,連入學(xué)申請都要過(guò)這么一關(guān),太嚇人了。
他翻墻在外網(wǎng)搜索了一下MIT的教授,發(fā)現只有喬伊斯教授會(huì )出這種奇怪的問(wèn)題來(lái)‘為難’申請者。
即便如此,喬伊斯教授在計算機學(xué)院仍然是最受歡迎的教授,每年申請做他學(xué)生的不計其數。
陳旭想了想,既然這位喬伊斯教授這么受歡迎,那就有搞頭。
他靜下心來(lái)開(kāi)始研究喬伊斯教授發(fā)來(lái)的算法題。
按照常規解題思路,遇到復雜的問(wèn)題,先要將其簡(jiǎn)單化。
既然這個(gè)密碼一直在變,那就先降維讓它不變,先研究單次的密碼破譯,然后從特殊中找共性。
陳旭截了兩段不同時(shí)刻的密碼,這兩段密碼背后隱藏的信息沒(méi)變,只是加載在表層的加密算法一直在變。
他將一個(gè)密碼破譯任務(wù)交給了小丑女哈莉。
上次從L那回來(lái)后,陳旭從L的資料里找到了小丑女哈莉人工智能的源代碼。
通過(guò)研究,他將后來(lái)崩潰的小丑女算法版本回滾到了一年前,差不多是見(jiàn)到陳旭的前幾個(gè)月。
這時(shí)候的小丑女雖然不待見(jiàn)陳旭,但是陳旭控制著(zhù)她源代碼,所以對于陳旭發(fā)來(lái)的任務(wù),她不得不做。
陳旭這邊,在研究另一段密碼解密。
按他推理,他和小丑女分別研究出兩段加密算法,然后進(jìn)行匹配對比,尋找導致加密算法一直變動(dòng)的哈希函數。
破解了變動(dòng)根源哈希函數,這道題就解決了。
他剛擼起袖子準備大干一場(chǎng)的時(shí)候,小丑女那邊就發(fā)來(lái)消息,說(shuō)破譯完成。
這短暫的時(shí)間不足一秒。
也難怪,單次的密碼破譯本來(lái)就不是難題,這道題難的是加密算法每五秒變一次。
陳旭本來(lái)還想和對方賽一賽的心思全沒(méi)了,他把自己這邊的代碼也丟給小丑女,說(shuō)道:
“既然你這么能干,都交給你了?!?p> 沒(méi)等他消息發(fā)完,小丑女又把第二段加密算法破解了。
陳旭刪掉前面沒(méi)打完的話(huà),回了一句:
“干得漂亮?!?p> 接下來(lái),陳旭就要從這兩段加密算法的源碼中尋找一些蛛絲馬跡。