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

3.6、数字签名

目录

    • 数字签名
    • 数字签名与验证过程

数字签名

数字签名是签名者使用自己的私钥对待签名数据的哈希值做密码运算得到的一个结果

第一签名者用自己的私钥来对我们待签数据的哈希值进行签名,直接对数据进行签名其实也是可以的,只是对数据签名,这个量可能很大,比如说你实际的数据,我要用我的私钥对你进行签名,相当于用我的私钥加密10t的数据,这个过程可能需要三个小时,太慢了,但是如果我把10t的数据给生成128位的哈希值,然后用我的私钥对哈希值进行签名,也就是对哈希值进行加密128位128比特就很快,一秒都要不了就出来了,所以实际应用,我们都是用私钥来对数据的哈希值来进行签名

这个结果只能用签名者的公钥来进行验证,因为你是用自己的私钥签名的,那验证肯定就是公钥

私钥签名,公钥验证签名的过程,本质上还是用私钥来进行数据加密,只是它加密的不是数据,而是数据的哈希值。这样做的目的是为了速度更快,反正你就是要验证身份,怎么快怎么来

数字签名具备如下的几个特点,非否认性,数字签名的效果跟我们签字按手印是一样的,你摁了之后你就不能说,这不是你签的,因为上面有你的笔记,还有你的指纹,所以具备不可否认性,具备真实性,可以鉴别,找第三方机构或者仲裁机关可以鉴别真伪,不可篡改,因为私钥是不公开的,所以你是不能篡改签名,只有你自己才知道私钥,这是数字签名具备的几个特性

数字签名可以保证数据的完整性和不可否认性,完整性,因为你有私钥,完整性其实就对应着上面的不可篡改,不能被修改

数字签名常见的一些算法都是公钥加密算法或者叫非对称密码算法,最常用的是rsa、Rabin、ELGamal、dss等等也可以用于数字签名。只是我们日常用的多的都是rsa

数字签名与验证过程

在这里插入图片描述
首先这里面有一个电子合同,电子合同你可以看作是一个明文消息。我们首先进行一个哈希函数得到一个消息摘要。消息摘要如果用MD5可能是128位的,然后我们再对这个消息摘要进行签名,签名用的是发送者的私钥,签完名之后,然后再把这个签名融合到你的合同里面,跟这个消息相当于做一个融合加起来,就出现待签名的电子合同
在这里插入图片描述
我们把这个待签名的电子合同,把它发出去,发出去之后,对方要把它拆开,先拆成明文的电子合同,还有一个签名。签名我们首先用发送者的公钥对它进行解密,解密一般用公钥,解密完之后就得到一个哈希值,这是从数字签名得到的一个哈希值

我们这里有一个明文电子合同,我们也通过哈希函数再给它做一次哈希,对比一下这两个哈希值相不相同,如果相同,那就证明没有被篡改,同时也能够证明的确是用对方自己的私钥进行签名,因为我用公钥解开了,那你肯定是用私钥签的,私钥只有你自己有,那也能够证明这个人的确是你,你就不可否认了,这的确是你签的,所以这就是数字签名的过程与验证

相关文章:

  • 模拟String基本函数/深浅拷贝/柔性数组
  • Redis 详解
  • Spring @Bean注解使用场景二
  • HOT100——链表篇Leetcode234. 回文链表
  • Harmony OS NEXT API 12核心API深度解析与开发实践
  • python基础
  • SQL Server的连接时发生了与网络相关或特定于实例的错误。未找到服务器或无法访问服务器
  • 软考教材重点内容 信息安全工程师 第19章 操作系统安全保护
  • 【JavaScript】10-深入面向对象
  • [设计模式]1_设计模式概览
  • NRBO-Transformer牛顿-拉夫逊算法优化编码器多变量时间序列预测(Matlab实现)
  • Maximize Rating
  • Git使用和原理(3)
  • 从0到1构建AI深度学习视频分析系统--基于YOLO 目标检测的动作序列检查系统:(2)消息队列与消息中间件
  • 2025-03-15 学习记录--C/C++-PTA 习题3-3 出租车计价
  • Thinkphp的belongsToMany(多对多) 和 hasManyThrough(远程一对多)的区别是什么?
  • 【蓝桥杯】省赛:连连看(暴力 非AC)
  • 浅析Redis分布式锁的实现方法
  • 使用OpenAI Python库探索新一代AI接口:从基础到智能体开发
  • 文本组件+Image组件+图集
  • 莫高义在第四届中国新闻发言人论坛开幕式上的致辞
  • 没有握手,采用翻译:俄乌三年来首次直接会谈成效如何?
  • 马上评|重病老人取款身亡,如何避免类似悲剧?
  • 广西百色“致富果”:高品质芒果直供香港,带动近五千户增收
  • 沃尔玛上财季净利下滑12%:关税带来成本压力,新财季价格涨幅将高于去年
  • 特朗普称即将与伊朗达成核协议,外交部:中方愿继续发挥建设性作用