一、一點(diǎn)歷史

2018-02-24 16:04 更新

1976年以前,所有的加密方法都是同一種模式:

  (1)甲方選擇某一種加密規(guī)則,對信息進(jìn)行加密;

 ?。?)乙方使用同一種規(guī)則,對信息進(jìn)行解密。

由于加密和解密使用同樣規(guī)則(簡稱"密鑰"),這被稱為"對稱加密算法"(Symmetric-key algorithm)。

這種加密模式有一個最大弱點(diǎn):甲方必須把加密規(guī)則告訴乙方,否則無法解密。保存和傳遞密鑰,就成了最頭疼的問題。

1976年,兩位美國計算機(jī)學(xué)家Whitfield Diffie 和 Martin Hellman,提出了一種嶄新構(gòu)思,可以在不直接傳遞密鑰的情況下,完成解密。這被稱為"Diffie-Hellman密鑰交換算法"。這個算法啟發(fā)了其他科學(xué)家。人們認(rèn)識到,加密和解密可以使用不同的規(guī)則,只要這兩種規(guī)則之間存在某種對應(yīng)關(guān)系即可,這樣就避免了直接傳遞密鑰。

這種新的加密模式被稱為"非對稱加密算法"。

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

 ?。?)甲方獲取乙方的公鑰,然后用它對信息加密。

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

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

1977年,三位數(shù)學(xué)家Rivest、Shamir 和 Adleman 設(shè)計了一種算法,可以實(shí)現(xiàn)非對稱加密。這種算法用他們?nèi)齻€人的名字命名,叫做RSA算法。從那時直到現(xiàn)在,RSA算法一直是最廣為使用的"非對稱加密算法"。毫不夸張地說,只要有計算機(jī)網(wǎng)絡(luò)的地方,就有RSA算法。

這種算法非常可靠,密鑰越長,它就越難破解。根據(jù)已經(jīng)披露的文獻(xiàn),目前被破解的最長RSA密鑰是768個二進(jìn)制位。也就是說,長度超過768位的密鑰,還無法破解(至少沒人公開宣布)。因此可以認(rèn)為,1024位的RSA密鑰基本安全,2048位的密鑰極其安全。

下面,我就進(jìn)入正題,解釋RSA算法的原理。文章共分成兩部分,今天是第一部分,介紹要用到的四個數(shù)學(xué)概念。你可以看到,RSA算法并不難,只需要一點(diǎn)數(shù)論知識就可以理解。

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號