当前位置: 首页 > article >正文

《深入浅出HTTPS​​​​​​​​​​​​​​​​​》读书笔记(28):DSA数字签名

《深入浅出HTTPS​​​​​​​​​​》读书笔记(28):DSA数字签名

 

对称加密算法有很多算法,标准算法是RSA机密算法,数字签名技术也有一个标准DSS(Digital Signature Standard),其标准算法就是DSA签名算法(Digital Signature Algorithm)

 

(1)DSA算法的内部结构

 

p、q、g是公共参数,通过参数会生成密钥对

 

DSA的密钥对生成就取决于这三个公共参数,计算签名和验证签名也要依赖参数文件。

 

(2)生成DSA密钥对

 

◎选取一个随机数作为私钥x,0 < x < q。

◎基于私钥生成公钥,g^x mod p。

从中可以看出RSA算法、DH算法、DSA算法基于离散数学。

 

(3)签名生成

 

◎生成一个随机数k,1 < k < q。

◎计算r = ( g^k mod p ) mod q。

◎计算s = ( k^(-1) (H(m) + xr)) mod q, H是特定的摘要算法。

◎签名值就是(r, s),随同原始消息m一起发送。

 

(4)签名验证

 

◎假如r和s大于q或者小于0,则验证直接失败。

◎计算w = s^(-1) mod q。

◎计算u1 = H(m).w mod q。

◎计算u2 = r.w mod q。

◎计算v = ( g^u1 * y^u2 mod p ) mod q。

◎如果v等于r,则签名验证成功,否则失败。


http://www.kler.cn/a/500753.html

相关文章:

  • Proser:升级为简易的通讯调试助手软件
  • 【excel】VBA简介(Visual Basic for Applications)
  • Vue 3 Diff 算法过程及基本实现方式
  • <2025 网络安全>《网络安全政策法规-关键信息基础设施安全保护条例》
  • w156基于SpringBoot+Vue的常规应急物资管理系统的设计与实现
  • centos9设置静态ip
  • Elasticsearch介绍及使用
  • linux客户端工具mobaxterm
  • Node.js——http 模块(一)
  • 【机器学习:十六、其他的激活函数】
  • SpringBoot:SaToken的options预检请求鉴权失败
  • 1.微服务
  • 基于华为Maas(大模型即服务)和开源的Agent三方框架构建AI聊天助手实践
  • 大数据技术实训:Zookeeper集群配置
  • 最大拿牌的得分
  • IT运维如何实现工作流自动化?实用案例分享
  • SQL HAVING 子句深入解析
  • python functools.partialmethod 函数介绍
  • UML建模
  • 51单片机 AT24C02(I2C总线)
  • 极狐GitLab 正式发布安全版本17.7.1、17.6.3、17.5.5
  • 在Linux上如何让ollama在GPU上运行模型
  • java项目之企业客户管理系统(ssm+mysql+vue+文档)
  • 8.Bridge 桥接模式(结构型模式)