首页 > 其他分享 >数字签名技术

数字签名技术

时间:2023-01-26 17:56:46浏览次数:51  
标签:私钥 数字签名 摘要 技术 算法 消息 签名

介绍数字签名

数字签名是一种用于确认数据的完整性、确认发送者身份的技术。

签名主要包含两个过程:做摘要、进行非对称加密。

  • 做摘要:签名者使用消息摘要算法对消息做摘要;
  • 进行非对称加密,得到签名值:签名者使用私钥 privateKey 对摘要进行非对称加密,得到消息的签名值;
  • 发送者将 “原始消息” 和 “消息的签名值” 一同发给接收者。

验签主要包含两个过程:对签名值进行解密、自己做摘要,并比较摘要。

  • 对签名值进行解密,得到摘要值:验签者使用签名者的公钥 publicKey 对签名值进行解密,得到摘要值。
  • 自己做摘要,并比较摘要值:验签者使用消息摘要算法对签名的数据做摘要,然后将 “计算出的摘要值” 和 “解密得到的摘要值” 作比较:如果二者相同,则说明验签成功;否则说明验签失败。

思考:为什么不直接对消息进行签名,而是对消息的摘要值进行签名呢?

“基于消息生成签名” 和 “基于消息的摘要值生成签名” 都可以。考虑到加解密的运算速度是相对缓慢的,数字签名算法建议对消息摘要值进行签名,因为摘要值的长度是固定的,并且一般消息的摘要值的长度要比消息的长度短,加解密的运算速度会比较快。

介绍签名算法

一个签名算法包括两个部分:消息摘要算法、非对称加密算法。

常见的签名算法有:RSA、RSA2。


RSA 签名算法的全称是 SHA1WithRSA:它使用的消息摘要算法是 SHA1,它使用的非对称加密算法是 RSA。RSA 签名算法对 RSA 密钥的长度不限制。推荐使用 2048 位以上(256 字节)

RSA2 签名算法的全称是 SHA256WithRSA:它使用的消息摘要算法是 SHA256,它使用的非对称加密算法是 RSA。RSA2 签名算法强制要求 RSA 密钥的长度至少为 2048 位。

数字签名的作用

数字签名技术的本质不是为了加密。

技术是为了解决问题而生的,进行数字签名的目的是:

  • 防止他人篡改信息:由于只有私钥持有者才能 “签署” 消息(不考虑私钥泄露的问题),因此其他人无法篡改信息。如果信息被篡改,那么消息接收者通过验签结果将会得知信息被篡改了。确保信息自签名后 到 收到为止,信息未被修改过。
  • 防止他人伪造信息:由于只有私钥持有者才能 “签署” 消息(不考虑私钥泄露的问题),因此其他人无法伪造信息。如果信息被伪造,那么消息接收者通过验签结果将会得知信息是被伪造的。
  • 防止签名者抵赖:由于只有私钥持有者才能 “签署” 消息(不考虑私钥泄露的问题),因此私钥拥有者不能抵赖说这条签署消息不是他发送的。

数字签名进行的是非对称加密。

如果数字签名进行的是对称加密的话,那么数字签名将不能防止签名者抵赖。原因就在于消息发送者 和 消息接收者拥有同样的密钥(公钥),所以消息发送方可以抵赖,否认消息是他发送的。

参考资料

数字签名是什么? - 阮一峰的网络日志 (ruanyifeng.com)

《深入浅出 HTTPS 从原理到实战》

标签:私钥,数字签名,摘要,技术,算法,消息,签名
From: https://www.cnblogs.com/feiyu2/p/17067976.html

相关文章

  • SAP入门技术分享四:模块化程序
    模块化程序​​1.子程序概要​​​​2.子程序定义​​​​3.子程序参数​​​​(1)传递参数的方法​​​​(2)定义参数类型​​​​(3)参数与结构体​​​​(4)参数与内表​​​​4.......
  • SAP入门技术分享三:OPEN SQL
    OPENSQL​​1.概要​​​​(1)R/3体系结构​​​​(2)SQL定义​​​​(3)OPENSQL经常使用的命令​​​​2.OPENSQL​​​​(1)SELECT语句​​​​(2)INTO语句​​​​3.FROM语......
  • Hadoop技术之HDFS工作流程与机制Apache Hadoop概述
    一、HDFS集群角色与职责官方架构图 主角色: namenodeNameNode是Hadoop分布式文件系统的核心,架构中的主角色。NameNode维护和管理文件系统元数据,包括名称空间目录树结构、......
  • 元宇宙技术
    技术上,在传统互联网的基础上,元宇宙在沉浸感、参与度、永续性等多方面提出了更高的要求,因此将会由许多独立工具、平台、基础设施、协议等来支持其运行。随着AR、VR、5G、云......
  • 【Redis技术专区】「优化案例」谈谈使用Redis慢查询日志以及Redis慢查询分析指南
    前提介绍本篇文章主要介绍了Redis的执行的慢查询的功能的查询和配置功能,从而可以方便我们在实际工作中,进行分析Redis的性能运行状况以及对应的优化Redis性能的佐证和指标......
  • 【Redis技术专区】「优化案例」谈谈使用Redis慢查询日志以及Redis慢查询分析指南
    前提介绍本篇文章主要介绍了Redis的执行的慢查询的功能的查询和配置功能,从而可以方便我们在实际工作中,进行分析Redis的性能运行状况以及对应的优化Redis性能的佐证和指标因......
  • 原宇宙的关键驱动技术
    元宇宙的关键驱动技术主要包括:1、VR/AR技术:元宇宙的定义就是为用户提供身临其境的体验,如果没有AR和VR,这将是不可能实现的。但目前市面上所研发的VR都仅供单人游玩,这并不......
  • PWA 技术诞生的前世今生漫谈
    倡导原生应用开发的观点认为,网络浏览器在访问硬件方面存在很多局限性。然而,最近谷歌、微软和Mozilla推出了一些有趣的技术:剪贴板APIPresentationAPI可以检测外部显......
  • 精华推荐 | 【JVM深层系列】「GC底层调优系列」一文带你彻底加强夯实底层原理之GC垃圾
    前提介绍很多小伙伴,都跟我反馈,说自己总是对JVM这一块的学习和认识不够扎实也不够成熟,因为JVM的一些特性以及运作机制总是混淆以及不确定,导致面试和工作实战中出现了很多的纰......
  • 必备的Web前端技术有哪些?
    必备的Web前端技术有哪些?需要掌握Web前端开发必备核心技能,在IT行业快速更新迭代的行业,保持不断地学习钻研,才能在前端之路上走得更远。你需要打好HTML、CSS、和JavaScript前......