數(shù)字簽名
使用
使用者可以對其發(fā)出的每一封電子郵件進行數(shù)字簽名。這不是指落款或簽名檔(普遍把落款訛誤成簽名)。
原理
數(shù)字簽名應用了公鑰密碼領域使用的單向函數(shù)原理。單向函數(shù)指的是正向操作非常簡單,而逆向操作非常困難的函數(shù),比如大整數(shù)乘法。這種函數(shù)往往提供一種難解或懷疑難解的數(shù)學問題。目前,公鑰密碼領域具備實用性的三個懷疑難解問題為:質(zhì)數(shù)分解,離散對數(shù)和橢圓曲線問題。
操作
一言以蔽之,數(shù)字簽名就是將公鑰密碼反過來使用。簽名者將訊息用私鑰加密(這是一種反用,因為通常公鑰密碼中私鑰用于解密),然后公布公鑰;驗證者使用公鑰將加密訊息解密并比對消息(一般簽名對象為消息的散列值。本節(jié)為了講解方便,假設數(shù)字簽名直接將消息而非散列值簽名)。
因此,可靠的公鑰密碼算法均能構建出可靠的數(shù)字簽名。下面講解為何反用公鑰密碼算法能夠構建出安全的數(shù)字簽名。
Alice是簽名者,假設她要對消息A進行簽名?,F(xiàn)在, Alice生成了其公私鑰密碼對,公布該公鑰,然后將消息用私鑰加密后發(fā)布。
現(xiàn)在,我們希望Alice的簽名算法具有如下特性:1,確認消息在傳輸過程中沒有丟位,沒被篡改(完整性). 2,確認消息的發(fā)送者是發(fā)布公鑰的Alice(認證). 3,確認Alice的確發(fā)布過該消息(不可否認性)
實現(xiàn)
數(shù)字簽名算法依靠公鑰加密技術來實現(xiàn)的。在公鑰加密技術里,每一個使用者有一對密鑰:一把公鑰和一把私鑰。公鑰可以自由發(fā)布,但私鑰則秘密保存;還有一個要求就是要讓通過公鑰推算出私鑰的做法不可能實現(xiàn)。
普通的數(shù)字簽名算法包括三種算法:
一種密碼生成算法
標記算法
驗證算法
免責聲明:以上內(nèi)容版權歸原作者所有,如有侵犯您的原創(chuàng)版權請告知,我們將盡快刪除相關內(nèi)容。感謝每一位辛勤著寫的作者,感謝每一位的分享。
- 有價值
- 一般般
- 沒價值
{{item.userName}} 舉報
{{item.time}} {{item.replyListShow ? '收起' : '展開'}}評論 {{curReplyId == item.id ? '取消回復' : '回復'}}
{{_reply.userName}} 舉報
{{_reply.time}}