什麼是數字簽名演算法 DSA

2021-06-23 09:53:47 字數 705 閱讀 1117

dsa(digital signature algorithm,數字簽名演算法,用作數字簽名標準的一部分),它是另一種公開金鑰演算法,它不能用作加密,只用作數字簽名。dsa使用公開金鑰,為接受者驗證資料的完整性和資料傳送者的身份。它也可用於由第三方去確定簽名和所簽資料的真實性。dsa演算法的安全性基於解離散對數的困難性,這類簽字標準具有較大的相容性和適用性,成為網路安全體系的基本構件之一。

p是l位長的素數,其中l從512到1024且是64的倍數。

q是160位長且與p-1互素的因子,其中h是小於p-1並且滿足 大於1的任意數。

x是小於q的數。

另外,演算法使用乙個單向雜湊函式h(m)。標準指定了安全雜湊演算法(sha)。三個引數p,q和g是公開的,且可以被網路中所有的使用者公有。私人金鑰是x,公開金鑰是y。

對訊息m簽名時:

(1) 傳送者產生乙個小於q的隨機數k。

(2) 傳送者產生:

r和s就是傳送者的簽名,傳送者將它們傳送給接受者。

(3) 接受者通過計算來驗證簽名:

如果v=r,則簽名有效。

dsa簽名:

公開金鑰:

p 512位到1024位的素數

q 160位長,並與p-1互素的因子

其中h是小於p-1並且滿足 大於1的任意數。

私人金鑰:

x小於q

簽名:k選取小於q的隨機數

驗證:如果v=r,則簽名被驗證。

什麼是數字簽名

翻譯 吳裕華 原文 1 bob 有兩把秘鑰,一把公鑰,一把私鑰 2 bob 可以把公鑰分析給他的同事pat doug susan,但是自己儲存私鑰。而加密後的資料只能匹配的秘鑰才能開啟。任何一把 bob 的秘鑰都可以用於加密資料,同時則必須使用另一把秘鈅來進行解密。3 susan 可以用 bob 分...

java 資訊保安(十) 數字簽名演算法DSA

資訊保安基本概念 digital signature algorithm dsa 是schnorr和elgamal簽名演算法的變種,被美國nist作為dsfs digitalsignature standard dsa data signature algorithm 數字簽名演算法 dsa僅包含數...

什麼是數字簽名 證書

鮑勃有兩把鑰匙,一把是公鑰,另一把是私鑰。鮑勃把公鑰送給他的朋友們 帕蒂 道格 蘇珊 每人一把。蘇珊要給鮑勃寫一封保密的信。她寫完後用鮑勃的公鑰加密,就可以達到保密的效果。鮑勃收信後,用私鑰解密,就看到了信件內容。這裡要強調的是,只要鮑勃的私鑰不洩露,這封信就是安全的,即使落在別人手裡,也無法解密。...