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

相关推荐
Frank_refuel3 分钟前
C++之继承
开发语言·c++
Ares-Wang9 分钟前
网络》》IP组播
网络·网络协议·tcp/ip
七号驿栈11 分钟前
07_汽车信息安全算法在线验证工具(测试报告)
算法
游戏开发爱好者812 分钟前
了解 Xcode 在 iOS 开发中的作用和功能有哪些
android·ios·小程序·https·uni-app·iphone·webview
win x18 分钟前
网络通信协议 第一部
java·网络协议
sunfove24 分钟前
Python 自动化实战:从识图点击、模拟真人轨迹到封装 EXE 全流程教学
开发语言·python·自动化
傻啦嘿哟24 分钟前
Python网页自动化操作全攻略:从入门到实战
开发语言·python·自动化
啦哈拉哈28 分钟前
【Python】知识点零碎学习4
python·学习·算法
爱喝可乐的老王33 分钟前
线性回归模型案例:广告投放效果预测
算法·回归·线性回归
筱歌儿37 分钟前
TinyMCE-----word表格图片进阶版
开发语言·javascript·word