美文网首页
数字签名

数字签名

作者: 进击的小君君 | 来源:发表于2021-04-28 10:27 被阅读0次

读阮一峰数字签名总结梳理:

B:生成公钥B、私钥B
A:持有公钥B
CA(certificate authority):生成公钥CA、私钥CA

A与B之间信息传递

A写信给B

A:contentA + publickeyB = 秘文A
B:秘文A + privateKeyB= contentA
只要B的privateKeyB不泄漏,这封信就是安全的,即使落在别人手里,也无法解密

数字签名

B回信给A (该情况只能证明contentB未被修改,并不能证明contenB是B所发)

B:contentB + Hash = digestB
digestB +privateKeyB = signatureB
signatureB 和contentB 一起发送给A
A:signatureB + publicKeyB = digestB
contentB + Hash = digest
digest == digestB ? contentB未被修改 : contentB被修改

注意:但是这种情况下如果有人冒充B,冒充者C将A持有的公钥B替换为公钥C,此时A收到C的信息后,只能证明contentC未被修改,但并不能证明contentC是否是B所发。所以A需要想办法证明自己持有的公钥是B的,所以需要CA为公钥B做认证

B回信给A

CA(证书中心)为公钥做认证
CA: publickKeyB+其他相关信息+CA 私钥 = 数字证书(Digital Certificate)
B持有:数字证书
A持有:CA公钥
B:contentB + Hash + privateKey = signatureB
数字证书 、signatureB 以及 contentB 一起发送给A
A:数字证书 + CA公钥 = publicKeyB(证明是B的公钥)
signatureB + publickeyB = digestB
contentB + Hash = digest
digest == digestB ?contentB未被修改 : contentB被修改

参考链接

http://www.ruanyifeng.com/blog/2011/08/what_is_a_digital_signature.html

RSA加密+AES加密
RSA:非对称加密,生成公私钥
AES:对称加密,生成AES密钥
客户端:用AES对content进行加密,RSA公钥对AES密钥进行加密
服务端:RSA私钥进行解密得到AES密钥,从而得到content

摘要算法:可以将任意长度的文本转化为固定长度的文本
摘要算法具有以下重要特性:

  • 只要源内容不同,计算得到的结果,必然不同。
  • 无法通过摘要算法可逆拿到源内容

典型的摘要算法有大名鼎鼎的MD5SHA。摘要算法主要用于比对信息源是否一致,因为只要源内容发生变化,得到的摘要必然不同;而且通常结果要比源短很多,所以称为“摘要信息”。

相关文章

  • 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/ufyprltx.html