一、概念
非對稱加密方式:使用不同秘鑰進行加密解密的是非對稱加密方式,使用同一秘鑰進行加密解密的是對稱加密方式。
公鑰、私鑰:公共的、對外的秘鑰稱為公鑰。私人的,不對外公開的稱為私鑰。
使用非對稱方式加密總是會生成一對秘鑰,一個公鑰和一個私鑰。
用公鑰加密,需要使用相對應的私鑰解密。
使用私鑰加密,需要使用相對應的公鑰解密。
二、使用場景
1.數據發送方A想要把數據安全的發送給數據接收方B
B需要生成一對公鑰和私鑰,A使用B的公鑰加密要發送的信息,然后發送給B,B使用自己的私鑰解密信息。因為A使用B的公鑰加密生成的信息只有B的私鑰能解密成功,所以保證了信息的安全性。
2.數據發送方A想把一個文件群發給特定的一群人BS,使用公鑰私鑰進行簽名驗證。
A生成一個公鑰和私鑰,A將公鑰發送給BS,A使用私鑰加密文件信息,BS收到私鑰加密文件后,使用A的公鑰進行解密。這樣既保證了此數據肯定是A發送的,也保證了數據傳輸過程中沒有被更改過。此種場景叫做簽名驗證。
3.github和碼云中SSH的公鑰免密登錄
本地機子A想要免密登錄遠程機子B,如何實現此功能?可以使用非對稱加密方式,公鑰、私鑰登錄。
本地機子A生成一對公鑰和私鑰。在B中上傳A的公鑰。當A想要登錄B,A發送登錄請求,B向A發送一串隨機字符串,A使用私鑰將隨機字符串進行加密并發送給B,B使用A的公鑰進行解密,如果解密成功(即解密后,和B發送給A的隨機字符串是一樣的),則說明A登錄B成功,A可以對B進行操作。
相關文章推薦:
https://segmentfault.com/a/1190000004461428