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

相关推荐
爱学习的小仙女!10 小时前
顺序表定义、特点和基本操作(含C代码详细讲解)及时间复杂度
数据结构·算法
superman超哥10 小时前
仓颉Actor模型的实现机制深度解析
开发语言·后端·python·c#·仓颉
superman超哥10 小时前
仓颉内存管理深度探索:引用计数的实现原理与实战
c语言·开发语言·c++·python·仓颉
芥子沫10 小时前
《人工智能基础》[算法篇5]:SVM算法解析
人工智能·算法·机器学习·支持向量机·svm
小鹿学程序10 小时前
IP地址消失
网络·网络协议·tcp/ip
BigerBang10 小时前
LoRA 全方位指南:从底层原理到 Qwen-Image-Edit 实战
人工智能·pytorch·深度学习·算法
资生算法程序员_畅想家_剑魔10 小时前
Java常见技术分享-13-多线程安全-锁机制-底层核心实现机制
java·开发语言
passxgx10 小时前
11.3 迭代法和预条件子
线性代数·算法·矩阵
shix .10 小时前
spiderdemo 2-混淆
开发语言·python
X在敲AI代码10 小时前
【无标题】
算法·leetcode·职场和发展