当前位置: 首页 > news >正文

【信息安全相关基础篇:了解签名与验签是什么及用途】

目录

  • 1. 基本概念
  • 2. 签名
  • 3. 验签
  • 4. 问题

1. 基本概念

加密:发送方利用接收方的公钥对要发送的明文进行加密。
解密:接收方利用自己的私钥对密文进行解密
配对:公钥和私钥配对的,用公钥加密的文件,只有对应的私钥才能解密。当然也可以反过来,用私钥加密,用对应的公钥进行解密
签名:签名是发送方为发送的文件写上一个自己的签名,所以需要使用的是自己(发送方)的私钥
验证签名: 验证签名是接收方需要确认自己接收到的密文文件是否真的是发送方发送过来的,需要确认的是中间有没有被篡改(不同于解密),验签最终是根据报文摘要来进行对比

2. 签名

发送方用一个哈希函数从报文文本中生成报文摘要,然后用自己的私人密钥对这个摘要进行加密,得到的就是这个报文对应的数字签名。通常来说,发送方会把数字签名和报文原文一并发送给接受者(因为验签的话,终究需要一个对比的对象)。过程示例如下图:

在这里插入图片描述

3. 验签

接收方同时接收到报文明文和数字签名后,会使用发送方的公钥来对数字签名进行解密,得到一个报文摘要A

同时使用相同的哈希函数对报文明文进行hash处理,得到一个报文摘要B,最后对比报文摘要A和报文摘要B的内容,即可确定内容是否为中间人篡改过。

其实, 数字签名有两种功效:一是能确定消息确实是由发送方签名并发出来的,因为别人假冒不了发送方的签名。二是数字签名能确定消息的完整性。

4. 问题

上述存在报文明文传输的情况,显然是存在问题的,那么应该如何处理呢?

发送方: 用自己的私钥完成数字签名,同时使用接收方的公钥完成明文的加密

接收方:使用自己的私钥对密文进行解密,得到明文,再使用发送方的公钥进行验签,却报发送方身份的准确性。

发送过程

在这里插入图片描述

接受过程:

在这里插入图片描述

相关文章:

  • 蓝桥杯13届 卡牌
  • Dapp开发-如何开发一个dapp
  • Transformer——Q74 推导动态FFN(Dynamic FFN)的门控权重更新公式
  • 【内蒙古】《内蒙古自治区本级政务信息化建设项目预算支出标准(试行)》(内财预〔2024〕1449号)-费用标准解读系列
  • 计算机图形学编程(使用OpenGL和C++)(第2版)学习笔记 09.天空和背景
  • 交叉类型的属性合并规则
  • 数组作为指针计算大小时的误区
  • 扩展:React 项目执行 yarn eject 后的 config 目录结构详解
  • Kotlin 内联函数(Inline Functions):性能优化与实战指南
  • CSS3 遮罩
  • 嵌入式Linux I2C驱动开发详解
  • 架构、构架、结构、框架之间有什么区别?|系统设计|系统建模
  • Golang 应用的 CI/CD 与 K8S 自动化部署全流程指南
  • TCPIP详解 卷1协议 九 广播和本地组播(IGMP 和 MLD)
  • geoserver发布arcgis瓦片地图服务(最新版本)
  • cursor 出现 unauthorized request
  • 编译原理AST以Babel为例进行解读、Webpack中自定义loader与plugin
  • 主流编程语言中ORM工具全解析
  • 区块链钱包开发全解析:从架构设计到安全生态构建
  • edge设置位IE模式打开网页
  • 俄乌拟在土耳其举行会谈,特朗普:我可能飞过去
  • 书法需从字外看,书法家、学者吴本清辞世
  • 他站在当代思想的地平线上,眺望浪漫主义的余晖
  • 为证明我爸是我爸,我将奶奶告上法庭
  • 中国目的地·入境游简报006|外国网红游中国启示录
  • 中国工程院院士、国医大师、现代中国针灸奠基人石学敏逝世