一、非对称加密

1.1 概念

非对称加密需要两个密钥:公钥和私钥,因为加密和解密用的是不同的密钥,所以称为非对称加密。

  • 如果用公钥对数据加密,那么只能用对应的私钥解密。
  • 如果用私钥对数据加密,只能用对应的公钥进行解密。

(1) A 要向 B 发送信息,A 和 B 都要产生一对用于加密和解密的公钥和私钥。
(2) A 的私钥保密,A 的公钥告诉 B;B 的私钥保密,B 的公钥告诉 A。
(3) A 要给 B 发送信息时,A 用 B 的公钥加密信息,因为 A 知道 B 的公钥。
(4) A 将这个消息发给 B (已经用 B 的公钥加密消息)。
(5) B 收到这个消息后,B 用自己的私钥解密 A 的消息。其他所有收到这个报文的人都无法解密,因为只有 B 才有 B 的私钥。

1.2 数字签名

发送方用一个哈希函数从报文文本中生成报文摘要,然后用发送方的私钥对这个摘要进行加密,这个加密后的摘要将作为报文的数字签名和报文一起发送给接收方,接收方首先用与发送方一样的哈希函数从接收到的原始报文中计算出报文摘要,接着再公钥来对报文附加的数字签名进行解密,如果这两个摘要相同、那么接收方就能确认该报文是发送方的。

  • 简洁性:对信息原文做哈希运算,得到消息摘要,信息越短加密的耗时越少。
  • 不可抵赖性:信息拥有者要保证签名的唯一性,必须是唯一能够加密消息摘要的人,因此必须用私钥加密 (就像字迹他人无法学会一样),得到签名。如果用公钥,那每个人都可以伪造签名了
  • 防篡改(防破坏信息的完整性)。
  • 防重放:采用了对签名报文添加流水号、时间戳等技术,可以防止重放攻击。

1.3 数字证书

怎么知道从网上获取的公钥就是真的?没有遭受中间人攻击?

这样就需要第三方机构来保证公钥的合法性,这个第三方机构就是 CA,证书中心

1. 数字证书组成

  • 公钥
  • 持有者信息
  • 证书认证机构(CA)的信息
  • CA对这份文件的数字签名以及使用的算法
  • 证书的有效期
  • 一些额外的其他信息

2. CA签发证书流程

  • 首先CA会把持有者的公钥,用途,颁发者,有效时间等信息打成一个包,然后对这些信息进行hash计算,得到一个Hash值 H1
  • 然后CA会使用自己的私钥将该 Hash 值加密,生成数字签名
  • 然后将这个数字签名添加到文件证书上,形成数字证书

3. 客户端验证证书流程

  • 客户端会使用同样的Hash算法对证书的信息进行Hash运算,得到一个Hash值H2
  • 通常浏览器和操作系统中集成了CA的公钥信息,浏览器收到证书后可以使用CA的公钥进行解密数字签名得到Hash值H1
  • 最后比较H1与H2是否相同,如果相同则是可信赖的证书。反之不可信

4.验证发送者消息

  • 接收者先用CA给的公钥解出信息所有者的公钥,这样可以保证信息所有者的公钥是真正的公钥
  • 然后就能通过该公钥证明数字签名是否真实了。

