数字签名、数字证书、签名、加密的概念解析

数字签名和验证流程

签名的主要目的是验证身份,而不是加密,因此用私钥进行签名,公钥验证签名,传输过程中消息不需要加密
签名生成流程图签名生成流程图
​ 数字签名技术的本质不是为了加密,而是身份验证,所以同签名值一同传递的消息是不需要加密的
在这里插入图片描述

​ 签名生成和签名验证流程很简单,思考一个问题,为什么不直接对消息进行签名,而是对消息的摘要值进行签名?

​ 签名值除了比较之外并没有其他用途,那么基于消息生成签名和基于消息摘要值生成签名并无区别,考虑到非对称加密算法运行是相对缓慢的,数字签名算法建议对消息摘要值进行签名,因为摘要值的长度是固定的,运算的时候速度会比较快。

​ 在验证签名的过程中,关键的一步就是要保证发送方传递过来的公钥是可信赖的,这时候就得用到数字证书了。

数字证书

​ 数字签名校验的前提是能拿到发送方的公钥,并且保证这个公钥是可信赖的,所以就需要数字证书。

​ 它简单来说其实是由一些权威的数字认证机构颁发给服务器的一个文件。数字认证机构简称CA,它是客户端和服务端都信任的第三方机构。

​ 数字证书颁发流程如下图:

在这里插入图片描述

注意区分数字签名和数字证书的概念

​ 数字签名:可以理解成一种验证身份的技术,一种规范,类似于promiseA+规范、CommonJS规范

​ 数字证书:对于规范的实现,类似于es6实现了promiseA+规范,node实现了commonjs规范

区分签名与加密的概念

​ 签名:目的是为了验证身份,防止中间人假装自己对外发送假信息,不需要对数据进行加密处理,因此用私钥进行签名,用公钥进行解密验证

​ 加密:目的是将明文变成密文进行传输,防止消息在传输中被别人破解,因此使用公钥加密,使用私钥解密

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值