欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

DSA签名算法

时间:2023-08-27

一 什么是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)。

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

证明过程如下:

Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。