數位簽章(Digital Signature)
定義
數位簽章(Digital Signature)是一種數位化的簽名技術,用於驗證數位文件或訊息的來源真實性和完整性,確保訊息在傳輸過程中未被篡改。數位簽章是基於加密技術的,其中常用的是非對稱式加密演算法。
主要功能
- 驗證訊息來源:確保訊息是由聲稱的發送者所發送。
- 確保訊息完整性:確保訊息在傳輸過程中未被篡改。
- 不可否認性:發送者無法否認已經發送過訊息。
非對稱式演算法(Asymmetric Algorithm)達成認證性(Authentication)
非對稱式演算法使用一對密鑰:公開密鑰(Public Key)和私密密鑰(Private Key)。公開密鑰可以公開給任何人,而私密密鑰則由所有者保密。非對稱式演算法的特點是,用公開密鑰加密的訊息只能用對應的私密密鑰解密,反之亦然。
認證性實現過程
-
生成密鑰對:
-
簽署訊息:
- 發送者使用其私密密鑰對訊息進行加密,生成數位簽章。
- 簽署過程可以是對訊息的雜湊值(Hash Value)進行加密。常用的雜湊演算法有 SHA-256、SHA-3 等。
-
傳送訊息和數位簽章:
-
驗證簽章:
- 接收者收到訊息後,使用發送者的公開密鑰對數位簽章進行解密,得到訊息的雜湊值。
- 接收者同時對收到的原始訊息進行雜湊運算,得到一個雜湊值。
- 接收者比較兩個雜湊值,如果兩者相同,則驗證成功,確保訊息來源真實且內容未被篡改。
非對稱式演算法如何達成認證性
-
私密密鑰簽署,公開密鑰驗證:
- 發送者使用私密密鑰對訊息簽署,只有對應的公開密鑰才能驗證簽章,這確保了訊息的來源真實性。
-
不可否認性:
- 由於只有發送者持有私密密鑰,發送者不能否認已經簽署的訊息,確保了訊息的不可否認性。
-
訊息完整性:
- 通過雜湊函數和數位簽章的結合,任何對訊息的改動都會導致驗證失敗,確保了訊息的完整性。