數字簽名

數字簽名的目的:

完整性            確保數據在傳輸過程中沒有被篡改

身份認證        確保你收到的數據是對應的人員發送過來的

不可否認性    發送方不能否認簽名數據

 

數字簽名要素:

原文

摘要

證書

 

哈希算法:

md2、md5(128位散列值)、國密sm3(256位)

主要作用  將原來比較大的數據散列成較小的值

Hash,一般翻譯做"散列",也有直接音譯爲"哈希"的,就是把任意長度的輸入(又叫做預映射, pre-p_w_picpath),通過散列算法,變換成固定長度的輸出,該輸出就是散列值。

這種轉換是一種壓縮映射,也就是,散列值的空間通常遠小於輸入的空間,不同的輸入可能會散列成相同的輸出,而不可能從散列值來唯一確定輸入值(不能從散列值推算出原文)。

 

簽名數據包:

attached  版本、哈希算法、原文、摘要、證書、CRL

detached  版本、哈希算法、摘要、證書     (detached中不包括原文信息,原文信息需要通過其他方式發送給驗籤方)

raw裸籤   摘要   (裸籤中不包括原文和證書信息)

 

簽名驗簽過程:

wKioL1f6B0mybZrLAAEtSADGtM0560.png

1.首先client端利用哈希算法散列原文數據

2.然後利用自己的私鑰將散列值加密

3.client端將證書、原文、散列值發送給server端

4.server利用證書中的公鑰解密加密數據,得到散列值

5.然後利用同樣的哈希算法將原文散列,對比兩個散列值是否相同

數字信封的目的:

機密性  確保原文在加密後無法破解

解決了單獨使用對稱算法或非對稱算法加密的缺點

 

數字信封流程:

wKioL1f6C9XS8c_zAAFwpAO0g9E585.png

A先用由計算機隨機生成的一組一次使用的對稱密鑰會話密鑰(Session Key加密信息原文,形成密文,然後B的公鑰對會話密鑰進行加密處理,並將加密的會話密鑰附在密文後一起發送給BB在收到密文和加密的會話密文後,先用自己的私鑰對加密的會話密鑰解密,獲得會話密鑰,然後再用會話密鑰解密密文,最終獲得信息原文。

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