為此,他也曾到圖書館和網路上查詢過這方面的資訊內容,的確有些報道記載過,有人腦部受傷,後來導致某一方面的能力特別突出。
林鴻推測,自己的大腦之所以越來越好用,很可能也因為那次而發生了某種奇特的變化。
總之,這個變化是好事不是壞事,變得聰明總比變成笨蛋要好,林鴻對這種結果還是非常高興的,除了自己無法入睡以及經常頭痛的毛病,似乎還沒有其他副作用。而頭痛的毛病隨著自己練習三體式也逐漸減輕,最終突破暗勁階段之後,就徹底消失不見。
回去的路上,林鴻腦海中不斷地思考著到底該如何將所掌握的加密演算法應用到自己的新版通訊軟體當中去。…;吃過晚飯回到自己的房間,林鴻首先將剩下的半本書給看完了。
等看完之後,他腦海中對軟體資訊的加密也有了解決方案——rsa演算法就是他想要找的加密演算法。
rsa演算法是1977年由羅納德*李維斯特、阿迪*薩莫爾和倫納德*阿德曼一起提出的,當時他們三人都在麻省理工學院工作,rsa這個名稱就是他們三人姓氏開頭字母拼在一起組成的。
1983年的時候,麻省理工學院在美國為rsa演算法申請了專利。
但是有趣的是,在麻省理工學院申請專利之前,這三位數學家就提前將這個演算法向全世界將所有細節都公開了,所以很多國家對麻省理工學院的這個專利並不承認。
這三個人之所以這麼做,並不是因為麻省理工學院沒有給他們獎金,而是他們認為,“密碼術”不應該被政府長期所壟斷,而是應該像所有普通民眾開放。
自古以來,科學家們所發明的所有加密方法都被政府列為高度機密,實際上在rsa演算法被公佈之前,英國數學家就已經在內部檔案中提出了類似的加密演算法,但是被英國政府列為了高度機密。
rsa的發明者認為,“如果只是因為一種科技可能被犯罪分子所利用,就不分青紅皂白地取締它,這種做法是非常愚蠢的”。
例如手套是用來保護手的,但是手套也可以被罪犯用來搶劫銀行而不留下指紋,同樣,“密碼術”是一種資料保護的的科技,這和手套相似,區別就在於“密碼術使聯邦調查局不能夠竊聽,而罪犯使用的手套同樣使聯邦調查局的指紋分析術是去了作用。”
所以,當他們發明了rsa演算法之後,擔心政府又會將這個加密演算法列為機密,讓普通民眾享受不到這個成果,於是搶在政府下達相關命令之前,就像全世界的同行們公佈了這一加密技術的細節。
當林鴻看到他們的這個故事的時候,對他們的這種駭客精神表示敬服,這才是真正的駭客精神,共享、開放、最求自由。
原本,林鴻編寫新版通訊軟體的時候,心中還有一個比較大的顧慮,那就是犯罪分子也可能會利用這個軟體來進行相互溝通,從而逃避政府機構對他們聯絡的監聽。他擔心自己會間接成為犯罪分子的幫兇,所以心中還有些遲疑和障礙。
可是當他看到rsa的發明者所傳達出來的思想之後,立刻拋棄了思想上的包袱,毫無心理負擔地構想著自己的這個全新軟體。
林鴻之所以選擇rsa演算法來作為這個軟體的加密演算法,是因為這個演算法不但足夠安全,而且允許在以前沒有聯絡的兩個個體之間,進行資料加密和解密傳遞。這正是他目前所需要的功能。
rsa演算法是一種非對稱加密演算法,基於一個數學定理,即對極大整數做因數分解,也就是說,對一極大整數做因數分解越困難,rsa演算法就越可靠。只要這個數學定理沒有被攻克,rsa演算法就是足夠安全的。
在密碼學中,分為兩種加密演算法,一種是對稱加密演算法,另外一種則為非對稱加密演算法,又稱為公開金鑰加密。
在對稱加密技術中,對資訊的加密和解密都使用相同的鑰,也就是說一把鑰匙開一把鎖。
這種加密方法可簡化加密處理過程,都用同一把鑰匙來開鎖,但是還不夠安全,只要哪一方被別人竊取了鑰匙,鎖就可能被其開啟。…;而rsa這類非對稱加密演算法,資訊交換的雙方都兩把鑰匙,一把是公開的,用來加密,一把是自己私下保留的,用來解密。
當甲向乙傳遞資訊時,可使用甲的私鑰加密資訊,乙可用甲的公鑰進行解密,這樣可確保第三方無法冒充甲傳送資訊;同時,甲向乙傳遞資訊時,用乙的公鑰加密後發給乙,乙再用自己的私鑰進行解密,這樣可確保第三者無法偷聽兩人之間的通訊。