加密與簽名分析

非對稱加密與數字簽名的區別與聯繫

聯繫

非對稱加密用於實現數字簽名(如以太坊中的ECC)加密

數字簽名是爲了確保數據未被篡改,以及證實是簽名方所發送的。
hash

一、發送方A對發送的報文M生成一個摘要X1。(大多使用hash)
二、發送方A用本身的私鑰加密這個摘要X1。
三、接收方B對使用A的公鑰解開這個加密摘要,獲得X1。
四、B對比一下接收到的報文M'從新生成摘要X2.
若是同樣,說明報文M在傳遞過程沒有被修改,的確是A發送的。class

區別

簽名:通常是指用本身的私鑰對數據進行加密,只能用公鑰解密,任何人均可以用公鑰解密。由於私鑰只有你本身有,因此保證了該數據確定是從你這發送出去的,不多是別人發的。以太坊

加密:若用別人的公鑰加密,則只有他的私鑰才能夠解密,其餘人不可能可以解密,看到你的內容,保證了數據的保密性,也就是保證整個過程的端到端的惟一肯定性。總結

總結:私鑰用來簽名的,公鑰用來驗籤的。公鑰加密私鑰解密是祕送,私鑰加密公鑰解密是簽名。數據

結合

二者結合舉例:
A向B發送信息的整個簽名和加密的過程以下:
一、A先用本身的私鑰(PRI_A)對信息(通常是信息的摘要)進行簽名。
二、A接着使用B的公鑰(PUB_B)對信息內容和簽名信息進行加密。di

這樣當B接收到A的信息後,獲取信息內容的步驟以下:
一、用本身的私鑰(PRI_B)解密A用B的公鑰(PUB_B)加密的內容;
二、獲得解密後的明文後用A的公鑰(PUB_A)解籤A用A本身的私鑰(PRI_A)的簽名。解密

從而整個過程就保證了開始說的端到端的惟一確認。A的簽名只有A的公鑰才能解籤,這樣B就能確認這個信息是A發來的;A的加密只有B的私鑰才能解密,這樣A就能確認這份信息只能被B讀取。數字

相關文章
相關標籤/搜索