DSA签名算法

DSA签名算法,第1张

DSA签名算法

一 什么是DSA
DSA-Digital Signature Algorithm 是Schnorr和ElGamal签名算法的变种,被美国NIST作为DSS(DigitalSignature Standard)。简单的说,这是一种更高级的验证方式,用作数字签名。不单单只有公钥、私钥,还有数字签名。私钥加密生成数字签名,公钥验证数据及签名。如果数据和签名不匹配则认为验证失败!数字签名的作用就是校验数据在传输过程中不被修改。数字签名,是单向加密的升级!
DSA是算法,DSS是标准。标准采用算法,算法是标准的一部分。
二 DSA 参数
常见DSA参数(p、q、签名)长度为:
• 1024 160 320
• 2048 224 448
• 3072 256 512
三 密钥生成
以下为长度1024位的标准

DSA的核心思想包含两个循环群。第一个为大的循环群Zp,其阶对应的长度为1024位。
第二个为长度160位的Zq的子群。

四 签名生成
对数据x散列后做签名,签名结果为一对整数(r, s)。

五 签名验证
验证过程如下:

证明过程如下:

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5720733.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-18
下一篇 2022-12-18

发表评论

登录后才能评论

评论列表(0条)

保存