PKI基础(二).PKI基础--3.公开密钥数字签名算法(签名)

王朝other·作者佚名  2008-05-19
窄屏简体版  字體: |||超大  

3.公开密钥数字签名算法(签名)

DSA(Digital Signature Algorithm,数字签名算法,用作数字签名标准的一部分),它是另一种公开密钥算法,它不能用作加密,只用作数字签名。DSA使用公开密钥,为接受者验证数据的完整性和数据发送者的身份。它也可用于由第三方去确定签名和所签数据的真实性。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,则签名被验证。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航