數字簽名算法是數字簽名標準的一個子集,表示了只用作數字簽名的一個特定的公鑰算法。密鑰運行在由SHA-1產生的訊息哈希:為了驗證一個簽名,要重新計算訊息的哈希,使用公鑰解密簽名然後比較結果。縮寫為DSA。
數字簽名是電子簽名的特殊形式。到目前為止,至少已經有 20 多個國家通過法律 認可電子簽名,其中包括歐盟和美國,我國的電子簽名法於 2004 年 8 月 28 日第十屆全 國人民代表大會常務委員會第十一次會議通過。數字簽名在 ISO 7498-2 標準中定義為: “附加在數據單元上的一些數據,或是對數據單元所作的密碼變換,這種數據和變換允許數據單元的接收者用以確認數據單元來源和數據單元的完整性,並保護數據,防止被人(例如接收者)進行偽造”。數字簽名機制提供了一種鑑別方法,以解決偽造、抵賴、冒充和篡改等問題,利用數據加密技術、數據變換技術,使收發數據雙方能夠滿足兩個條件:接收方能夠鑑別傳送方所宣稱的身份;傳送方以後不能否認其傳送過該數據這一 事實。
數字簽名是密碼學理論中的一個重要分支。它的提出是為了對電子文檔進行簽名,以 替代傳統紙質文檔上的手寫簽名,因此它必須具備 5 個特性。
(1)簽名是可信的。
(2)簽名是不可偽造的。
(3)簽名是不可重用的。
(4)簽名的檔案是不可改變的。
(5)簽名是不可抵賴的。
數字簽名的實現,一般是由信息的傳送者通過一個單向函式對要傳送的訊息進行處理產生其他人無法偽造的一段數字串,用以認證訊息的來源並檢測訊息是否被修改。訊息接收者用傳送者的公鑰對所收到的用傳送者私鑰加密的訊息進行解密後,就可以確定訊息的 來源以及完整性,並且傳送者不能對簽名進行抵賴。 把哈希函式和公鑰加密算法結合起來,能提供一個方法保證數據的完整性和真實性。完整性檢查保證數據沒有被改變,真實性檢查保證數據真是由產生這個哈希值的人發出的。把這兩個機制結合起來,就是“數字簽名”。數字簽名的第一步是產生一個需簽名的數據的哈希值;第二步是把這個哈希值用我們的私鑰加密。這個被加密的哈希結果被添加到數據 後,保護哈希結果的完整性。
數字簽名具有許多重要的套用,例如在電子政務活動中的電子公文、網上報稅、網上投票,在電子商務活動中的電子訂單、電子賬單、電子收據、電子契約、電子現金等電子文檔都需要通過數字簽名來保證文檔的真實性和有效性;甚至於人們日常使用頻繁的電子郵件,當涉及重要內容時,也需要通過數字簽名技術來對郵件的傳送者進行確認和保證郵件內容未被篡改,並且郵件的傳送者也不能對發出的郵件進行否認。由此可見,數字簽名技術早已深入套用到國家的政治、軍事、經濟和人們生活中的各個方面,並將在國家數字 化進程中發揮越來越重要的作用。