RSA加密演算法是一種非對稱加密演算法。它基於大數的因式分解數學難題,它也是應用最廣泛的非對稱加密演算法。 在公開金鑰加密和電子商業中RSA被廣泛使用。
RSA是1977年由羅納德·李維斯特(Ron Rivest)、阿迪·薩莫爾(Adi Shamir)和倫納德·阿德曼(Leonard Adleman)一起提出的。當時他們三人都在麻省理工學院工作。 RSA就是他們三人姓氏開頭字母拼在一起組成的。 (推薦學習:PHP影片教學)
1973年,在英國政府通訊總部工作的數學家克利福德·柯克斯(Clifford Cocks)在一個內部文件中提出了一個相同的演算法,但他的發現被列入機密,一直到1997年才被發表。
對極大整數做因數分解的難度決定了RSA演算法的可靠性。換言之,對一極大整數做因數分解愈困難,RSA演算法愈可靠。
假如有人找到一種快速因數分解的演算法的話,那麼用RSA加密的資訊的可靠性就肯定會極度下降。但找到這樣的演算法的可能性是非常小的。今天只有短的RSA鑰匙才可能被強力方式解開。
到目前為止,世界上還沒有任何可靠的攻擊RSA演算法的方式。只要其鑰匙的長度夠長,用RSA加密的資訊其實是不能解破的。
1983年麻省理工學院在美國為RSA演算法申請了專利。這個專利2000年9月21日失效。由於演算法在申請專利前就已經被發表了,在世界上大多數其它地區這個專利權不被承認。
基本意義
RSA公開金鑰密碼體制。所謂的公開金鑰密碼體制就是使用不同的加密金鑰與解密金鑰,是一種「由已知加密金鑰推導出解密金鑰在運算上是不可行的」密碼體制。
在公開金鑰密碼體制中,加密金鑰(即公開金鑰)PK是公開訊息,而解密金鑰(即秘密金鑰)SK是需要保密的。加密演算法E和解密演算法D也都是公開的。雖然解密金鑰SK是由公開金鑰PK決定的,由於無法計算出大數n的歐拉函數phi(N),所以不能根據PK計算出SK。
正是基於這個理論,1978年出現了著名的RSA演算法,它通常是先生成一對RSA 金鑰,其中之一是保密金鑰,由用戶保存;另一個為公開金鑰,可對外公開,甚至可在網頁伺服器中註冊。
為提升保密強度,RSA金鑰至少為500位元長,一般建議使用1024位元。這就使加密的計算量很大。為減少計算量,在傳送訊息時,常採用傳統加密方法與公開密鑰加密方法結合的方式,即資訊採用改進的DES或IDEA密鑰加密,然後使用RSA密鑰加密對話密鑰和資訊摘要。對方收到訊息後,用不同的金鑰解密並可核對資訊摘要。
RSA演算法是第一個能同時用於加密和數位簽章的演算法,也易於理解和操作。 RSA是被研究得最廣泛的公鑰演算法,從提出到現今的三十多年裡,經歷了各種攻擊的考驗,逐漸為人們接受,截止2017年被普遍認為是最優秀的公鑰方案之一。
更多PHP相關技術文章,請造訪PHP圖文教學欄位進行學習!
以上是rsa加密演算法屬於的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

SecLists
SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

Dreamweaver CS6
視覺化網頁開發工具

DVWA
Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中

SublimeText3 英文版
推薦:為Win版本,支援程式碼提示!

EditPlus 中文破解版
體積小,語法高亮,不支援程式碼提示功能