RSA加密、解密、簽名、驗籤介紹

參考鏈接:https://www.cnblogs.com/pcheng/p/9629621.html

 

RAS簡介

RSA加密是非對稱加密,由一對祕鑰進行完成加密解密,分別稱爲公鑰和私鑰,公鑰加密,私鑰解密,RSA可以完成加密和簽名;

 

加密與簽名的區別

加密是爲了防止信息被泄露,簽名是爲了防止信息被篡改;

 

 

RSA加密過程:

假如B要發消息給A,首先A在本地生產一對祕鑰,公鑰和私鑰,並將公鑰發送給B,B使用公鑰對消息進行加密,然後傳輸給A,A接收到消息後在本地使用私鑰解密;

缺點:這種加密過程保證了消息不被泄露,但是避免不了消息被篡改,假如B發送給A的消息被黑客劫持,他通過公鑰,自己僞造一條消息,通過公鑰加密,發送給A,這樣A收到的消息就不是B發送給A的了;

 

RSA簽名過程:

A發送消息給B的時候,用私鑰對消息進行加簽,將加簽後的消息與消息本體發給B,B使用公鑰進行驗籤,如果驗簽出來的內容和消息本身一致,證明消息纔是A回覆的;

這樣也會有一個問題,當黑客獲取到消息後,可以使用公鑰驗籤,來查看消息,並不能防止消息泄露;

 

總結:公鑰加密、私鑰解密、私鑰簽名、公鑰驗籤。

 

所以在實際應用中,要根據情況使用,也可以同時使用加密和簽名,比如A和B都有一套自己的公鑰和私鑰,當A要給B發送消息時,先用B的公鑰對消息加密,再對加密的消息使用A的私鑰加簽名,達到既不泄露也不被篡改,更能保證消息的安全性。

 

A發送消息給B時:

A:加密+加簽(B公鑰加密,A私鑰加簽)

B:驗籤+解密(A公鑰驗籤,B私鑰解密)

假如中間消息被劫持,即使有A,B的公鑰:對A發送給B的消息,因爲沒有B的私鑰,所以消息不會泄露;因爲沒有A的私鑰,所以消息不會篡改。

簽名的時候,會泄露:因爲簽名黑客可以通過公鑰驗籤,獲取消息內容;

加密的時候,會被篡改:可以攔截消息,將自己定義的信息使用公鑰加密傳遞給對方;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章