達菲和赫爾曼完美地解決了密鑰分發的問題。從此,交換鑰匙就非常簡單了。艾麗絲和鮑勃可以通過村頭的揚聲器交換鑰匙。但加密方式還是對稱加密。
DH協議雖然方便交換密鑰,但還是存在壹些不盡如人意的麻煩。Alice仍然需要對Bob大喊很長時間才能生成密鑰。愛麗絲要交換鑰匙的時候,如果鮑勃在睡覺,愛麗絲的情書就發不出去了。
在他們的論文中,Duffy和Herman指出了未來加密方法的方向。最終的解決方案是通過單向函數設計非對稱加密。所謂非對稱加密,就是壹把鑰匙用來上鎖,另壹把鑰匙用來開鎖。這兩把鑰匙不壹樣。鎖著的鑰匙是不能解鎖的。這把鎖的鑰匙打不開。
麻省理工學院的三位科學家羅恩·裏維斯特、阿迪·薩莫爾和倫納德·阿德曼讀了達菲和赫曼的論文,深感興趣並開始研究。達菲和赫爾曼未能解決的算法,就誕生於他們三人之手。
2002年,這三位大師因為RSA的發明獲得了圖靈獎。但不要以為RSA就是他們的全部。這三位都是真正的大師,他們每個人都有著豐碩的學術生涯。讓我們擡頭壹探大師們的高度。
利文斯通還發明了RC2、RC4、RC5和RC6算法,以及著名的MD2、MD3、MD4和MD5算法。他還寫過壹本叫《算法導論》的書,裏面程序員磨壞了無數腦細胞。
薩莫爾發明了格非-菲亞特-沙米爾認證協議,還發現了差分密碼分析。
阿德曼更是傳奇。他首創了DNA計算理論,用DNA計算機解決了“旅行推銷員”問題。他的學生科恩發明了計算機病毒,所以他是計算機病毒的鼻祖。他還是艾滋病免疫學方面的大師級專家,在數學、計算機科學、分子生物學、艾滋病研究等方面做出了突出貢獻。
從65438到0976,三個人都在麻省理工學院計算機科學實驗室工作,他們的團隊非常完美。利文斯通和薩莫爾是計算機科學家,他們不斷提出新的想法,而阿德曼是壹個極其聰明的數學家,總是能挑利文斯通和薩莫爾的毛病。
壹年後,1977,壹次聚會後,利文斯通躺在沙發上醒酒。他翻來覆去睡不著。在半睡半醒之間,突然壹道閃電劈在他的大腦裏,他找到了壹個辦法。他寫了壹整夜的論文。第二天早上,他把論文交給了阿德曼,阿德曼這次找不出任何錯誤。
以論文的名義,這三位先生真的很謙虛。利文斯通把它命名為Adleman-Rivest-Shamir,而偉大的Aderman要求去掉他的名字,因為這是利文斯通的壹項發明。最終爭議的結果是Aderman排在第三,所以這個算法就成了RSA。
RSA算法是基於壹個非常簡單的數論事實:兩個大素數相乘是非常容易的,但是對它們的乘積進行因式分解卻是極其困難的,所以乘積可以公開,作為加密密鑰使用。
比如選擇兩個素數,壹個是17159,壹個是10247,那麽兩個數的乘積就是175828273。乘積175828273是加密的公鑰,(17159,10247)是解密的私鑰。
公鑰175828273每個人都可以得到,但是要破解密文,把175828273分解成17159和10247是非常困難的。
當RSA在1977年發表時,數學家和科普作家馬丁·加德納在《科學美國人》雜誌上發表了壹個公鑰:
114 381 625 757 888 867 669 235 779 976 146 612 010 218 296 721 242 362 562 842 935 706 935 245 733 897 830 597 123 563 958 705 058 989 075 147 599 290 026 879 543 541?
馬丁向破解這壹公開密鑰的讀者提供獎勵。經過17年的漫長歲月,1994年4月26日,壹群600的粉絲聲稱找到了私鑰。私鑰是:
電話:3490529510847650949147849619903898133417764638493384390820577
問:32 769 132 993 266 709 549 96190 834 4613 177 642 967 992 942 539 798 288 533
這次破解,耗時17年,只針對129位公鑰。如今,RSA已經使用了2048位公鑰,這幾乎要耗費全世界計算機的計算能力,需要數十億年才能破解。
RSA的安全性依賴於大數的分解,但其破解難度是否等於大數的分解還沒有得到理論上的證明,因為還沒有證明大數的分解是破解RSA的必要條件。
RSA仍然有它的弱點。RSA因為計算的是大數,所以無論是軟件還是硬件實現,最快的情況都比普通對稱加密慢很多倍。速度壹直是RSA的短板。壹般來說,它只用於加密少量數據。?
RSA還有壹個弱點,後面會提到。
在密碼學方面,美國學者很忙,成果壹個接壹個。然而,英國這個老牌帝國在密碼學方面也並非完全沒有建樹。畢竟是圖靈的故鄉,是圖靈帶領密碼學家在布萊切裏公園打敗德國英格瑪加密機的國家。
英國人也發明了RSA,但是被埋沒了。
在20世紀60年代,英國軍方也擔心密碼分發問題。1969年,密碼學家詹姆斯·埃利斯正在為軍方工作,他接到了密鑰分發的課題。他想出了壹個想法,用單向函數實現非對稱加密,但是找不到這個函數。政府通信總部的很多天才都加入進來,壹起尋找單向函數。但是三年過去了,這些聰明的腦袋壹無所獲,大家都有點郁悶。這樣的單壹功能存在嗎?
往往這個時候,就需要初生牛犢來拯救現場。考克斯是壹只勇敢的小牛,他是壹位年輕的數學家,非常純潔,決心獻身於繆斯。雖然年輕,但他有很大的優勢。當時他對這個單向函數問題壹無所知,也不知道老師們三年壹無所獲。所以我闖入了雷區。
面對如此危險的雷區,考克斯差點跳了過去。這個問題只用了半個小時就解決了,然後他就下班回家了,也沒太當回事。只是領導給的壹份工作,無非就是喝茶掃地解數學題。他很早就完成了,可以在回家的路上買新鮮出爐的面包。他不知道自己創造了歷史。考克斯是壹個純粹的數學家,當他聽到同事們的稱贊時,他感到有點尷尬。在他眼裏,數學應該像哈代說的那樣,是無用的知識,可恥的是他用數學解決了具體的問題。
可惜考克斯的發明太早,當時的計算機計算能力太弱,無法實現非對稱加密解密。因此,軍方沒有應用非對稱加密算法。詹姆斯和考克斯已經把非對稱加密理論發展到了極致,但他們也說不上什麽。軍方要求所有工作內容必須保密,他們甚至不能申請專利。
雖然軍方對工作成果的保密非常嚴格,但並不太在意工作成果本身。後來英國通信總部發現了美國的RSA算法,覺得很棒。他們只是忘記了詹姆斯和考克斯的RSA。通信總部壹驚,拉了自己的知識庫,才發現自己的員工Cox已經為RSA發明了類似的算法。官僚主義真的是人類的好朋友,它總是能給人們制造各種各樣的笑話,雖然它的初衷是制造威權主義。
考克斯對此毫不在意。他甚至說,“埋了它。我不想成為網絡名人。我為什麽需要粉絲?”那些粉絲能吃嗎?“原話不是這樣的,但表達的意思基本壹致。
1982年,達菲專程去英國見了詹姆斯,他們兩個,彼此欣賞,相見恨晚。不幸的是,詹姆斯仍然不能透露他們對RSA的研究。他只告訴達菲,“妳做得比我們好。”世界各國的科學家可以比誰更優秀,但世界各國的官僚卻很難比誰更優秀。他們並駕齊驅。
區塊鏈的故事-1
區塊鏈的故事-2
區塊鏈的故事-3
區塊鏈的故事-4
區塊鏈的故事-5
區塊鏈的故事-6
區塊鏈的故事-7
區塊鏈的故事-8