【密码学】一文读懂DSA

admin 2024年2月15日19:18:12评论8 views字数 854阅读2分50秒阅读模式

【密码学】一文读懂DSA

【密码学】一文读懂DSA

本篇文章来聊一聊DSA的相关知识,为什么说这个好写呢,是因为我之前是已经介绍过离散对数相关概念了,而对于非对称密码体系呢,其中麻烦的地方就在于他的数学知识,有了前面的铺垫呢,所以这一篇文章也就变得简单了起来,所以说呢,如果不懂离散对数的,可以看下我之前写的那一篇文章,或者看下相关资料。

算法简介

数字签名算法(DSA)是用于数字签名的联邦信息处理标准之一,基于模算数和离散对数的复杂度。DSA是Schnorr和ElGamal签名方案的变体。美国国家标准技术研究所(NIST)于1991年提出将DSA用于其数字签名标准(DSS),并于1994年将其作为FIPS 186采用。到2023年被更新为FIPS 186-5,一共经历了5次改版,咱们主打一个追求最新,在这篇文章发表之前,是5次。

和之前介绍的RSA或者SM2算法不一样的是,DSA只提供了数字签名算法的功能,本身并不可以用作密钥交换或者加密算法。

算法过程

之前也说过,DSA是基于离散对数求解的困难性设计的算法,我们先来看一下这个算法的参数。

参数

  • p: 一个素数,满足,其中,并且L是64的倍数
  • q: q是p-1的素因子,其中要求
  • g: 其中h满足,并且
  • x: x是一个随机的整数,满足,这个作为用户的私钥
  • y: 作为用户的公钥
  • k: 一个随机值,满足

签名过程

接下来,我们来看一下DSA签名算法的过程,整体过程并不复杂,具体过程如下

这样就完成了,签名的过程。

验签过程

接下来我们一起来看一下签名验证的过程,具体过程如下

  • 验证

到这里,其实有关DSA算法就讲解完成了,这里又水完了一篇文章,溜了溜了。

参考资料

原文始发于微信公众号(Coder小Q):【密码学】一文读懂DSA

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年2月15日19:18:12
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   【密码学】一文读懂DSAhttp://cn-sec.com/archives/2187596.html

发表评论

匿名网友 填写信息