數字簽名
數字簽名是一種可用於驗證文件或訊息作者的物件。
數字簽名通常基於公鑰加密,其中金鑰作為一對金鑰建立,其特性是,如果使用一個金鑰加密了某個輸入,那麼只能使用另一個金鑰解密,反之亦然。
金鑰對的建立者將一個金鑰公開,並將另一個金鑰保密。要對文件進行簽名,金鑰對的所有者會建立一個文件的雜湊值,並用私鑰對其進行加密。
文件和簽名被髮送給驗證者,驗證者對文件進行雜湊處理,檢索公鑰,並解密簽名:如果解密結果與雜湊值匹配,則簽名已得到驗證,驗證者可以確信該簽名是由擁有私鑰的實體建立的。
數字簽名系統的安全性(除其他因素外)取決於
-
私鑰所有者妥善保管私鑰:如果其他實體可以訪問私鑰,他們就可以冒充所有者。
-
驗證者使用的公鑰是所有者私鑰的真正對應公鑰:如果攻擊者能夠欺騙驗證者信任錯誤的公鑰,他們就可以冒充所有者。
驗證者通常使用數字證書來檢查公鑰是否真實。