首页
学习
活动
专区
圈层
工具
发布
技术百科首页 >数据签名验签 >数据签名验签的工作流程是怎样的?

数据签名验签的工作流程是怎样的?

词条归属:数据签名验签

1. 发送方签名流程

发送方签名由三个步骤组成。第一步,对原始数据(如合同文件、API 请求参数、交易信息)使用约定的哈希算法(如 SHA-256、SM3)计算摘要,得到固定长度的哈希值。第二步,使用发送方自己的私钥对该哈希值进行签名运算,生成数字签名串。第三步,将原始数据与数字签名一同发送给接收方,在某些场景下还会附上包含公钥的数字证书,以便接收方验证公钥的合法性。

2. 接收方验签流程

接收方验签同样是三个核心步骤。第一步,接收原始数据和数字签名,若附带数字证书则先验证证书链的有效性。第二步,使用发送方公开的公钥对数字签名进行验证运算,得到发送方声称的原始哈希值。第三步,使用与发送方完全相同的哈希算法,对收到的原始数据重新计算哈希值,将两次得到的哈希值进行比对,若完全一致则验签成功。

3. 哈希算法一致性的严格要求

签名与验签必须使用相同的哈希算法,否则验签必然失败。发送方使用 SHA-256 计算摘要,接收方也必须使用 SHA-256 重新计算,若误用 SHA-1 或 SM3,计算结果将完全不同。在实践中,哈希算法标识通常随签名数据一同传输,接收方据此选择对应的哈希算法,部分签名标准(如 RSA-PSS)还将哈希算法标识嵌入签名结构中,进一步降低算法不匹配的风险。

4. 数字证书的信任链验证

在实际应用中,接收方需要确认用于验签的公钥确实属于声称的发送方,这一确认过程由数字证书完成。数字证书是由权威证书颁发机构(CA)签发的电子身份凭证,将发送方身份信息与公钥绑定。接收方通过验证证书的数字签名(由 CA 私钥签署)来确认公钥的合法性,再沿证书链向上追溯至受信任的根证书,建立完整的信任链。

相关文章
数据安全RSA算法,加密解密,签名验签流程详解
(1)、乙方生成一对密钥即公钥和私钥,私钥不公开,乙方自己持有,公钥为公开,甲方持有。
知了一笑
2019-10-23
2.6K0
公钥 私钥 签名 验签 说的啥?
散列算法,也叫做哈希函数,是从一个任何一种数据中创建小的数字方法,散列函数把消息或者数据压缩成摘要,有时候也叫做摘要算法。把数据量变小,将数据的格式固定下来。
王小明_HIT
2020-07-16
2.5K0
secure boot(三)secure boot的签名和验签方案
FIT 格式支持存储镜像的hash值,并且在加载镜像时会校验hash值。这可以保护镜像免受破坏,但是,它并不能保护镜像不被替换。
嵌入式与Linux那些事
2022-12-01
3K0
golang实现RSA2的签名与验签函数
使用非对称加密算法,实现签名与验签 package tools import ( "crypto" "crypto/rand" "crypto/rsa" "crypto/sha256" "crypto/x509" "encoding/base64" "encoding/pem" "errors" ) // RSA2私钥签名 func Rsa2PriSign(signContent string, privateKey string, ha
唯一Chat
2022-11-12
1.6K0
【深度知识】RSA加密、解密、签名、验签的原理及方法
RSA加密是一种非对称加密。可以在不直接传递密钥的情况下,完成解密。者能够确保信息的安全性,避免了直接传递密钥所造成的被破解的风险。是由一对密钥来进行加解密的过程,分别称之为公钥和私钥。如果用公钥进行加密,则只能通过对应的私钥去解密,如果用私钥进行加密,则只能通过对应的公钥去解密。两者之间有数字相关,该加密发酸的原理就是对一极大整数做因数分解的困难行来保证安全性。通常个人保存私钥,公钥是公开的(可能同时多人持有)
辉哥
2021-03-02
11.5K0
点击加载更多
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
领券