数字签名是什么?

原文网址:http://www.youdzone.com/signature.html

1.

鲍勃有两把钥匙,一把是公钥,另一把是私钥。

2.

鲍勃把公钥送给他的朋友们----帕蒂、道格、苏珊----每人一把。

3.

苏珊要给鲍勃写一封保密的信。她写完后用鲍勃的公钥加密,就可以达到保密的效果。

4.

鲍勃收信后,用私钥解密,就看到了信件内容。这里要强调的是,只要鲍勃的私钥不泄露,这封信就是安全的,即使落在别人手里,也无法解密。

5.

鲍勃给苏珊回信,决定采用"数字签名"。他写完后先用Hash函数,生成信件的摘要(digest)。

6.

然后,鲍勃使用私钥,对这个摘要加密,生成"数字签名"(signature)。

7.

鲍勃将这个签名,附在信件下面,一起发给苏珊。

8.

苏珊收信后,取下数字签名,用鲍勃的公钥解密,得到信件的摘要。由此证明,这封信确实是鲍勃发出的。

9.

苏珊再对信件本身使用Hash函数,将得到的结果,与上一步得到的摘要进行对比。如果两者一致,就证明这封信未被修改过。

10.

复杂的情况出现了。道格想欺骗苏珊,他偷偷使用了苏珊的电脑,用自己的公钥换走了鲍勃的公钥。此时,苏珊实际拥有的是道格的公钥,但是还以为这是鲍勃的公钥。因此,道格就可以冒充鲍勃,用自己的私钥做成"数字签名",写信给苏珊,让苏珊用假的鲍勃公钥进行解密。

11.

后来,苏珊感觉不对劲,发现自己无法确定公钥是否真的属于鲍勃。她想到了一个办法,要求鲍勃去找"证书中心"(certificate authority,简称CA),为公钥做认证。证书中心用自己的私钥,对鲍勃的公钥和一些相关信息一起加密,生成"数字证书"(Digital Certificate)。

12.

鲍勃拿到数字证书以后,就可以放心了。以后再给苏珊写信,只要在签名的同时,再附上数字证书就行了。

13.

苏珊收信后,用CA的公钥解开数字证书,就可以拿到鲍勃真实的公钥了,然后就能证明"数字签名"是否真的是鲍勃签的。

14.

下面,我们看一个应用"数字证书"的实例:https协议。这个协议主要用于网页加密。

15.

首先,客户端向服务器发出加密请求。

16.

服务器用自己的私钥加密网页以后,连同本身的数字证书,一起发送给客户端。

17.

客户端(浏览器)的"证书管理器",有"受信任的根证书颁发机构"列表。客户端会根据这张列表,查看解开数字证书的公钥是否在列表之内。

18.

如果数字证书记载的网址,与你正在浏览的网址不一致,就说明这张证书可能被冒用,浏览器会发出警告。

19.

如果这张数字证书不是由受信任的机构颁发的,浏览器会发出另一种警告。

20.

如果数字证书是可靠的,客户端就可以使用证书中的服务器公钥,对信息进行加密,然后与服务器交换加密信息。

(完)

原文链接:http://www.ruanyifeng.com/blog/2011/08/what_is_a_digital_signature.html

