首頁 能鏈洞察 區塊鏈百科

區塊鏈百科之 數 字 簽 名

區塊鏈百科之 數 字 簽 名

發布時間:2021.01.27
在數字時代中,數字化文檔的認證性、完整性和不可否認性,是實現信息化安全的基本要求。數字簽名則是滿足上述要求的主要方式之一,亦是現代密碼學的研究內容之一。

本期《區塊鏈百科》專欄將與你一起回顧數字簽名關鍵問題,基于密碼學的數字簽名優勢幾何?有哪些常用的數字簽名實現方案?以下點擊標題即可閱讀全文。

如何理解數字簽名概念及原理

數字簽名(Digital Signature)可以理解為附加在某一電子文檔中的一組特定的符號或代碼,用于表示簽發者的身份以及簽發者對電子文檔的認可,并能被接收者用來驗證該電子文檔在傳輸過程中是否被篡改或偽造。

基于密碼學的數字簽名有著獨特優勢:(1)消息源認證性:數字簽名可以表示簽發者的身份,也就是說具有消息源認證性。(2)不可否認性:數字簽名生成時需要輸入簽名者私鑰。換句話說,數字簽名對應唯一簽名主體,并且簽名者需要承擔不可推卸的責任,即數字簽名可以實現不可否認性。(3)消息完整性:數字簽名可以檢查電子文檔在傳輸過程中是否被篡改或偽造,即保障消息完整性。

數字簽名 | 基于RSA的簽名方案

RSA是1977年由羅納德·李維斯特(Ron Rivest)、阿迪·薩莫爾(AdiShamir)和倫納德·阿德曼(Leonard Adleman)聯合提出的。RSA可以說是第一個安全、實用的公鑰加密算法,并已成為國際標準,也是目前應用最廣泛的公鑰加密體制之一。RSA的基礎是數論的歐拉定理,其安全性依賴于大整數因子分解的困難性。

因加解密次序可換,RSA公鑰加密體制既可用于加密,也可用于設計數字簽名。要注意的是,公鑰、私鑰均可用來加密與解密。若為了實現加密傳輸,則可用收信方公開的公鑰加密文件,由此僅唯一擁有私鑰的收信方才可以解密文件;若是為了實現數字簽名,則可用自己的私鑰進行數字簽名,接收者可以用對應的公鑰解密以確認簽名來源。

 數字簽名 | 基于離散對數的簽名方案

與RSA公鑰加密體制類似,離散對數加密算法也屬于公鑰加密體制,而且整個公鑰密碼體制的復雜性(RSA、離散對數、橢圓曲線)都建立在一些數學難題之上,例如RSA的安全性依賴于大整數因子分解的困難性,而離散對數則依賴有限域離散對數求解的困難性。

離散對數被譽為當代密碼學領域的三大基礎之一。基于有限域上離散對數問題的公鑰加密體制,最著名的是EIGamal加密體制。但ElGamal加密算法的一個缺點是傳遞密文的長度是明文長度的兩倍,使得傳遞密文的過程中,通信的信息量增大。而這些問題將在橢圓曲線簽名方案中得到解決。

數字簽名 | 基于橢圓曲線的簽名方案

隨著計算機信息處理能力的不斷提高,對密鑰長度的要求也越來越高,這個問題對于存儲能力受限的系統來說顯得尤為突出。橢圓曲線密碼體制(ECC)的提出改變了這種狀況,它可以用更短的密鑰提供與其他體制相當的或者更高級的安全,并已成為迄今被實踐證明安全、有效、應用較廣的3種公鑰密碼體制之一。

基于橢圓曲線的數字簽名方案,在相同的安全強度條件下,簽名長度短,密鑰存儲空間小,適用于存儲空間有限,帶寬受限、要求高速實現的場合。此外,橢圓曲線資源豐富,同一有限域上存在著大量不同的橢圓曲線,這也為安全性增加了額外的保障。正是由于橢圓曲線具有豐富的群結構和多選擇性,并可以在保持和RSA、EIGamal體制同樣安全性的前提下大大縮短密鑰長度,因而有著更為廣闊的應用場景。

*本文圖片來源于網絡,僅供學習交流使用,不具任何商業用途,圖片版權歸原作者所有,如有侵權還請聯系我們,謝謝!
婷婷五月基地