极简讲义之什么是数字签名

本文涉及的产品
密钥管理服务KMS,1000个密钥,100个凭据,1个月
简介: 极简讲义之什么是数字签名

电子签名可以和手写签名类比,他们都是用来核实消息发送方的身份的。


电子签名有三个目的


  1. 验证:电子签名可以让消息接收方相信消息是由特定的消息发送者创建和发送的
  2. 不可否认:通过电子签名,发送者在发送消息后不能否认发送行为
  3. 完整性:电子签名确保消息在传输过程中没有被修改过


电子签名一般在软件分发,金融交易中使用,或者用在一些需要检测是否存在伪造或者篡改的场景中。


通过一个示例演示电子签名是如何工作的。以A给B发送邮件为例,B是如何验证邮件是否由A发送的,数字签名使用的加密算法是非对称加密算法。流程如下:


  1. 发送方A生成密钥对,公钥和私钥。私钥自己保留,而且不能泄漏给任何人。公钥发送给接收方B。
  2. A将邮件的内容通过hash算法生成数字摘要。
  3. A用私钥通过加密算法将数字摘要加密生成数字签名。将内容和数字签名一起发送给B。
  4. B接收到内容和数字签名后。通过公钥将数字签名解密生成数字摘要,记作digest1。
  5. B通过与A相同的hash算法将内容生成数字摘要,记作digest2。判断digest1和digest2是否相等。如果相等说明邮件没有被篡改。


误区:数字签名是使用非对称加密算法对内容的hash值加密,而不是对内容本身加密。


具体内容请参见视频👇

image.png点击查看原视频链接



相关文章
|
5月前
|
算法 安全 关系型数据库
密码学系列之七:数字签名
密码学系列之七:数字签名
|
2月前
|
算法 Linux 数据安全/隐私保护
加解密随笔
加解密随笔
23 2
|
2月前
|
安全 数据安全/隐私保护 C++
RSA密钥的秘密花园:Python带你漫步加密解密的知识殿堂
【8月更文挑战第2天】RSA密钥的秘密花园以非对称加密守护信息安全。对称加密如乡间小屋, 发送方与接收方共享钥匙; 而RSA像宏伟城堡, 拥有公钥和私钥。公钥加密信息, 私钥解密, 解决了密钥安全传递难题。借助Python和pycryptodome库, 我们可体验RSA加密解密过程, 生成密钥对, 加密消息, 并成功解密, 展现其强大能力和在信息安全中的独特作用。
54 2
|
3月前
|
移动开发 数据安全/隐私保护 Python
100行代码手把手带你实现Feisitel加密算法
Feistel 加密算法,或者叫做 Feistel 网络,是一种块加密(block cipher)模型,很多常见的加密算法都具有 Feistel 结构,如 DES、blowfish 等。 Feistel 将明文分割成固定大小(block size)的块(如 32bit、64bit),然后对于每个块进行若干轮操作,每轮操作需要用到一个 key,因此总计需要循环轮数个 key。解密时需要用相同的 keys,因此这是一种对称加密算法。
|
算法 安全 数据安全/隐私保护
【密码学】 一篇文章讲透数字签名
数字签名(又称公钥数字签名)是只有信息的发送者才能产生的别人无法伪造的一段数字串,这段数字串同时也是对信息的发送者发送信息真实性的一个有效证明。它是一种类似写在纸上的普通的物理签名,但是在使用了公钥加密领域的技术来实现的,用于鉴别数字信息的方法。一套数字签名通常定义两种互补的运算,一个用于签名,另一个用于验证。数字签名是非对称密钥加密技术与数字摘要技术的应用。数字签名可以识别消息是否被篡改, 并验证消息的可靠性, 也可以防止否认。
684 0
【密码学】 一篇文章讲透数字签名
|
Rust 算法 JavaScript
【密码学】密码学相关资料整理
感觉我也写了不少的文章了,这里整理一下,之后这个整理会佛系更新,手动狗头,具体的链接查看原文获取吧,因为这个链接好像加不进去。
【密码学】密码学相关资料整理
|
数据安全/隐私保护 C++
恺撒加密(MOOC)(C++)
恺撒加密(MOOC)(C++)
122 0
|
搜索推荐 大数据 数据安全/隐私保护
【密码学】杂谈-日升昌票号
通过对于日升昌的这个汇票的分析呢,我们可以发现,在中国古代,实际商用的和密码学相关的东西也真不少,这不像上一篇文章当中所提到的易经那么玄学了,这是实打实的一个案例,由此可见整个思想还是想通的。
【密码学】杂谈-日升昌票号
|
算法
【密码学】一文读懂数字签名
本文来简单的聊一聊数字签名,先来看下面一个例子。
【密码学】一文读懂数字签名
|
Rust 算法 数据安全/隐私保护
【密码学】一文读懂基于Elgamal的数字签名
本文来先填一下之前挖的坑,简单介绍一个实际的数字签名的方案,给自己挖的坑总是要自己来填的。
【密码学】一文读懂基于Elgamal的数字签名