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

相关推荐
sheeta19989 小时前
LeetCode 每日一题笔记 日期:2026.06.06 题目:2196. 根据描述创建二叉树
笔记·算法·leetcode
王cb9 小时前
WinRT Server and Client c#
开发语言·c#
小欣加油9 小时前
leetcode994 腐烂的橘子
数据结构·c++·算法·leetcode·bfs
Selina K9 小时前
C中日历时间转换
c语言·开发语言
怪我冷i9 小时前
zig语言学习笔记——heap-memory
开发语言·golang·zig
乐兮创想 小林9 小时前
企业官网的安全架构:从 HTTPS、WAF 到备份与应急响应的 7 层防御工程
安全·https·网站建设·安全架构·企业官网·北京网站建设公司
.千余10 小时前
【C++】手写双向链表:list容器模拟实现
开发语言·c++·笔记·学习·其他
QuZero10 小时前
Guava Cache Deep Dive
java·后端·算法·guava
随意起个昵称10 小时前
线性dp-LIS题目4(A Twisty Movement)
算法·动态规划
代码中介商10 小时前
HTTP 完全指南(最终篇):CORS 跨域资源共享深度详解
网络·网络协议·http