一文看懂數字簽名?免責聲明:本文旨在傳遞更多市場信息,不構成任何投資建議文章僅代表作者觀點,不代表火星财經官方立場,接下來我們就來聊聊關于一文看懂數字簽名?以下内容大家不妨參考一二希望能幫到您!
免責聲明:本文旨在傳遞更多市場信息,不構成任何投資建議。文章僅代表作者觀點,不代表火星财經官方立場。
小編:記得關注哦
來源:能鍊科技
原文标題:科普 | 數字簽名的概念及其原理
在數字時代中,數字化文檔的認證性、完整性和不可否認性,是實現信息化安全的基本要求。數字簽名則是滿足上述要求的主要方式之一,亦是現代密碼學的研究内容之一。
數字簽名有哪些形式?基于密碼學的數字簽名優勢幾何?有哪些常用的數字簽名實現方案?這些都是理解數字簽名的關鍵問題,我們将為大家帶來系列介紹。
一、數字簽名的概念
小到一張試卷的簽名,大到商業合同的簽署,簽名某種程度上是社會經濟活動中“契約确認”的核心方式,從而确保契約的合法性和有效性。
在實際生活和工作中,手寫簽名是一種傳統的文件确認方式,如簽訂協議、支付确認、批複文件等,其表明簽名人對文件内容認可,并願意承擔與之相關的責任。
而在數字化應用系統中,發送者同樣希望對數字消息進行簽名,從而使消息的接收者可以識别僞造信息,更重要的是事後可以追蹤到消息發送者來承擔相關責任。但是數字信息和傳統文件有着顯著區别,也導緻數字簽名技術和傳統簽名技術有許多不同之處,主要體現在:
首先,傳統的手寫簽名與對應文件通過物理(例如紙張)綁定,而數字信息沒有确定的物理載體,所以需要使用算法将簽名與消息綁定在一起,可認證。
其次,在簽名驗證的方法上,傳統的手寫簽名是由消息接收者用眼分辨簽名的特征是否相符,結果受驗證者主觀思想影響,而數字信息通常由電子設備處理,故而簽名驗證結果依賴于數學算法,較客觀。
最後,傳統手寫簽名複制(字體模仿)相對數字信息的複制(粘貼)來說較為困難,因此數字簽名需要有更好的方法實現簽名的不可重用,防僞造。
簡單來說,數字簽名(Digital Signature),一般是附加在某一電子文檔中的一組特定的符号或代碼,用于表示簽發者的身份以及簽發者對電子文檔的認可,并能被接收者用來驗證該電子文檔在傳輸過程中是否被篡改或僞造。因此,基于密碼學的數字簽名有着如下的優勢:
- 消息源認證性:數字簽名可以表示簽發者的身份,也就是說具有消息源認證性。
- 不可否認性:數字簽名生成時需要輸入簽名者私鑰。換句話說,數字簽名對應唯一簽名主體,并且簽名者需要承擔不可推卸的責任,即數字簽名可以實現不可否認性。
- 消息完整性:數字簽名可以檢查電子文檔在傳輸過程中是否被篡改或僞造,即保障消息完整性。
二、數字簽名原理
從上述定義表明,一個完整的數字簽名方案由三部分組成:密鑰生成算法、簽名算法和驗證算法。
密鑰生成算法:是根據系統參數為簽名者生成公鑰和私鑰,并用于加解密;
簽名算法:是産生數字簽名的某種算法,一般是使用簽名主體的私鑰,對數據摘要進行運算,生成數字簽名;
驗證算法則是檢驗一個數字簽名是否有效(即是否由指定實體生成)的某種算法,基于公鑰進行數字簽名驗證。
上述圖示便描述了數字簽名驗證的完整過程:
發送方A将消息用Hash算法産生一個消息摘要,這個消息摘要有兩個重要特性:抗碰撞性(指找到散列值相同的兩條不同的消息是非常困難的)和摘要長度固定(MD5是最常見的摘要算法,速度很快,生成結果是固定的128 bit字節),使得任何消息産生的簽名值長度是一樣的。
發送方A産生消息摘要後,用自己的私鑰對摘要進行加密,這個加密後的消息摘要就是數字簽名,随後發送方A将消息與簽名發給接受方B。在這裡有人會疑問,為什麼對是對消息摘要進行加密簽名?對于較大文件而言,消息摘要即可将消息轉換成簡短的信息摘要,用以驗證信息的完整性,還可壓縮信息長度提高簽名效率。
B接受到消息及其簽名後,用發送方A的公鑰解密這個簽名,獲得由發送A生成的消息摘要,接着用發送A所用的Hash算法重新生成所獲得的消息的摘要,并對比這兩個摘要。如果相同,說明這個簽名是發送A針對這個消息的有效簽名;如果不相同,則簽名無效。
基于上述數字簽名的基本原理,人們設計出了衆多不同種類的數字簽名方案,接下來我們将就基于RSA的簽名方案、基于離散對數的簽名方案、基于橢圓曲線的簽名方案為代表,陸續為大家介紹這些常用的實現方案。
更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!