计算机网络:数字签名与数字证书相关推荐

  1. 计算机网络之数字签名、数字证书

    文章目录 计算机网络之数字签名.数字证书 1.数字签名.数字证书 计算机网络之数字签名.数字证书 1.数字签名.数字证书 公钥和个人等信息,经过 Hash 摘要算法加密,形成消息摘要: 将消息摘要拿到 ...

  2. 网络知识详解之:HTTPS通信原理剖析(对称、非对称加密、数字签名、数字证书)

    网络知识详解之:HTTPS通信原理剖析(对称.非对称加密.数字签名.数字证书) 计算机网络相关知识体系详解 网络知识详解之:TCP连接原理详解 网络知识详解之:HTTP协议基础 网络知识详解之:HTT ...

  3. 数字签名与数字证书是什么

    目录 概述 数字签名 数字签名是什么 数字签名的大概流程 发件人 收件人 签名的安全风险 数字证书 为什么需要数字证书 数字证书是什么 数字证书的应用场景 使用流程 概述 了解数字签名和数字证书之前, ...

  4. 数字签名,数字证书,证书链原理

    来源:数字签名,数字证书,证书链原理(图文详解)_Ruby丶彬的博客-CSDN博客_证书链验证原理 数字签名,数字证书,加密简述 数字签名:谈及数字签名,就如小时候老师叫把卷子或者作业带回去给家长签字 ...

  5. 加密、数字签名和数字证书

    加密.数字签名和数字证书 1      对称加密 对称加密算法中,加密和解密使用的是同一个秘钥,所以秘钥的保护是非常重要的,对称加密和解密过程如下图: 对称算法加密过程 对称算法解密过程 尽管对称秘钥 ...

  6. 公钥、私钥、数字签名和数字证书的概念及解密

    http协议的数据传递是明文的, 也就是从服务器传递给浏览器的内容是明文的, 这个信息如果被截取了,内容也就完全暴露了.所以大部分的互联网网站和应用使用的基本都是https协议,在申请和配置网站的ht ...

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

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

  8. 【转】数字签名与数字证书

    原文地址:http://blog.csdn.net/oscar999/article/details/9364101 前言 先看一下百度百科对数字签名和数字证书的解释: 数字签名: 将报文按双方约定的 ...

  9. 数字签名与数字证书技术简介(一)

    数字签名.数字证书等技术,是现代信息安全的核心技术,可谓使用面十分广泛.其基本理论本身并不复杂,本文希望通过深入浅出的介绍,能够让大家有一些基本了解. 对称加密.非对称加密 让我们通过一个例子开始:我 ...

  10. PKI(公、私钥加密,数字签名、数字证书)技术理解

    PKI(公.私钥加密,数字签名.数字证书) 1.PKI概述 名称:Public Key Infrastructure  公钥基础设施 作用:通过加密技术和数字签名保证信息的安全 组成:公钥加密技术.数 ...

最新文章

  1. iOS SwiftUI篇-2 UI控件 Text Button Image List
  2. mysql 2003错误 10055_MYSQL无法连接 提示10055错误的解决方法
  3. 音频处理中频域转时域的恢复
  4. Mysql数据库按照varchar字符串类型排序和按照int整型类型排序的区别和注意点及解决方案...
  5. Toast 自定义位置和带图
  6. python爬虫,记录一下爬取过程,列表数据,翻页,post方式,保存字典
  7. 只出现一次的数字—leetcode136
  8. 矩阵的二范数_【专题】GAN(二)—— 目标函数的优化
  9. 静态优先权和动态优先权
  10. 完成css的切图 图片任意,css切图是什么意思
  11. 【推荐】SQL Server 2008 R2 中英文 开发版/企业版/标准版 下载
  12. 【转】关于PHP的header(P3P: CP=CURa……)
  13. SQL Server应用程序中的高级SQL注入[转]
  14. 网络营销之百度营销技巧(一) 百度知道推广日常手册
  15. 计算机程序c语言教材,C语言程序设计(高等学校计算机基础教育教材精选)
  16. python django 下载多个文件,接收多个文件
  17. CAN应用层常用协议
  18. 图形学卡通人物绘制以及交互操作
  19. [jzoj100047]【NOIP2017提高A组模拟7.14】基因变异
  20. linux越狱amd卡代码,为Linux内核贡献27.5万行代码中:AMD意外泄漏下一代APU信息

热门文章

  1. python+OpenCv笔记(三):修改像素点、感兴趣区域、获取图像属性
  2. 俄语入门-俄语语音规则
  3. 一个简洁、美观的登录页面
  4. 计算机二级河南2020年12月报名时间,2020年3月河南省洛阳市计算机二级报名时间|网上报名入口【12月16日9:00开通】...
  5. matlab中断路器怎么表示什么,断路器符号及含义是什么(图文)
  6. Android前台服务讲解一
  7. 离线百度地图,添加按钮点击切换卫星地图和街道地图(纯JS)
  8. 安装Wireshark时提示Npcap失败的解决办法(亲测且多人反馈有用)
  9. 读研整活笔记1:调研编译器solang
  10. 新版标准日本语中级_第八课