IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> 计算机系统学习之(9):密码学部分总结 -> 正文阅读

[网络协议]计算机系统学习之(9):密码学部分总结

加密方式

对称加密

  • 发送和接收方使用统一的秘钥
  • 存在秘钥分发问题
  • 加密简单,但是安全性略低

AES 加密(标准)

在这里插入图片描述

ECB 电子密码本

  • 参考之前的文章
    在这里插入图片描述
    在这里插入图片描述
  • 因为都是用同一个 key 加密所有的 block,因此如果一个被破译,所有的 block 都可以被破译
  • 即便 key 不被破解,那么相同的明文就会有相同的密文模式

CBC cipher block chaining

  • IV 可以公开,但必须随机且不可重用
  • 加密不可并行,必须顺序加密
  • 解密可以并行
  • 丢失密文的影响小,丢失一个 block 或者 IV 最多影响 2 个 block
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

非对称加密

  • 使用公钥私钥对
  • 加密的复杂度高,一般是对称加密的 20-100 倍
  • 更加安全,但是不适合处理大规模数据
    在这里插入图片描述

对称加密 vs 非对称加密

在这里插入图片描述

TLS 的 Handshake 协议(结合对称和非对称加密的方式)

  • 其原理就是通过非对称的方式交换 公共秘钥,完成秘钥的分发
  • 然后通过对称加密的方式操作大规模的加密信息
    在这里插入图片描述

数字签名

  • 数字签名通常 可以用来验证信息的完整性和发信人的身份

  • 数字签名的过程与加密的过程相反,使用 私钥对明文进行签名,接收方使用公钥来验证

  • 假设明文是 m,A 与 B 进行通信,A 将 m 发给 B的时候发送了两个部分:

    • m 明文本身
    • 用 A 的私钥对 m 签名后的内容 Private(m) P_m
  • 这样 B 收到信息之后只要能用 A 的公钥计算 P_m 只要能够得到 m 就证明发信人的身份是 A

  • 但是如果出现了大段的内容,采用这种方式的代价就很大,因此我们需要使用一个 摘要 H(m) 来代替 m 本身,A 只需要对 H(m) 签名,就可以得到签名 m 一样的效果;这个过程中采用的算法是散列算法:

    • A 首先将 m 通过散列函数获得散列值 H(m),然后使用 A 的私钥对 H(m)进行签名,然后将 m 和 P_(H(m)) 一起发送给 B
    • B 接收之后通过公钥得到 H(m) 然后对 m 采用相同的散列算法如果得到的结果也是同 H(m) 值一样,就说明信息是完整的而且确实是 A 发出的

消息认证码 MAC

  • MAC 是一种采用对称方式来 保证传输信息完整性和身份认证 的方式
  • 消息认证码在传输的过程中也采用了 散列算法,但不是对明文 m 进行单独的散列运算,而是对 m+secret key 共同进行散列运算,这样处理的信息掺杂了秘钥信息,因此既可以保证信息是完整的,也可以对身份进行认证。
    在这里插入图片描述
    在这里插入图片描述

Diffie-Hellman Key Exchange & MITM

在这里插入图片描述

  • 首先选择一个很大的素数p(prime) 和一个 g(generator);
  • 然后双方A, B 分别各选一个随机数 x , y x, y x,y
    • 第一步,双方分别求算 a = g x m o d ? p a=g^xmod ~p a=gxmod?p b = g y m o d ? p b=g^y mod ~p b=gymod?p 可以分别得到各自的结果;然后将这个结果发送给对方
    • A 拿到 B 发来的 b b b,B 也拿到了 A 发来的 a a a
    • 然后 A 再计算 b x m o d ? p b^x mod~p bxmod?p,B 计算 a y m o d ? p a^y mod ~p aymod?p
    • 通过这一步的计算 A,B 就会得到同一个值,这个值就是他们对称加密使用的 “共同秘钥”
      在这里插入图片描述
  • 因此 Diffie-Hellman 算法本质上是通过双方指定随机数之后,交换第一次运算的结果然后根据随机数和交换得来的结果最终算出共同的秘钥
  • 上图的例子中,蒜老大的随机数是 6,油大叔的随机数是 15,p=23,generator=5,然后最后算出的公共秘钥是 2

通信安全的预期特性

  • 通信安全的要求是:可信性 confidentially; 认证性 authentication;完整性integrity
  • 对称和非对称加密保证了通信的可信性,即信息只有通信双方可见
  • 数字签名可以保证认证性,因为能够确认发信方的身份
  • 数字签名和散列函数都能够保证信息的完整性,即信息在发送过程中不被篡改和损坏
  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2022-06-23 01:01:03  更:2022-06-23 01:01:24 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/28 21:55:38-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码
数据统计