要理解公鑰和私鑰的概念,首先得理解對稱加密和非對稱加密。對稱加密:加解密密鑰相同;非對稱加密:加解密密鑰不一樣。公鑰和私鑰爲成對出現,互相解密(即便用非對稱加密算法,公鑰加密私鑰解密,私鑰加密公鑰解密)。算法
在實際應用中,A用戶生成公鑰和私鑰,將A公鑰暴露出去,其餘用戶便可使用A公鑰對A用戶發送加密消息,而A用戶能夠使用私有的A私鑰進行數據解密。可是此時A用戶收到的消息沒法確認具體哪一個用戶發送的,多是B也多是C。這時若是須要確認發送方身份,而惟一能標識發送方身份的是發送方的私鑰。此時須要使用到簽名概念,用於標識發送方身份。加密
模擬A向B發送消息過程,A使用A私鑰加密指定規則數據生成簽名(如:明文中的數據排列加密),再使用B公鑰加密明文數據+簽名,B收到消息後使用B私鑰解密明文數據,此時B取到明文數據+簽名,B使用A公鑰解密簽名,觀察是否和明文數據約定規則一致,一致則能夠肯定爲A發送的數據。簡易圖示以下:im