(三)數位簽章(Digital signature)是屬於公開金鑰密碼還是非公開金鑰密碼?請說明原 因及其運作原理。【4 分】
詳解 (共 1 筆)
詳解
數位簽章(Digital Signature)
數位簽章屬於公開金鑰密碼技術(Public Key Cryptography)。其原因是數位簽章使用一對公開金鑰和私有金鑰來進行數據的簽名和驗證操作。
原因
數位簽章使用公開金鑰密碼技術來提供身份驗證、數據完整性和不可否認性。它的運作基於以下原則:
- 私有金鑰簽名:只有數據的擁有者持有私有金鑰,因此用私有金鑰生成的數位簽章能夠證明該數據的確由擁有者發出。
- 公開金鑰驗證:公開金鑰是公開的,任何人都可以用它來驗證數位簽章,確保數據的來源和完整性。
運作原理
數位簽章的運作可以分為兩個主要步驟:簽名生成和簽名驗證。
1. 簽名生成(Signing)
-
步驟:
- 訊息雜湊:將原始訊息 MMM 經過雜湊函數(如 SHA-256),生成訊息的雜湊值 H(M)H(M)H(M)。
- 簽名生成:用發送者的私有金鑰 KprK_{pr}Kpr 對雜湊值 H(M)H(M)H(M) 進行加密,生成數位簽章 SSS。
-
結果:數位簽章 SSS 和原始訊息 MMM 一起發送給接收者。
2. 簽名驗證(Verification)
-
步驟:
- 訊息雜湊:接收者接收到原始訊息 MMM 和數位簽章 SSS 後,首先用相同的雜湊函數計算 MMM 的雜湊值 H(M)H(M)H(M)。
- 簽名解密:用發送者的公開金鑰 KpuK_{pu}Kpu 對數位簽章 SSS 進行解密,得到解密後的雜湊值 H′(M)H'(M)H′(M)。
- 比較雜湊值:將計算得到的雜湊值 H(M)H(M)H(M) 與解密得到的雜湊值 H′(M)H'(M)H′(M) 進行比較。如果兩者相等,則驗證通過,證明訊息未被篡改且確實來自持有私有金鑰的發送者。
表格形式解釋
| 階段 | 步驟 | 說明 |
|---|---|---|
| 簽名生成 | 訊息雜湊 | 計算原始訊息的雜湊值 H(M)H(M)H(M) |
| 簽名生成 | 私鑰加密 | 用私有金鑰 KprK_{pr}Kpr 加密雜湊值,生成數位簽章 SSS |
| 簽名驗證 | 訊息雜湊 | 接收者計算原始訊息的雜湊值 H(M)H(M)H(M) |
| 簽名驗證 | 公鑰解密 | 用公開金鑰 KpuK_{pu}Kpu 解密數位簽章 SSS,得到雜湊值 H′(M)H'(M)H′(M) |
| 簽名驗證 | 比較雜湊值 | 比較 H(M)H(M)H(M) 和 H′(M)H'(M)H′(M),若相等則驗證通過 |
總結
數位簽章屬於公開金鑰密碼技術,因為它依賴於公開金鑰和私有金鑰的配對來進行數據的簽名和驗證。其運作原理包括用私有金鑰對訊息的雜湊值進行簽名,並用公開金鑰對簽章進行驗證。這種技術確保了訊息的完整性、來源的真實性和不可否認性。