密碼學雖是簡單的二進制,卻蘊含着複雜的變化和無窮的可能性。
就像是一場捉迷藏的好遊戲。
别人學習密碼學最主要的哈希函數,或許是下苦工堅持研究。
徐源卻喜歡跳出原有的思路去尋找新的解決方法。
标準技術局推出的DM5算法,使用它可以生成信息摘要。
其原理是首先将輸入信息的長度進行填充,在儲存記錄之後裝入标準的幻數,最後再經過四輪循環運算。
因爲DM5算法裏有很多不可逆的運算,會丢失很多原文的信息無法找回。
要破解此算法有很多種方法,不過需要明确一點。
所謂的破解并非是把摘要還原成原文。
畢竟固定的128位摘要是有窮的,而原文數量卻是無窮的。
每一個摘要都能由若幹個原文通過哈希函數得到。
王曉雲和其團隊破解DM5密碼算法,所使用的方法是碰撞。
比如原文A可以通過DM5算法生成摘要B,那麽并不用把X還原成A,隻需要找到原文M生成同樣的摘要B即可實現破解。
用一個比較形象的說法,那就是A和M的MD5結果殊途同歸。
但想要成功實現碰撞卻異常困難。
畢竟标準技術局特意開設了破解專項網站,可至今仍沒有密碼學專家實現破解。
甚至因爲太過困難很多學者選擇放棄,逐漸轉爲其它研究領域。
以至于哈希函數也均爲密碼學中最不活躍的領域。
徐源正式對MD5密碼的破解邁入正軌後,才真正感受到其中所具有的難度。
怪不得國際上有那麽多密碼學專家選擇放棄。
寒假回家這些天,推方程式使用的草稿紙都快有幾本子之多。
偏偏進度幾乎沒有增長。
要知道就這還是有着王曉雲團隊研究一段時間逐漸掌握方法的結果。
——
任務:MD5密碼破解
學科:密碼學
進度:10%
結果:未完成
“這些天還真是一點進度都沒有增長啊,怪不得标準技術局能有這麽大底氣。”
房間内徐源看着脫離深度學習狀态,逐漸從眼前消失的進度條面闆自顧自低喃,沒想到破解密碼的難度遠比解決卡邁克爾數間隔問題高的多。
不過他的自信心并沒有因此受挫,反而有種越挫越勇的感覺。
當哪天成功将其破解時,可以想象内心會湧現出怎麽樣的滿足感。
這時就在徐源準備繼續推方程式時,房門外面突然傳來姐姐徐瑩的聲音。
“小源。”
“出來吃飯了。”
伸手拿起桌旁的手機按了下,發現已經到中午後這才反應過來。
“這就來。”
扯着嗓子沖外面喊了句,稍微整理下鋪滿桌子的草稿然後起身走出房間。
之前他整個人都沉浸在深度學習狀态中,以求讓自己保持最佳效率。
所以并沒有什麽感覺。
眼下狀态恢複頓時便感覺一股餓意。
爲保證下午能繼續保持好的狀态推方程式,他還是選擇先把肚子填飽。
正所謂身體是革命的本錢,不先保證好這點又如何破解密碼。
由于明天就是除夕夜,這幾天家裏的飯菜也基本和豐盛的年夜飯沒區别,基本每頓都是大魚大肉讓徐源吃的非常過瘾。
另外值得一提的是,從省城回到老家這些天,他閑暇之際也沒忘記去三叔家裏。
幫忙給家族最小的堂妹徐曉琳補習數學,都是初中裏的知識。
徐曉琳雖然是女生,但在數學上的能力要比她哥徐亞輝強上很多,沒用太長時間便掌握了徐源教導的學習和做題方法思路。
對此徐源也頗爲欣慰。
加上徐曉琳其他科成績也都算穩定,過兩年考入固遠一高基本沒啥問題。
而三叔家聽到這個消息自然是非常激動。
除了是因爲固遠一高在市裏都很有名外,關鍵徐源就是從固遠出來的。
既然徐源能從固遠一高走出來,說不定自家閨女也有機會拿個女狀元保送箐華。
徐源對三叔家怎麽想并不感興趣,總之是自己盡到了當哥的義務。
翌日。
除夕夜。
晚上一家人依舊像往年那樣圍坐在電視機前,觀看着春晚聯歡晚會節目。
差不多快十二點才戀戀不舍的回房間,趁着天還沒亮稍微睡幾個小時。
至于之後的放炮點香上墳拜年等流程,徐源都熟的不能再熟悉,跟着父親操作起來也都非常順利開心。
算是一家人平安圓滿的過完新年,迎接新年全新的生活。
到大年初二開始走親戚,毫無疑問徐源又成了大家口中的别人家孩子。
尤其除上次獲得狀元拿到金牌後,又證明數論中卡邁克爾數間隔問題,以新生身份在數學年刊上發表論文并參加學術會議被青年報報道,能拿過來說的事情那可太多太多了。
對此徐源隻得再次在心裏默默向自己那些老表說聲抱歉。
過完年後面直到元宵節開學返校,徐源都不需要再做什麽事情。
所以又可以把自己關在屋裏,繼續手推方程式嘗試破解MD5算法,希望能早日讓進度達到百分之百。
徐瑩和父母雖然不知道他在說什麽,但隻要是學習就肯定不會打擾。
不過随着時間一分一秒過去,就在徐源眼巴巴等着破解進度提升時,卻反倒出現了出乎意料的情況。
幾乎當他推出新的方程式時,眼角餘光突然瞥到虛拟面闆上的進度條竟有所下降。
——
任務:MD5密碼破解
學科:密碼學
進度:8%
結果:未完成
“怎麽會出現這種情況?”
徐源看着面闆上的進度條數字,發現相比前幾天竟下降了百分之二後臉色陡變。
因爲對于這種事他再清楚不過。
從剛得知自己進入深度學習狀态會看到特殊的虛拟面闆進度條的時候,他就對面闆進度條的各種用途進行了詳細周密的驗證。
進度條突然出現下降,那便說明自己已然走在了錯誤道路上。
可千萬不要小看這百分之二,若不想辦法彌補的話隻會讓錯誤越來越大。
到後面再想改變可就要推到重來了。
“我明明是根據王教授團隊的進度推方程式,按理說不應該出現下降才對。”
突如其來的變故讓徐源也沒心情繼續演算,暫時停下動作認真思考。
首先破解MD5密碼算法他并非從頭開始,且目前也都是跟着王曉雲教授的進度,在推方程式上面他對自己有些充足的信心。
如此那便隻剩下一個可能。
王曉雲團隊目前的破解思路是有問題的。
并未掌握正确的方向。
若繼續這樣演算下去,或許最後能夠發現錯誤破解不了MD5算法,可所花費的時間就白白浪費了。
這對于争分奪秒的科研人員來說,其造成的影響絕對是巨大的。
思來想去。
最适合的做法就是向王曉雲團隊發出提醒。
更換新的思路重新進行破解。
不過單憑他一句話就放棄先前團隊的努力,這個分量很明顯是不夠的。
“看來要找時間去一趟王教授那裏了,但在此之前我必須找到正确的破解方向才行。”
念頭停留在這裏,徐源沒用多長時間便擱心裏暗自做出了決定。
想要針對MD5密碼确定出正确的破解研究方向。
雖然看似想做到這點非常困難,但有着面闆上進度條的數據作爲依照,倒也不是說沒可能完成。
就這樣徐源很快又投入到演算中,甚至太過忘我之下寫完的草稿紙被随意丢在地上,如果讓外人看到估計都會有種瘋魔的錯覺。
哈希函數密碼的碰撞破解,其方法包括暴力枚舉法和字典法以及彩虹表法等。
所謂暴力枚舉法,顧名思義就是簡單粗暴的枚舉出所有原文并計算出它們的哈希值,查看哪個哈希值和給定的信息摘要一緻。
這種方法雖然簡單,但是時間複雜程度極高,以現有單機計算根本得不到想要的結果。
正印證了标準技術局放放出來的話,哪怕使用超級計算機百萬年也破解不了。
而字典法則和暴力枚舉法相反,屬于是用空間來換時間。
但需要承擔的結果是儲存成本實在過大,所使用的概率都比較小。
相比較這兩種方法,最适用的還是彩虹表法。
通過從信息摘要轉成另一個字符串的衰減函數,通過交替運算若幹次,形成一個原文和哈希值的鏈條每步運算都是一種不同的函數,就像是天空中五顔六色的彩虹一樣漂亮。
王曉雲團隊眼下使用的正是彩虹表碰撞破解,雖說相比另外兩種是比較均衡的方法,可從面闆進度條給出的結果來看并不适用MD5算法的破解。
需要重新尋找新的碰撞方法才行,而這也是當下徐源急需做的。
當一個人越沉浸某件事中,時間往往就會過去的非常迅速。
因爲真正忙起來是根本顧不上時間的。
轉眼快半個月過去,臨近元宵節姐姐徐瑩已經開學返回學校,父母也早早去了省城讓煙酒店開門。
獨留下徐源繼續待在家裏,待過完餘下的兩天假期後也會前往燕京。
這天深夜當徐寨村已經被黑色籠罩,隻剩下時不時響起的狗叫聲時,徐源依舊在自己房間俯身書桌旁專注計算方程式。
并随着仍在地上的草稿紙越來越多,徐源的神情卻明顯明亮了起來。
……
(本章完)