加密解密 簽名驗籤

幾個基本概念:

加密:發送方利用接收方的公鑰對要發送的明文進行加密。

解密:接受方利用自己的私鑰進行解密。

公鑰和私鑰配對的,用公鑰加密的文件,只有對應的私鑰才能解密。當然也可以反過來,用私鑰加密,用對應的公鑰進行解密。

簽名:發送方用一個哈希函數從報文文本中生成報文摘要,然後用自己的私人密鑰對這個摘要進行加密,得到的就是這個報文對應的數字簽名。通常來說,發送方會把數字簽名和報文原文一併發送給接受者。過程示例如下圖:


驗籤:接收方得到原始報文和數字簽名後,用同一個哈希函數從報文中生成摘要A,另外,用發送方提供的公鑰對數字簽名進行解密,得到摘要B,對比A和B是否相同,就可以得知報文有沒有被篡改過。過程示例如下:


 

其實, 數字簽名有兩種功效:一是能確定消息確實是由發送方簽名並發出來的,因爲別人假冒不了發送方的簽名。二是數字簽名能確定消息的完整性。 

 

很容易看得出來,數字簽名技術有一個問題,就是原始報文是明文傳輸的,這對一些敏感內容來說通常是不合適的,所以有些時候,這兩種技術會結合起來使用。

 

發送方用自己的私鑰完成數字簽名,然後再用接收方的公鑰對報文進行加密,將數字簽名和報文傳送給接收方。

接收方在拿到密文和數字簽名後,先用自己的私鑰對密文進行解密,得到明文,然後再用發送方提供的公鑰進行驗籤,確保發送方身份的準確性,以及報文並沒有被篡改過。

原文地址:https://lvbin0502.iteye.com/blog/1409802

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