Atitit RSA非对称加密原理与解决方案
Atitit RSA非對稱加密原理與解決方案
1.1. 一、一點歷史 1
1.2. 八、加密和解密 2
1.3. 二、基于RSA的消息傳遞機制? 3
1.4. 基于rsa的授權驗證機器碼 4
1.5. 為減少計算量,在傳送信息時,常采用傳統加密方法與公開密鑰加密方法相結合的方式, 4
1.6. RSA算法是第一個能同時用于加密和數字簽名的算法 4
?
1.1.?一、一點歷史
1976年以前,所有的加密方法都是同一種模式:
(1)甲方選擇某一種加密規則,對信息進行加密;
(2)乙方使用同一種規則,對信息進行解密。
由于加密和解密使用同樣規則(簡稱"密鑰"),這被稱為"對稱加密算法"(Symmetric-key algorithm)。
這種加密模式有一個最大弱點:甲方必須把加密規則告訴乙方,否則無法解密。保存和傳遞密鑰,就成了最頭疼的問題。
?
?
976年,兩位美國計算機學家Whitfield Diffie 和 Martin Hellman,提出了一種嶄新構思,可以在不直接傳遞密鑰的情況下,完成解密。這被稱為"Diffie-Hellman密鑰交換算法"。這個算法啟發了其他科學家。人們認識到,加密和解密可以使用不同的規則,只要這兩種規則之間存在某種對應關系即可,這樣就避免了直接傳遞密鑰。
這種新的加密模式被稱為"非對稱加密算法"。
(1)乙方生成兩把密鑰(公鑰和私鑰)。公鑰是公開的,任何人都可以獲得,私鑰則是保密的。
(2)甲方獲取乙方的公鑰,然后用它對信息加密。
(3)乙方得到加密后的信息,用私鑰解密。
1977年,三位數學家Rivest、Shamir 和 Adleman 設計了一種算法,可以實現非對稱加密。這種算法用他們三個人的名字命名,叫做RSA算法。從那時直到現在,RSA算法一直是最廣為使用的"非對稱加密算法"。毫不夸張地說,只要有計算機網絡的地方,就有RSA算法。
?
1.2.?八、加密和解密
有了公鑰和密鑰,就能進行加密和解密了
?
?
?私鑰和公鑰都可以加密和解密消息,且公鑰加密的文本只有對應的私鑰才能解密,私鑰加密的文本也只有對應的公鑰才能解密。
1.3.?二、基于RSA的消息傳遞機制
A像B發送消息MSG
發送方 A
1. 對MSG使用周知的Hash函數計算出數字簽名得到SIG
2. 使用私鑰對SIG進行加密得到CrypSIG
3. 由于RSA加密算法復雜,因此使用簡單的加密算法(密碼為PWD)對MSG+CrypSIG進行加密得到CrypMSG
4. 使用B的公鑰對PWD加密得到CrypPWD
5. 將CrypPWD, CrypMSG發送給B
接收方 B
1. 使用私鑰解密CrypPWD,的搭配PWD1
2. 用PWD1解密CrypMSG得到MSG1+CrypSIG1
3. 計算MSG1的數字簽名SIG1
4. 用私鑰解密CrypSIG1得到SIG2,若SIG1==SIG2則接受消息,否者丟棄消息
?
三、使用方式:
① ?假設A、B機器進行通信,已A機器為主;
② ?A首先需要用自己的私鑰為發送請求數據簽名,并將公鑰一同發送給B;
③ ?B收到數據后,需要用A發送的公鑰進行驗證,已確保收到的數據是未經篡改的;
④ ?B驗簽通過后,處理邏輯,并把處理結果返回,返回數據需要用A發送的公鑰進行加密(公鑰加密后,只能用配對的私鑰解密);
⑤ ?A收到B返回的數據,使用私鑰解密,至此,一次數據交互完成。
?
?
1.4.?基于rsa的授權驗證機器碼
服務端?A
使用私鑰對機器碼加密。。
?
客戶端b
使用a的公鑰解密授權證書文件。得到里面的機器碼,與本地對照。
?
二、模型分析
RSA算法構建密鑰對簡單的很,這里我們還是以甲乙雙方發送數據為模型
1、甲方在本地構建密鑰對(公鑰+私鑰),并將公鑰公布給乙方
2、甲方將數據用私鑰進行加密,發送給乙方
3、乙方用甲方提供的公鑰對數據進行解密
?
?
1.5.?為減少計算量,在傳送信息時,常采用傳統加密方法與公開密鑰加密方法相結合的方式,
即信息采用改進的DES或IDEA對話密鑰加密,然后使用RSA密鑰加密對話密鑰和信息摘要。對方收到信息后,用不同的密鑰解密并可核對信息摘要。
1.6.?RSA算法是第一個能同時用于加密和數字簽名的算法
,也易于理解和操作。RSA是被研究得最廣泛的公鑰算法,從提出到現今的三十多年里,經歷了各種攻擊的考驗,逐漸為人們接受,普遍認為是目前最優秀的公鑰方案之一。
?
?
?
RSA數字簽名機制 - bnufq的專欄 - 博客頻道 - CSDN.NET.html
?
?
作者::?綽號:老哇的爪子?(?全名::Attilax?Akbar?Al?Rapanui?阿提拉克斯?阿克巴?阿爾?拉帕努伊?)?
漢字名:艾提拉(艾龍),???EMAIL:1466519819@qq.com
轉載請注明來源:?http://blog.cnb.net/attilax
Atiend
?
轉載于:https://www.cnblogs.com/attilax/p/5957445.html
總結
以上是生活随笔為你收集整理的Atitit RSA非对称加密原理与解决方案的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Appium移动自动化测试(一)--安装
- 下一篇: Spring 实例化bean的三种方式