Data Integrity & Non-repudiation

數位簽名 (Digital Signature) 完整傳輸流程

本範例採用靜態傳輸模型,完整還原數位簽名在資安上的兩大核心價值:「確保資料未被篡改(完整性)」「確認寄件者身份(不可否認性)」

1

傳送端處理:製作數位簽名 (Signature Process)

傳送方:Mary
原始合約明文 (Message)
本公司確認向乙方採購伺服器 100 台,總金額為 500萬元正。
步驟 A:產生訊息雜湊 (Hash)

將明文放入雜湊演算法(如 SHA-256),壓縮成固定長度的資料指紋。只要內文被改動一個字,雜湊值就會全變。

SHA256: 8a5f39c2...1d4e7b
步驟 B:使用「Mary 私鑰」加密

Mary 用自己保管的 私鑰 (Private Key) 對該雜湊值進行加密,這個加密後的結果就叫做「數位簽名」

SIGNATURE: 99f2e7aa81cc65b2d04f...
網路傳輸管道 (In Transit)
原始明文
+
數位簽名
2

接收端處理:驗證簽名 (Verification Process)

接收方:James
軌道一:使用「Mary 公鑰」解密簽章

James 收到訊息後,拿起網路上大家都拿得到的 Mary 公鑰 (Public Key) 去解開數位簽名。解密後,會還原出 Mary 當初計算出來的【原始雜湊值 A】

解密簽名還原得到的結果: 8a5f39c2...1d4e7b
軌道二:對收到的明文重新雜湊

與此同時,James 把收到的「原始合約明文」當場用一樣的 SHA-256 演算法重新計算一次,得到全新的【當前雜湊值 B】

將明文重新計算雜湊的結果: 8a5f39c2...1d4e7b
最終對比結果:雜湊值完全相符 (Match Successfully)

當「解密出來的雜湊 A」等於「現場計算出來的雜湊 B」,代表兩件事:第一,這封信絕對是持有私鑰的 Mary 本人寄的(不可否認性)。第二,信件在傳輸過程中,連一個標點符號都沒有被竄改(完整性)。

驗證通過:文件合法