《深入浅出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,则签名验证成功,否则失败。

相关推荐
君君思密达3 分钟前
Leetcode Hot 100 题目详解-哈希表
数据结构·算法·leetcode
lucas_AI4 分钟前
Muse Glimmer 30B:Meta 难得给的真开源,强在哪、虚在哪
人工智能·算法
ai产品老杨8 分钟前
国产NPU视觉算法完整流程
算法
过期的秋刀鱼!10 分钟前
带替换的采样
人工智能·python·算法·决策树·机器学习
过期的秋刀鱼!29 分钟前
使用多个决策树
人工智能·算法·决策树·机器学习·数据挖掘
老赵的博客34 分钟前
工控机之UDP组播
网络·网络协议·udp
微硬创新41 分钟前
耐达讯自动化:16路4-20mA模拟信号,该怎样平稳接入PROFINET控制系统?
人工智能·物联网·网络协议·自动化·信息与通信
2601_963869951 小时前
【计算机毕业设计】基于Java的潮牌购物网站系统的设计与实现
java·开发语言·课程设计
203号居民1 小时前
LeetCode hot 100 —560. 和为 K 的子数组
java·算法·leetcode
小疆智控1 小时前
工业跨网通讯实践EtherCAT转TCPIP网关关键技术
网络·网络协议