TLS 协议-对称加密原理

简介: TLS 协议-对称加密原理

这篇文章介绍一下 TLS 协议,TLS 有着 20 多年的历史,包括了很多种加密方式,下面通过学习对称加密原理和非对称加密原理对 TLS 协议加深理解。

1.TLS 设计的目的

  • 身份验证
  • 保密性
  • 完整性

2.TLS/SSL 发展史及通用模型

3.TLS 协议

  • Record 记录协议
  • 对称加密
  • Handshake 握手协议
  • 验证通讯双方的身份
  • 交换加解密的安全套件
  • 协商加密参数

4.TLS 安全密码套件

  • 密钥交换算法
  • 身份验证算法
  • 对称加密算法、强度、工作模式
  • 签名 hash 算法

5.对称加密示意图

6.基于 XOR 的对称加密原理


6.1 XOR 真值表

6.2 基于 XOR 的加密示意图

6.3 基于 XOR 的加密示意图

6.4 填充明文

上述加密过程是按位 XOR 操作,这就要求密钥序列和明文序列的长度保持一致,下面介绍若明文序列和密钥序列长度不一致的填充方法:

  • Block cipher 分组加密:将明文分成多个等长的 Block 模块,对每个模块分别加解密
  • 目的:当最后一个明文 Block 模块长度不足时,需要填充
  • 填充方法
  • 位填充:比 bit 位为单位来填充

  • 以字节为单位填充

7.对称加密工作模式

允许使用同一个分组密码密钥对多块数据加密,并且保证其安全性:

7.1 ECB(Electronic codebook)模式

  • 直接将明文分解为多个块,对每个块独立加密
  • 问题:无法隐藏数据特征(例如给一张图片加密之后图像特征可能还在)

7.2 CBC(Cipher-block chaining)模式

  • 每个明文块先与前一个密文块异或后,再加密
  • 问题:加密过程串行化

7.3 CTR(Counter)模式

  • 通过递增一个加密计数器以产生连续的密钥流
  • 问题:不能提供密文消息完整性校验(这个问题可以通过哈希函数校验码来解决)

7.4 GCM 模式

  • GCM 是在 CTR 模式的基础上增加一个 MAC 哈希值来校验数据完整性的:

8.AES 加密算法

AES 加密算法是比利时密码学家 Joan DaemenVincent Rijmen 两位设计的,又称为 Rijndael 加密算法,常用的填充算法是 PKCS7,常用的分组工作模式是 GCM

8.1 AES 的三种密钥长度

AES 分组的长度是 128 位(16 字节):

AES 密钥长度(32位比特) 分组长度(32位比特) 加密轮数
AES-128 4 4 10
AES-192 6 4 12
AES-256 8 4 14

8.2 AES 加密步骤


  • 把明文按照 128 bit(16 字节) 拆分成若干个明文块,每个明文块是 4*4 矩阵
  • 按照选择的填充方式来填充最后一个明文块
  • 每一个明文块利用 AES 加密器和密钥,加密成密文块
  • 拼接所有的密文块,成为最终的密文结果

8.3 AES 加密流程

C = E(K,P),其中 E 为每一轮算法,每轮密钥皆不同:

  • 初始轮
  • AddRoundKey 轮密钥加
  • 普通轮
  • AddRoundKey 轮密钥加
  • SubBytes 字节替代
  • ShiftRows 行移位
  • MixColumns 列混合
  • 最终轮
  • SubBytes 字节替代
  • ShitRows 行移位
  • AddRoundKey 轮密钥加

相关文章
|
1月前
|
存储 移动开发 安全
Flutter加固原理及加密处理
Flutter加固原理及加密处理
41 0
|
1天前
|
存储 安全 算法
无线加密技术的种类、工作原理
【4月更文挑战第22天】
10 0
|
16天前
|
安全 网络协议 网络安全
网络原理(5)--HTTPS是如何进行加密的
网络原理(5)--HTTPS是如何进行加密的
12 0
|
2月前
|
人工智能 分布式计算 安全
【现代密码学】笔记1.2 -- 对称密钥加密、现代密码学的基本原则《introduction to modern cryphtography》现代密码学原理与协议
【现代密码学】笔记1.2 -- 对称密钥加密、现代密码学的基本原则《introduction to modern cryphtography》现代密码学原理与协议
84 0
|
6月前
|
算法 网络安全 开发工具
TLS/SSL 协议-非对称加密(RSA)原理
TLS/SSL 协议-非对称加密(RSA)原理
151 0
|
3月前
|
存储 移动开发 安全
Flutter加固原理及加密处理
Flutter加固原理及加密处理
57 0
|
4月前
|
存储 安全 算法
HTTPS加密原理
1、单向加密 也称为不可逆加密,对明文产生一个密文,并且不能通过密文解出对应的明文 使用场景:一般用于信息摘要,密钥加密等 常见的单向加密算法有:
|
4月前
|
存储 移动开发 安全
Flutter加固原理及加密处理
为了保护Flutter应用免受潜在的漏洞和攻击威胁,加固是必不可少的措施之一。Flutter加固原理主要包括代码混淆、数据加密、安全存储、反调试与反分析、动态加载和安全通信等多个方面。通过综合运用这些措施,可以提高Flutter应用的安全性,保护应用不受潜在的安全威胁和攻击。
|
5月前
|
数据安全/隐私保护
非对称加密原理与欺骗、ca原理
非对称加密原理与欺骗、ca原理
49 0
|
8月前
|
存储 安全 算法
HTTPS加密原理
一、加密基础 1、单向加密 也称为不可逆加密,对明文产生一个密文,并且不能通过密文解出对应的明文 使用场景:一般用于信息摘要,密钥加密等 常见的单向加密算法有: