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

1.

Bob有两把钥匙,一把是Public Key, 一把是Private Key。

2.

Bob把公钥送给他的三位朋友。

3.

苏珊要给Bob写一封信,用Bob的公钥加密。别人就不知道信中的内容。

4.

Bob拿自己的私钥将信解密。就算信落在别人手里,别人由于没有Bob的private key,所以也不能解开信的内容。

只要Bob的私钥不被别人获取,别人就不能破解该信。

5.

Bob给苏珊回信,决定使用Digital Signature技术。他通过Hash函数,将信的内容生成一个摘要。

6.

Bob用他的私钥对摘要加密,生成数字签名。

7.

Bob将签名附在信一起,打包一起发给苏珊。

8.

苏珊取下数字签名,用Bob给她的公钥解密数字签名,得到信的摘要。

9.

苏珊再将信的内容通过Hash函数,得到一个摘要。比对该摘要和Bob发过来的摘要,判断它们是否相等。如果一样,则表示信的内容没有被改变。

10.

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

11.

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

12.

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

13.

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

图解数字签名Digital Signature 和数字证书Public-key certificate相关推荐

  1. 密码学–数字签名Digital Signature五种分类

    密码学–数字签名Digital Signature五种分类 基于数字签名用途的分类 基于数学难题的分类 基于密码体制的分类 基于数字签名安全性的分类 基于签名用户的个数分类 A. 基于数字签名用途的分 ...

  2. 什么是数字签名?什么是数字证书?密码学知识?

    阮一峰老师2011年的这篇文章很好,原文如下: 作者:阮一峰 日期:2011年8月9日 来源:http://www.ruanyifeng.com/blog/2011/08/what_is_a_digi ...

  3. openssl校验SSL证书public key是否配对

    今天遇到一个很少遇到的关于SSL证书申请.安装问题,简要记录下来. 背景:SSL证书是private key + public key一起工作才能完成加密过程的. 大致来说就是client在hands ...

  4. 图解 | 数字签名和数字证书的前世今生

    " 阅读本文大概需要 6 分钟. " 前言 这是 2020 年一个平平无奇的周末,小北在家里刷着 B 站,看着喜欢的 up 主视频. 在一旁玩手机的女朋友突然问"你知道数 ...

  5. 对称加密、非对称加密、RSA、消息摘要、数字签名、数字证书与 HTTPS 简介

    文章目录 1.加密算法简介 1.1 对称加密(Symmetric Key Algorithms) 1.2 非对称加密(Asymmetric Key Algorithms) 1.3 非对称加密 RSA ...

  6. 数字签名和数字证书使用详解

    目录 1.数字签名 (1)数字签名的应用场景 (2)数字签名的实现原理 (3)如何进行数字签名和验证 (4)使用数字签名的优点和缺点 2.数字证书 (1)如何对数字证书进行颁发和管理 (2)颁发数字证 ...

  7. 数字签名、数字证书与CA

    上周,有同事给我们介绍了什么是数字证书及其工作原理,于是我决定结合自己的理解把这个原理记录下来. 为什么会用到数字证书 在我们上网的时候,为了防止我们的信息被某些钓鱼网站截取,所以我们在与对方进行通信 ...

  8. 一文了解数字签名、数字证书、自签证书

    参考 关于自签SSL证书的一些小知识汇总 对于ssl中的pem文件和key 文件的理解 openssl 生成证书 ca.pem client.pem server.pem SSL:证书文件 数字证书原 ...

  9. 私钥、公钥、数字签名、数字证书、HTTPS

         加密:公钥加密,私钥解密      认证:私钥加密,公钥解密 如果A给B发送一个加密的有数字签名的文件,会怎么样呢? 首先A有自己的公钥和私钥:A_public_key, A_private ...

最新文章

  1. P4113 [HEOI2012]采花 树状数组离线
  2. python 逻辑回归
  3. 交替方向乘子算法(ADMM)
  4. BeetleX之XRPC远程委托调用
  5. java 水印乱码,linux java程序加水印及中文乱码方案
  6. Visual C#设计多功能关机程序
  7. 关于在vSphere环境中,安装WindowsServer2008_R2_x64系统,分区格式为GPT,隐藏分区为200M方法心得
  8. 分享:TreeFrog 1.1 发布,C++ Web 应用开发框架
  9. Go的数组切片 Python的列表
  10. 周末爬山之圈门-潭柘寺
  11. Unity手游开发与实战
  12. gcc/g++ 如何支持c11/c++11标准编译
  13. 使用promise封装ajax请求
  14. 【毫米波雷达】人体目标探测理论
  15. 百度有趣的面试智力题
  16. 东京攻略(一):计划与现实
  17. 小米平板2刷哪个系统更流畅_小米平板2刷lineage os与remix os及其体验
  18. 如何彻底清除流氓的2345安全卫士及2345SafeCenterSvc服务?
  19. 阿里P9面试官分享:应聘阿里全流程
  20. 鹅厂web前端实习面经

热门文章

  1. flask 蓝图 使用蓝图,增删改查用户
  2. Vue.js 3 Step 创建一个组件
  3. bzoj 1083: [SCOI2005]繁忙的都市
  4. 【WPF】WPF DataGrid List数据源 双向绑定通知机制之ObservableCollection使用以及MultiBinding 的应用...
  5. Quartz.Net 使用
  6. DropDownList下拉绑定到GridView中实现功能
  7. markdown方式测试图片2
  8. 1.Office 365系列(-)
  9. Topcoder SRM 655 DIV1 250 CountryGroupHard
  10. css+div导航条样式