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

PKI基础 二.PKI基础--3.公开密钥数字签名算法(签名)
本文出自:http://www.cfca.com.cn (2001-06-08 22:08:00)
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,则签名被验证。 
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值