大家好,来宝来为大家解答以下问题,数字签名算法和哈希函数的关系,数字签名算法很多人还不知道,今天让我们一起来看看吧!
1、是什么数字签名算法(DSA)
2、DSA(数字签名算法,数字签名算法,用作数字签名标准的一部分),这是另一种公钥算法。不能用作加密,只能用作数字签名。使用DSA公钥为接收方验证数据的完整性和数据发送方的身份。第三方也可以使用它来确定签名和签名数据的真实性。DSA算法的安全性是基于求解离散对数的困难性。这种签名标准具有很强的兼容性和适用性,已经成为网络安全系统的基本组成部分之一。
3、p是长度为L位的素数,其中L是从512到1024,并且是64的倍数。
4、q是160位长的因子,与p-1互质,其中h是小于p-1且满足大于1的任何数。
5、x是一个小于Q的数.
6、此外,该算法使用单向哈希函数H(m)。指定了安全哈希算法(SHA)。三个参数P、Q和G是公共的,可以由网络中的所有用户共享。私钥是X,公钥是y。
7、当签署消息M:
8、(1)发送者生成一个小于q的随机数k
9、(2)发送方生成:
10、r和S是发送方的签名,发送方发送给接收方。
11、(3)收件人通过计算验证签名:
12、如果v=r,则签名有效。
13、DSA签名:
14、公钥:
15、从512位到1024位的p素数
16、Q 160位长,与p-1互质因子
17、其中h是小于p-1且满足大于1的任意数。
18、私钥:
19、x小于q
20、签名:
21、选择一个k小于q的随机数
22、验证:
23、如果v=r,则签名通过验证。
本文讲解到此结束,希望对大家有所帮助。