什麼時候用公鑰加密什麼時候用私鑰加密?
1.公鑰加密私鑰解密 爲了 加解密
2.私鑰加密公鑰解密 爲了 簽名
通過私鑰對自己的內容進行加密生成數字簽名(這個私鑰只有我纔有),如果被公鑰成功解開,能夠證明內容是我發出去的(這時公鑰用於驗證數字簽名)。
使用公鑰加密,只有我的私鑰才能解開,證明發給我的內容不希望被其他人看到(這時公鑰用於加密數據)。
所以公鑰私鑰都可以用來加密解密,只是不同場景用法不同。
上面的場景中,公鑰有被篡改替換的可能,無法證明公鑰的來源(我不能確定通信的那一方是不是本人),這時候可以引入CA認證,證明公鑰是合法的來源。或者通信雙方各自持有自己的私鑰和對方的公鑰,通信的時候先用自己的私鑰生成簽名,再用對方的公鑰對發的內容和簽名加密,發送給對方,對方接收到之後用他的私鑰解密獲得數字簽名,然後再用我的公鑰驗證數字簽名,這樣保證了數據的安全。
其實數字簽名就是利用hash函數生成一個hash碼