密码学之数字签名是什么相关推荐

  1. 区块链中的密码学之数字签名方案(十二)

    1. 前言 类似在纸质合同上签名确认合同内容,数字签名用于证实某数字内容的完整性( integrity)和来源( 或不可抵赖,non-repudiation). 一个典型的场景是,A 要发给 B 一个 ...

  2. 密码学研究-数字签名

    引入: 提到签名,大家都不陌生,大家知道,重大的文件一般都要领导签名,来确保这个文件的真实有效.而一些比较重要的合同,比如买房的购房合同,都要盖"骑缝章",这个骑缝章,就是盖在2页 ...

  3. 现代密码学:数字签名

    文章目录 数字签名 1.数字签名要解决的问题 2.数字签名的安全模型.性质 3.RSA签名算法以及存在的安全问题 4.ElGamal签名算法以及主要的问题 5.特殊的签名算法以及适应的应用场景 数字签 ...

  4. 现代密码学之数字签名

    Digital Signature 介绍 数字签名方案 数字签名性质 数字签名的安全概念 攻击模型 RSA签名体制 Digital Signature Algorithm (DSA) Referenc ...

  5. 【go密码学】-数字签名

    介绍 数字签名就是只有消息的发送者才能产生的别人无法伪造的一段数字串,这段数字串是对信息真实性的有效证明. 发送者:生成签名 接受者:验证签名 非对称密码机制 非对称加密中,公钥用于加密,私钥用于解密 ...

  6. 在线支付系列【4】支付安全之数字签名

    有道无术,术尚可求,有术无道,止于术. 文章目录 信息摘要 摘要算法 数据完整性 数字签名 签名流程 验签流程 实现代码 信息摘要 信息摘要就是一段数据的特征信息,当数据发生了改变,信息摘要也会发生改 ...

  7. CISSP考试要求里的“应用密码学”内容辅助记忆趣味串讲

    前言 密码学为数据的处理.存储和通信过程提供附加的安全级别.近年来,数学家和计算机科学家开发了一系列日益复杂的算法,这些算法被设计用于确保机密性.完整性.身份认证和不可否认性.在密码学家花费大量时间开 ...

  8. 量子数字签名、BB84协议

    经典数字签名 经典的数字签名原理如上图所示: 经典密码学的算法和协议大多是基于求解大数质因子分解问题.离散对数问题.二次剩余问题等数学难题的困难性,无法被严格证明是安全的.而且,量子计算机可以在有限的 ...

  9. 以太坊椭圆曲线数字签名

    本文主要描述椭圆曲线密码学及数字签名相关的理论 椭圆曲线密码学 椭圆曲线密码学(ECC, Elliptic Curve Cryptography)是基于椭圆曲线数学的一种公钥加密方法. 什么是公钥加密 ...

最新文章

  1. postman python request_postman自动化实战总结
  2. Linux 软件的安装
  3. JavaScript 使用[]读取对象属性
  4. SAP Commerce Cloud 2011装好之后,访问Accelerator时遇到错误
  5. 为什么说下一个十年的主战场在Serverless?
  6. traceroute命令原理
  7. QQ和微信使用到的网络协议
  8. 404 Note Found 队 Alpha8
  9. 计算机在医疗领域的发展未来,5G医疗在人工智能领域未来的发展
  10. 学习HanNLP2015年12月4日 16:24:53
  11. 通过Atomsk、Ovito和lammps进行高熵合金的多晶体建模及渲染
  12. 全志linux视频硬解码,全志V316超清4K视频编解码芯片处理器介绍
  13. 2019华为校园大使面试经验
  14. js中this指向的四种规则+ 箭头函数this指向
  15. frps搭建自己的内网穿透服务器
  16. 代码设置桌面壁纸或者屏保
  17. 【HTML/CSS】创建日期和时间表单控件
  18. 一个运维项目的大概流程,附带20种运维开发工具
  19. ei指什么_什么是ei和ei检索是什么意思
  20. C#获取目录下所有文件的列表——最白话,手把手教你做系列。

热门文章

  1. 通信达股票交易接口-Java语言
  2. 星辰天合联合星环科技完成互认证 共同打造更有生命力的大数据存算解决方案
  3. CPU个数、内核数、线程数
  4. 【git】统计每个人的代码行数
  5. 手动实现表格分页功能
  6. 《CSS揭秘》读后感
  7. Multimedia Standards Introduction——专业术语
  8. 团体程序设计天梯赛(L3-008 喊山 (30 分))
  9. 四大门户免费企业邮箱用户端基础参数对比
  10. 计算机二级C语言题型分值占比+考试要求+考试内容