區塊鏈與密碼學全民課堂第6-3講:數字簽名演算法大合集

買賣虛擬貨幣
【本課堂內容全部選編自PlatON首席密碼學家、武漢大學國家網路安全學院教授、博士生導師何德彪教授的《區塊鏈與密碼學》授課講義、教材及網際網路,版權歸屬其原作者所有,如有侵權請立即與我們聯絡,我們將及時處理。】EIGamal演算法

數字簽名一般利用公鑰密碼技術來實現,其中私鑰用來簽名,公鑰用來驗證簽名。ElGamal公鑰密碼演算法是在密碼協議中有著重要應用的一類公鑰密碼演算法,其安全性是基於有限域上離散對數學問題的難解性。它至今仍是一個安全性良好的公鑰密碼演算法。它既可用於加密又可用於數字簽名的公鑰密碼體制。

簽名演算法:

驗證簽名過程:

成立則確認為有效簽名,否則認為簽名是偽造的

在1996年的歐洲密碼學會(Proceedings of EUROCRYPT 96)上,David Pointcheval和Jacques Stern給出一個ElGamal簽名的變體,並基於所謂分叉技術證明了在隨機預言模型下所給方案是安全的(在自適應選擇訊息攻擊下能抗擊存在性偽造)。

Schnorr演算法

Schnorr簽名方案是一個短簽名方案,它是ElGamal簽名方案的變形,其安全性是基於離散對數困難性和雜湊函式的單向性的。

Schnorr簽名與ElGamal簽名的不同點:

DSA演算法


1991年,美國政府頒佈了數字簽名標準(Digital Signature Standard, DSS),也稱為數字簽名演算法(Digital Signature Algorithm, DSA) 。

和DES一樣,DSS也引起了激烈的爭論,反對者認為:金鑰太短、效率不如RSA高、不能實現資料加密並懷疑NIST在DSS中留有後門。

隨後,美國政府對其做了一些改進,目前DSS的應用已經十分廣泛,並被一些國際標準化組織採納為國際標準。2000年,美國政府將RSA和橢圓曲線密碼引入到數字簽名標準中,進一步豐富了DSA演算法。

DSA的主要引數:

全域性公開金鑰分量,可以為使用者公用

DSA簽名過程:

DSA驗證過程:

今天的課程就到這裡啦,下一堂課我們將學習基於橢圓曲線的數字簽名演算法,帶大家繼續瞭解數字簽名,敬請期待!

免責聲明:

  1. 本文版權歸原作者所有,僅代表作者本人觀點,不代表鏈報觀點或立場。
  2. 如發現文章、圖片等侵權行爲,侵權責任將由作者本人承擔。
  3. 鏈報僅提供相關項目信息,不構成任何投資建議

推荐阅读

;