数字签名是现代密码学的重要应用,它通过非对称加密技术为数字内容提供身份认证和完整性验证。
本文介绍了数字签名的原理和实现方式,帮助你理解这一核心安全技术。
数字签名技术是消息传递进行加密获得的签名。如HTTP请求时将请求体加密。数字签名可以用于证实数字内容的完整性和来源。常见的数字签名算法:椭圆曲线数字签名算法。。。
二、数字签名的流程
(1)椭圆曲线数字签名算法:
生成数字签名
获取消息m的数字摘要Hm 即 Hm = h(m);;
使用RFC6979协议,通过私钥pk和m生成确定随机数k;
计算R = k * G,其中R为曲线上的一点,取其横坐标r作为数字签名的一部分,然后计算s,即s = (Hm + r * pk) / k;
得到消息m的数字签名为Sig = <r, s>
2019/9/1大约 2 分钟