官术网_书友最值得收藏!

第685章 RSA算法(密碼學)

時間來到了1976年,兩位美國計算機學家威特菲爾德·迪菲(Whitfield Diffie)和馬丁·赫爾曼(Martin Hellman),首次證明可以在不直接傳遞密鑰的情況下,完成解密。這被稱為“Diffie-Hellman密鑰交換算法”。

DH算法的出現(xiàn)有著劃時代的意義:從這一刻起,啟示人們加密和解密可以使用不同的規(guī)則,只要規(guī)則之間存在某種對應關(guān)系即可。

這種新的模式也被稱為“非對稱加密算法”:

(1)乙方生成兩把密鑰,公鑰和私鑰。公鑰是公開的,任何人都可以獲得,私鑰則是保密的。

(2)甲方獲取乙方的公鑰,用它對信息加密。

(3)乙方得到加密后的信息,用私鑰解密。

公鑰加密的信息只有私鑰解得開,只要私鑰不泄漏,通信就是安全的。

就在DH算法發(fā)明后一年,1977年,羅納德·李維斯特(Ron Rivest)、阿迪·薩莫爾(Adi Shamir)和倫納德·阿德曼(Leonard Adleman)在麻省理工學院一起提出了RSA算法,RSA就是他們?nèi)诵帐祥_頭字母拼在一起組成的。

新誕生的RSA算法特性比DH算法更為強大,因為DH算法僅用于密鑰分配,而RSA算法可以進行信息加密,也可以用于數(shù)字簽名。另外,RSA算法的密鑰越長,破解的難度以指數(shù)倍增長。

因為其強大的性能,可以毫不夸張地說,只要有計算機網(wǎng)絡(luò)的地方,就有RSA算法。

RSA算法是這樣工作的?

第一步,隨機選擇兩個不相等的質(zhì)數(shù)p和q。

第二步,計算p和q的乘積n。n的長度就是密鑰長度,一般以二進制表示,一般長度是2048位。位數(shù)越長,則越難破解。

第三步,計算n的歐拉函數(shù)φ(n)。

第四步,隨機選擇一個整數(shù)e,其中是1< e <φ(n),且e與φ(n)互質(zhì)。

第五步,計算e對于φ(n)的模反元素d。所謂“模反元素”就是指有一個整數(shù)d,可以使得ed被φ(n)除的余數(shù)為1。

第六步,將n和e封裝成公鑰(n,e),n和d封裝成私鑰(n,d)。

主站蜘蛛池模板: 永仁县| 山东| 唐海县| 陕西省| 昌平区| 龙海市| 安徽省| 荔波县| 同心县| 太仆寺旗| 渝中区| 新和县| 柞水县| 无棣县| 会东县| 潮州市| 金寨县| 二连浩特市| 本溪市| 临潭县| 嘉鱼县| 公主岭市| 安达市| 高尔夫| 蒙山县| 井冈山市| 珲春市| 宜兰县| 鄂州市| 津市市| 彩票| 巴林右旗| 梁河县| 同心县| 诸暨市| 邹城市| 静宁县| 肇源县| 南丰县| 石渠县| 观塘区|