1. 簽名過程:
a. 發送方使用哈希函數對待發送的數據進行哈希運算,得到一個固定長度的哈希值。
b. 發送方使用自己的私鑰對哈希值進行加密,生成數字簽名。
c. 發送方將簽名和原始數據一起發送給接收方。
2. 驗簽過程:
a. 接收方收到簽名和原始數據後,使用發送方的公鑰對簽名進行解密,得到解密後的哈希值。
b. 接收方使用相同的哈希函數對接收到的原始數據進行哈希運算,得到一個新的哈希值。
c. 接收方將解密後的哈希值與新的哈希值進行比較,如果相同,則說明數據未被篡改,驗簽成功;如果不同,則說明數據被篡改,驗簽失敗。