首頁 科幻

我的代碼分身

074 來自喬伊斯教授的小測(cè)試(上)

我的代碼分身 某程序員 2078 2020-01-30 12:15:39

  這個(gè)教授是土生土長(zhǎng)的美國(guó)人,名叫戴爾·喬伊斯。

  官網(wǎng)上顯示他還有三個(gè)學(xué)生名額,但是不顯示現(xiàn)在有多少人在申請(qǐng)。

  陳旭決定先聯(lián)系一下這個(gè)教授,他在官網(wǎng)找到了喬伊斯教授的郵箱,然后自己斟酌字句,給喬伊斯教授寫了一封申請(qǐng)信。

  剛寫兩句他就意識(shí)到,自己應(yīng)該用英文。

  他把草稿全給刪掉,又開始搜刮自己的英語儲(chǔ)備,用了一個(gè)多小時(shí)才寫出來小半截不足六百個(gè)單詞的申請(qǐng)信。

  而他自己讀起來都覺得十分別扭,他又給這次的草稿給刪掉。

  他盯著Word空白文檔陷入了沉思。

  “我應(yīng)該找個(gè)人代寫,找誰呢?”

  “對(duì)了,艾米麗!”陳旭趕忙打電話給艾米麗。

  電話接通后,那邊響起艾米麗刻意壓低的說話聲,艾米麗說她現(xiàn)在正在做家教,問陳旭找她什么事情。

  陳旭便長(zhǎng)話短說,想讓艾米麗幫他寫一封申請(qǐng)信。

  艾米麗問陳旭急不急用。

  陳旭說不急用,下次上課的時(shí)候,可以在課上現(xiàn)寫,他有一些注意事項(xiàng)當(dāng)面說也比較方便。

  艾米麗答應(yīng)下來。

  周四晚上,艾米麗來給陳旭上課,她沒帶平時(shí)上課用的筆記本電腦和資料,輕裝簡(jiǎn)從。

  陳旭則帶上了寫申請(qǐng)信里所需要的所有資料。

  兩人來到微機(jī)室開始研究怎么寫一封言辭得體的申請(qǐng)信。

  陳旭對(duì)艾米麗說道:

  “艾米麗,稱呼格式還有語言潤(rùn)色方面,你給把關(guān),專業(yè)術(shù)語方面我來查資料?!?p>  艾米麗看了一下陳旭準(zhǔn)備的資料,驚訝道:

  “你要去MIT留學(xué)啦?!?p>  陳旭笑著點(diǎn)點(diǎn)頭。

  艾米麗回憶說道:

  “我的前男友也在MIT,因?yàn)樗硇挠诳蒲校鲜抢渎湮?,我就故意不去找他,看他什么時(shí)候來找我,你猜怎么著,后來我們都三年沒聯(lián)系啦!”

  陳旭哈哈笑道:

  “你男朋友叫什么,等我去MIT幫你打聽一下,沒準(zhǔn)不是故意不理你的,有可能是掛了?!?p>  艾米麗笑得花枝招展,說道:

  “你是明年三月份開學(xué)是吧,那會(huì)我正好要回家一趟,咱們可以一起,路上我還能充當(dāng)你的翻譯?!?p>  陳旭笑道:

  “那敢情好啊,我給你報(bào)銷飛機(jī)票?!?p>  艾米麗搖搖頭說道:

  “不用不用,你付我翻譯的錢就行,哈哈?!?p>  陳旭揶揄道:

  “看來翻譯的錢要比飛機(jī)票貴啊?!?p>  艾米麗狡黠一笑,說道:

  “那是當(dāng)然?!?p>  聊完天,艾米麗花了兩節(jié)課的時(shí)間幫陳旭寫了一封申請(qǐng)信。

  這兩節(jié)課剛好算在陳旭的課時(shí)上。

  艾米麗看著完成的Word文檔說道:

  “這封信值三千六百塊喲?!?p>  陳旭也咋舌說道:

  “這是敲門金磚啊,希望能敲開喬伊斯教授的門?!?p>  發(fā)送郵件后一周,陳旭收到來自喬伊斯教授的回信。

  信上說,申請(qǐng)他研究部門的人很多,所以他給大家出了一道題,每個(gè)申請(qǐng)者都要經(jīng)過這道題的考驗(yàn)。

  郵件里的附件是一個(gè)word文檔,里邊是一道算法題。

  這個(gè)算法題是關(guān)于動(dòng)態(tài)規(guī)劃算法,方向是破譯密碼。

  不過和常規(guī)的密碼破譯不同,喬伊斯教授給的封裝密碼每隔五秒就會(huì)被哈希函數(shù)重新編寫。

  所以這道算法題有兩個(gè)重點(diǎn):

  一是破解算法需要做到跟著密碼變動(dòng)的哈希函數(shù)一起變動(dòng);

  二是破解算法的復(fù)雜度不能太高,需要在五秒內(nèi)破解單次密碼。

  這個(gè)問題就像是裝著寶貝的盒子,主人每隔五秒鐘換一次鎖。

  陳旭需要做的就是發(fā)明一把萬能鑰匙,能打開盒子主人換的所有鎖。

  而且在開鎖的時(shí)候,需要在主人換下一把鎖之前就打開鎖。

  否則這把‘萬能鑰匙’也是失敗的算法。

  分析到這里,陳旭不禁想起來在二戰(zhàn)期間,圖靈破解德軍恩格碼機(jī)的密碼。

  恩格碼機(jī)的加密算法就是一直變動(dòng)的,而圖靈制造出來的密碼破譯機(jī)能完美隨動(dòng),一勞永逸地解決密碼翻譯。

  不過當(dāng)年這段傳奇和今天陳旭遇到的這個(gè)又不一樣了。

  前者是機(jī)械轉(zhuǎn)子的數(shù)學(xué)問題,而喬伊斯教授選用的哈希函數(shù)則主要側(cè)重于算法的架構(gòu)。

  陳旭不禁感嘆,MIT果然是世界頂級(jí)學(xué)院,連入學(xué)申請(qǐng)都要過這么一關(guān),太嚇人了。

  他翻墻在外網(wǎng)搜索了一下MIT的教授,發(fā)現(xiàn)只有喬伊斯教授會(huì)出這種奇怪的問題來‘為難’申請(qǐng)者。

  即便如此,喬伊斯教授在計(jì)算機(jī)學(xué)院仍然是最受歡迎的教授,每年申請(qǐng)做他學(xué)生的不計(jì)其數(shù)。

  陳旭想了想,既然這位喬伊斯教授這么受歡迎,那就有搞頭。

  他靜下心來開始研究喬伊斯教授發(fā)來的算法題。

  按照常規(guī)解題思路,遇到復(fù)雜的問題,先要將其簡(jiǎn)單化。

  既然這個(gè)密碼一直在變,那就先降維讓它不變,先研究單次的密碼破譯,然后從特殊中找共性。

  陳旭截了兩段不同時(shí)刻的密碼,這兩段密碼背后隱藏的信息沒變,只是加載在表層的加密算法一直在變。

  他將一個(gè)密碼破譯任務(wù)交給了小丑女哈莉。

  上次從L那回來后,陳旭從L的資料里找到了小丑女哈莉人工智能的源代碼。

  通過研究,他將后來崩潰的小丑女算法版本回滾到了一年前,差不多是見到陳旭的前幾個(gè)月。

  這時(shí)候的小丑女雖然不待見陳旭,但是陳旭控制著她源代碼,所以對(duì)于陳旭發(fā)來的任務(wù),她不得不做。

  陳旭這邊,在研究另一段密碼解密。

  按他推理,他和小丑女分別研究出兩段加密算法,然后進(jìn)行匹配對(duì)比,尋找導(dǎo)致加密算法一直變動(dòng)的哈希函數(shù)。

  破解了變動(dòng)根源哈希函數(shù),這道題就解決了。

  他剛擼起袖子準(zhǔn)備大干一場(chǎng)的時(shí)候,小丑女那邊就發(fā)來消息,說破譯完成。

  這短暫的時(shí)間不足一秒。

  也難怪,單次的密碼破譯本來就不是難題,這道題難的是加密算法每五秒變一次。

  陳旭本來還想和對(duì)方賽一賽的心思全沒了,他把自己這邊的代碼也丟給小丑女,說道:

  “既然你這么能干,都交給你了?!?p>  沒等他消息發(fā)完,小丑女又把第二段加密算法破解了。

  陳旭刪掉前面沒打完的話,回了一句:

  “干得漂亮。”

  接下來,陳旭就要從這兩段加密算法的源碼中尋找一些蛛絲馬跡。

按 “鍵盤左鍵←” 返回上一章  按 “鍵盤右鍵→” 進(jìn)入下一章  按 “空格鍵” 向下滾動(dòng)
目錄
目錄
設(shè)置
設(shè)置
書架
加入書架
書頁
返回書頁
指南