首頁>人物·生活>秀·風采秀·風采
王小云:十年破解MD5和SHA-1兩大國際密碼
王小云在2019未來科學大獎頒獎典禮上。記者李牧鳴攝
2019年11月17日,梳著干練短發(fā)、帶著金邊眼鏡的王小云,走進“未來科學大獎周”的報告廳,用一口淳樸的山東口音,開始講述她與密碼的往事。
首個由中國民間發(fā)起的“未來科學大獎”,迎來了首位女性得主——今年53歲的清華大學高等研究院楊振寧講座教授王小云。她獲得了“數(shù)學與計算機科學獎”,因為她“在密碼學中的開創(chuàng)性貢獻,她的創(chuàng)新性密碼分析方式揭示了被廣泛使用的密碼哈希函數(shù)的弱點,促進了新一代密碼哈希函數(shù)標準”。
破解兩大國際密碼算法
偶然間看到的一條注釋,讓吳彥冰決定跟著王小云讀博士。
5年前,四川大學信息安全專業(yè)本科生吳彥冰,在閱讀公認世界第一黑客的凱文·米特尼克所著《欺騙的藝術》時,發(fā)現(xiàn)一段文字中有個中國人的名字,這是一條關于“MD5已被王小云教授破解”的注釋。
了解這條注釋背后的故事后,吳彥冰被密碼學深深吸引了。畢業(yè)前他向王小云發(fā)了郵件,決定探索密碼學這個迷人的世界。如今,他已師從王小云,漫游密碼世界。
時間回到2004年,對于國際密碼學界來說,這注定是不同尋常的一年。
這年的8月,在美國加州圣巴巴拉召開的國際密碼大會上,王小云宣讀了自己和研究團隊對于MD4、MD5、HAVAL-128和RIPEMD四個國際著名密碼算法的破譯結果。
這被認為是2004年密碼學界最具突破性的結果,堪稱學術界的一場強烈地震。當年國際密碼大會總結報告上寫道:我們該怎么辦?MD5被重創(chuàng)了,它即將從應用中淘汰。SHA-1仍然活著……
多年來,由美國國家標準技術研究院(NIST)頒布的基于哈希函數(shù)的MD5和SHA-1算法,是國際上公認最先進、應用范圍最廣的兩大重要算法,后者更被視為計算安全系統(tǒng)的基石,有著“白宮密碼”之稱。
沒多久,SHA-1的末日降臨。2005年2月,在美國召開的國家信息安全研討會上,5名著名密碼學家公布了哈希函數(shù)發(fā)展史上的重要研究進展——他們收到了來自中國的王小云等3位女研究者對SHA-1全算法的攻擊。
2005年,美國《新科學家》雜志在一篇文章中,用了頗具震撼力的標題——《崩潰!密碼學的危機》,報道了王小云團隊花10年時間取得的學術成果。
2006年,NIST頒布了美國聯(lián)邦機構2010年之前必須停止使用SHA-1的新政策,并于次年向全球密碼學者征集新的國際標準密碼算法。
改變戰(zhàn)爭走向的古典密碼
王小云從事的密碼學,是一個既古老又新興的學科。在1949年以前,人類社會經(jīng)歷了漫長的古典密碼時期。
從古到今,密碼被頻繁應用在戰(zhàn)爭中,保護己方秘密并洞悉對方情報成了克敵制勝的重要條件。
中國古代兵書《六韜》中記錄了陰符和陰書兩種加密通信方式。國君和在外主將之間用陰符秘密聯(lián)絡,八種不同尺寸長度的陰符,隱藏著不同的軍情秘密。如需傳遞軍機大事則用陰書:把書信拆成三部分,分派三人發(fā)出,每人拿一部分,只有三部分合在一起才能讀懂信的內容。
大約在公元前700年,古希臘軍隊用一種圓木棍進行保密通信。公元前405年,雅典和斯巴達之間的伯羅奔尼撒戰(zhàn)爭進入尾聲,斯巴達軍隊截獲了雅典信使的一條重要加密情報并破譯,由此改變了作戰(zhàn)計劃,贏得戰(zhàn)爭的最后勝利。
這種加密方法中,加密方把紙條纏繞在特定的木棒上,寫上原信息,木棒撤掉之后,紙條上的字母變成了亂碼。解密方收到這個紙條后,用相同的木棒就可以恢復原信息。
聰明的古人,用簡單的置換方式就設計出一個密碼。不過,古典密碼的加密方式不能讓人知道,一旦泄露密碼就被破解。
當王小云走進密碼學的世界時,這門學科已經(jīng)發(fā)展到了公開加密方法的現(xiàn)代密碼時期。
家國情懷塑造密碼天才
1966年,王小云出生于山東諸城一個教師家庭。童年時,做數(shù)學老師的父親講“雞兔同籠”的故事,就是她最早的數(shù)學啟蒙。1983年,17歲的王小云考入山東大學數(shù)學系,師從著名數(shù)學家潘承洞。讀完了本科、碩士與博士,她留在山東大學任教。后聽從導師建議,將研究方向從解析數(shù)論轉向密碼學。
39歲時,王小云被聘為清華大學高等研究院楊振寧講座教授,之后曾獲得中國密碼學會“密碼創(chuàng)新獎特等獎”以及“網(wǎng)絡安全優(yōu)秀人才獎”,51歲當選中國科學院院士。
多年后,王小云回憶起讀書經(jīng)歷時,提到老師潘承洞對學生的一個特別要求,不管是出國深造,還是做訪問學者,兩年或者三年,到了時間就得回來,堅決立足于國內發(fā)展。
或許是耳濡目染了老一代學者身上的這種家國情懷,破解了兩大國際密碼算法后,王小云放棄了參與設計美國向全球征集的新國際標準密碼算法,轉而設計國內的密碼算法標準。
此后,王小云和國內其他專家設計了我國首個哈希函數(shù)算法標準SM3。如今,SM3已為我國多個行業(yè)保駕護航,在金融、國家電網(wǎng)、交通等國家重要經(jīng)濟領域廣泛使用。
“密碼破解非常重要,沒有破解,就很難有密碼應用的標準化、規(guī)范化,商用密碼體系也很難加強起來?!蓖跣≡蒲壑械拿艽a學是矛與盾的交鋒,攻與防的藝術。
“天書”哈希函數(shù)到底是什么
今天,計算機網(wǎng)絡、移動網(wǎng)絡、物聯(lián)網(wǎng)、衛(wèi)星網(wǎng)絡還有大數(shù)據(jù)、云計算,這些人們已經(jīng)熟知的科技場景,都離不開密碼技術的支撐,需要密碼來解決安全問題。
王小云曾將密碼比作鑰匙:“沒有密碼的保障,就相當于有人偷了家里的鑰匙,可以隨時自由進出你家,而你卻渾然不知。”
密碼學重要到何種地步?不得不從一個密碼學中的基本工具說起,它就是王小云打了多年交道的哈希函數(shù)。
這個時代的所有網(wǎng)絡信息安全,需要滿足機密性、可認證性、不可抵賴性、完整性與有效性這五大安全屬性,才可以有效防御黑客的攻擊。其中,有效性是指效率問題,而前四個屬性中,機密算法保障機密性,即不被竊取、看到;數(shù)字簽名算法滿足的是可認證性和不可抵賴性;哈希函數(shù)算法保證信息的完整性。
不過,數(shù)字簽名算法必須和哈希函數(shù)一起才能保證可認證性和不可抵賴性。因此,五大安全屬性里有三個,都離不開哈希函數(shù)。
密碼上的哈希函數(shù),可以將任意長度的消息壓縮成固定長度的哈希值,而哈希值就像每個人都擁有唯一的“指紋”一樣,哈希函數(shù)的重要之處就是能夠賦予每個消息唯一的“數(shù)字指紋”,即使更改該消息的一個比特,對應的哈希值也會變?yōu)榻厝徊煌摹爸讣y”。
清華大學高等研究院數(shù)學博士吳彥冰打了個比方,就像把一本書里的某一頁或一個字更改了,但看書的人很難判斷更改的地方,即便全書通讀一遍也未必能發(fā)現(xiàn),“但通過哈希函數(shù),輸入稍有不同,輸出結果就會完全不同”。
“嚴師”與“慈母”
在現(xiàn)代密碼學中,哈希函數(shù)占據(jù)著基礎而又重要的地位。上世紀90年代,王小云開始進行哈希函數(shù)研究,1994年開始嘗試破解MD5和SHA-1。
一種密碼算法的破解往往需要花費十年,甚至更久的時間,即便如此,成功率也只有1%左右。這注定是一個要“坐冷板凳”的研究領域,王小云就是用了整整十年的時間,破解了MD5和SHA-1兩大密碼算法。
清華大學密碼學博士生叢天碩覺得,導師王小云似乎對密碼有特別的直覺,做科研“就像是在跟著電影里的世界級大師一起工作”。
有一次,叢天碩和師兄嘗試去攻擊破解一個密碼算法,想了很久不清楚是否可行,后來去找導師咨詢,“王老師聽完,說你們直接去做就行,她一眼就明白怎么回事兒了”。在叢天碩看來,王小云總能看到很遠的地方,讓學生去嘗試前沿的研究。
學生眼中,這位導師在學術上要求“特別嚴厲”。學生的論文,一定要做到最好才能發(fā)表,“如果做到第二或有稍微的改進空間,她都是不能接受的,會讓學生繼續(xù)深入做研究”。
學術之外,王小云又很慈祥。叢天碩打算申請一個國外實踐時,王小云會對出行住宿仔仔細細問個清楚,擔心學生的安全?!皠傋x博時,王老師會和學生溝通,根據(jù)我們的興趣,制定培養(yǎng)計劃,還給出很多研究方向,讓我們去嘗試?!眳蔡齑T說。
解密的驚心動魄更多在內心
在一些電影大片中,常有特工或黑客破解密碼的驚險鏡頭,短短幾秒鐘就成功進入了對方的內部系統(tǒng)。當邁進密碼學的大門后,吳彥冰發(fā)現(xiàn)很多人對密碼的認識并不準確,或許是看電影后形成的刻板印象,誤把破解銀行卡或郵箱密碼當成密碼學家的工作,“其實那不是真正的密碼,只是一個簡單的‘口令’”。
王小云在一檔節(jié)目中做了這樣的科普:當你輸入一串字符,如果不經(jīng)過任何處理直接送到服務器來驗證,它一定不是密碼,只是一個口令;如果輸進去的字符,通過密碼運算得出另外一個結果,那么這個結果可以驗證你是否為合法用戶時,這個口令就變成了密碼。
“比如戰(zhàn)爭中傳輸了一段密文,當這段密文被攔截后,如果讓密碼學家上場,他們就會根據(jù)各自的數(shù)學方法和手段,推導出原文是什么,比簡單破解銀行卡密碼要復雜很多?!眳菑┍f。
現(xiàn)實中密碼學家的工作,沒有電影中那樣驚心動魄。吳彥冰甚至覺得,這是一個很枯燥的過程,不停地推導公式、做編程,然后用大型計算機驗證,等待結果,“想盡各種方法,一個個去嘗試,失敗了再重來”。
在吳彥冰看來,破解密碼有時就像走進了一個巨大的迷宮,一套密碼是經(jīng)過密碼大師在設計中一遍遍確認,沒有問題后才公布出來,很多時候用傳統(tǒng)的方法和思維破解不了,可能在迷宮中碰壁多次也找不到出口。
像很多科學突破一樣,破解密碼也需要勤奮和靈感,熬夜攻關亦是常態(tài)。吳彥冰跟著王小云做科研時,有過幾次這樣的經(jīng)歷,“白天忙了一天,晚上腦袋里突然蹦出來一個靈感,會亢奮得睡不著,就要順著把理論推導完,不斷嘗試到底行不行”。
吳彥冰曾聽老師王小云講起破解MD5的經(jīng)歷,“那時候王老師還沒學過編程,就用手寫推導的方式,寫了400多頁紙,幾百個方程,推導了兩三個月才得到結果?!?/p>
王小云沉浸在密碼的美妙世界中,享受著外人無法體會的樂趣。生活中她喜歡在家里和實驗室養(yǎng)花,有時候思考一個數(shù)學問題,卻找不到答案時,就會起來打掃打掃衛(wèi)生,或者是給花澆澆水,干點別的事情,但實際上腦子里一直沒有放下科學問題。
科研過程中,王小云也把這種樂趣傳遞給學生們。他們既扮演著“設謎者”的角色,設計一套巧妙的密碼算法,彌補前人的不足,希冀讓攻擊者無法突破;同時還扮演著“猜謎人”的角色,把別人設計精妙的體系一舉攻破?!皡⑴c者會有很大的喜悅感和成就感?!眳菑┍f。
就如王小云在未來科學大獎的獲獎致辭中所說,雖然目前密碼學只被少數(shù)人所熟悉,但未來會有更多的年輕力量為密碼學的發(fā)展助力,愿意盡自己的全力去幫助年輕的科學家們開拓密碼學這門神秘而又充滿力量的學科。(記者完顏文豪、李牧鳴)
編輯:董雨吉
關鍵詞:密碼 密碼學 破解 算法