美文网首页
数字签名

数字签名

作者: Frankkkkk | 来源:发表于2020-01-14 11:06 被阅读0次

一、概念

数字签名,又称公钥数字签名,是只有信息的发送者才能产生的别人无法伪造的一段数字串,这段数字串同时也是对信息的发送者发送信息真实性的一个有效证明。

二、主要行为

  • 生成签名
    由消息的发送者完成,通过"签名密钥"生成
  • 验证签名
    由消息的接收者完成,通过"验证密钥验证"

三、如何保证签名的唯一性?

用消息发送者的私钥进行签名,然后任何接收者可以用公钥来验证签名。
数字签名,刚好跟公钥加密的方式相反,如下图所示:


公钥加密 数字签名 数字签名和公钥密码

四、数字签名的过程

示意图如下:


数字签名的过程

如上图所示,消息发送者Alice会发两份消息给接收者Bob,

  • 第一份为明文发送
  • 第二份消息用Alice的私钥加密后,再发送给Bob。Bob收到加密后的消息后,用Alice事先公开的公钥进行解密,得到第二份明文消息
  • 比较两份明文消息是否一致

但是这种方法,存在一个问题:第二份密文消息数据量太大。比如Alice想发送一段100KB的消息,那么通过上述方式签名后,Alice还得发送100KB左右的密文消息。
那如何解决这个问题呢?改进方法如下:
**将第二份签名消息改为:发送时,先将明文消息进行md5得到一个哈希值,然后用私钥对哈希值再加密,发送给接收者;接收者收到消息后,先将明文消息做md5操作得到第一个哈希值,再将第二条消息用公钥进行解密,得到第二个哈希值,比较两个哈希值是否一致来验证签名,流程图如下:

改进

相关文章

  • IOS 逆向开发(三)应用签名

    @[TOC](IOS 逆向开发(三)应用签名) 1. 数字签名 什么是数字签名? 数字签名(digitally s...

  • 008——逆向之APP重签名

    前言在先了解APP重签名之前我们先来了解一下数字签名 数字签名 数字签名过程中,就是利用了RSA加密来进行数字签名...

  • 数字签名和数字证书

    数字签名 数字签名是什么?--阮一峰数字签名--百度百科 数字签名的流程 用哈希函数先对报文生成摘要 用私钥对摘要...

  • 数字签名与数字证书

    一、数字签名 数字签名的主要技术是非对称密钥加密技术。数字签名并不能保证信息在传输过程中不被截获。 1.数字签名技...

  • 密码学相关概念总结

    数字签名 数字签名(又称公钥数字签名,英语:Digital Signature) 发送报文时,发送方用一个哈希函数...

  • iOS逆向-应用签名原理(Ⅲ)

    数字签名(digitally signed) 概念数字签名(又称公钥数字签名)是一种类似写在纸上的普通的物理签名/...

  • 数字签名

    数字签名的概念 1.所谓数字签名(Digital Signature)(又称公开秘钥数字签名、电子签名) 是一种类...

  • Https 编程

    目录 数字签名 数字证书 Https 编程 数字签名 数字签名是非对称加密与数字摘要的组合应用 应用场景 校验用户...

  • 区块链开发——数字签名扩展 #C02

    本篇为资料整理 数字签名算法 常见的数字签名算法主要有RSA、DSA、ECDSA三种。 RSA数字签名算法 RSA...

  • Python RSA数字签名实践

    之前讲到RSA可以用来加密和数字签名,这里是RSA用作数字签名。Python的pycrypto库实现的数字签名有一...

网友评论

      本文标题:数字签名

      本文链接:https://www.haomeiwen.com/subject/cqmoactx.html