【现代密码学原理】——分组加密的工作模式(学习笔记)

本文深入探讨了对称密码中的多重加密技术,包括双重DES和三重DES,并介绍了分组密码的各种工作模式,如ECB、CBC、CFB、OFB及CTR模式,对比了它们的特点和适用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

📖 前言:本章继续讨论对称密码,首先讨论多重加密,然后介绍分组密码的工作模式。

在这里插入图片描述


🕒 0. 思维导图

在这里插入图片描述

🕒 1. 多重加密

🕘 1.1 双重DES

🕤 1.1.1 数据加密标准DES

在这里插入图片描述

🕤 1.1.2 为什么需要多重加密

表 穷尽密钥搜索所需的平均时间
 密钥大小/位   密 码   密钥个数   每微秒执行  1  次解密的时间   每微秒执行  1000  万次解密的时间  56  DES  2 56 ≈ 7.2 × 1 0 16 2 55   n s = 1.125  年  1  小时  128   AES  2 128 ≈ 3.4 × 1 0 38 2 127   n s = 5.3 × 1 0 21  年  5.3 × 1 0 17  年  168 3 D E S 2 168 ≈ 3.7 × 1 0 50 2 167   n s = 5.8 × 1 0 33  年  5.8 × 1 0 29  年  192 A E S 2 192 ≈ 6.3 × 1 0 57 2 191   n s = 9.8 × 1 0 40  年  9.8 × 1 0 36  年  256 A E S 2 256 ≈ 1.2 × 1 0 77 2 255   n s = 1.8 × 1 0 60  年  1.8 × 1 0 56  年  26  个字符的排列组合   单字母代替  2 ! = 4 × 1 0 26 2 × 1 0 26   n s = 6.3 × 1 0 9  年  6.3 × 1 0 6  年  \begin{array}{c|c|c|c|c} \hline \text { 密钥大小/位 } & \text { 密 码 } & \text { 密钥个数 } & \text { 每微秒执行 } 1 \text { 次解密的时间 } & \text { 每微秒执行 } 1000 \text { 万次解密的时间 } \\ \hline 56 & \text { DES } & 2^{56} \approx 7.2 \times 10^{16} & 2^{55} \mathrm{~ns}=1.125 \text { 年 } & 1 \text { 小时 } \\ \hline 128 & \text { \color{red}AES } & 2^{128} \approx 3.4 \times 10^{38} & 2^{127} \mathrm{~ns}=5.3 \times 10^{21} \text { 年 } & \color{red}5.3 \times 10^{17} \text { 年 } \\ \hline 168 & \color{red}3 \mathrm{DES} & 2^{168} \approx 3.7 \times 10^{50} & 2^{167} \mathrm{~ns}=5.8 \times 10^{33} \text { 年 } & \color{red}5.8 \times 10^{29} \text { 年 } \\ \hline 192 & \mathrm{AES} & 2^{192} \approx 6.3 \times 10^{57} & 2^{191} \mathrm{~ns}=9.8 \times 10^{40} \text { 年 } & 9.8 \times 10^{36} \text { 年 } \\ \hline 256 & \mathrm{AES} & 2^{256} \approx 1.2 \times 10^{77} & 2^{255} \mathrm{~ns}=1.8 \times 10^{60} \text { 年 } & 1.8 \times 10^{56} \text { 年 } \\ \hline 26 \text { 个字符的排列组合 } & \text { 单字母代替 } & 2 !=4 \times 10^{26} & 2 \times 10^{26} \mathrm{~ns}=6.3 \times 10^{9} \text { 年 } & 6.3 \times 10^{6} \text { 年 } \\ \hline \end{array}  密钥大小/ 5612816819225626 个字符的排列组合     DES  AES 3DESAESAES 单字母代替  密钥个数 2567.2×101621283.4×103821683.7×105021926.3×105722561.2×10772!=4×1026 每微秒执行 1 次解密的时间 255 ns=1.125  2127 ns=5.3×1021  2167 ns=5.8×1033  2191 ns=9.8×1040  2255 ns=1.8×1060  2×1026 ns=6.3×109   每微秒执行 1000 万次解密的时间 1 小时 5.3×1017  5.8×1029  9.8×1036  1.8×1056  6.3×106  

DES在穷举攻击下比较脆弱,有两种代替方案:

  • 设计全新的算法,如AES
  • 用DES进行多次加密,使用多个密钥

🕤 1.1.3 过程

多次加密的最简单形式是进行两次加密,使用两个密钥,如下图所示
给定明文P,密钥K1、K2

在这里插入图片描述

【第一次加密】
加密算法E 读取明文P 与 本次加密的密钥K1 ,生成密文X:
𝑿 = 𝑬 ( 𝑲 𝟏 , 𝑷 ) 𝑿=𝑬(𝑲_𝟏,𝑷) X=E(K1P)

【第二次加密】
加密算法E 读取密文X 与 本次加密的密钥K2 ,生成密文C:
𝑪 = 𝑬 ( 𝑲 𝟐 , 𝑿 ) = 𝑬 ( 𝑲 𝟐 , 𝑬 ( 𝑲 𝟏 , 𝑷 ) ) 𝑪=𝑬(𝑲_𝟐,𝑿)=𝑬(𝑲_𝟐,𝑬(𝑲_𝟏,𝑷) ) C=E(K2X)=E(K2E(K1P))

【第一次解密】
解密算法D 读取密文C 与 第二次加密的密钥K2 ,还原明文X:
𝑿 = 𝑫 ( 𝑲 𝟐 , 𝑪 ) 𝑿=𝑫(𝑲_𝟐,𝑪) X=D(K2C)

【第二次解密】
解密算法D 读取密文X 与 第一次加密的密钥K1 ,还原明文X:
𝑷 = 𝑫 ( 𝑲 𝟏 , 𝑿 ) = 𝑫 ( 𝑲 𝟏 , 𝑫 ( 𝑲 𝟐 , 𝑪 ) ) 𝑷=𝑫(𝑲_𝟏,𝑿)=𝑫(𝑲_𝟏,𝑫(𝑲_𝟐,𝑪)) P=D(K1X)=D(K1D(K2C))

DES 不会出现下述情况:
𝑬 ( 𝑲 𝟐 , 𝑬 ( 𝑲 𝟏 , 𝑷 ) ) = 𝑬 ( 𝑲 𝟑 , 𝑷 ) 𝑬(𝑲_𝟐,𝑬(𝑲_𝟏,𝑷))=𝑬(𝑲_𝟑,𝑷) E(K2E(K1P))=E(K3P)
在这里插入图片描述

也就是说双重DES 对应的映射 无法用某个单DES来表示,不会被约化为单次加密。

在这里插入图片描述

  • 对于DES,这种双重加密的方法共涉及到两个密钥,密钥长度共56*2=112位
  • 密钥空间变大,对密钥发起穷举攻击的难度增加

❗ 转载请注明出处
作者:HinsCoder
博客链接:🔎 作者博客主页

🕤 1.1.4 中间相遇攻击

  • 可以对双重DES 发起 中间相遇攻击
  • 它不依赖于DES的任何特殊性质,对所有的分组密码都有效

在这里插入图片描述

假设 𝑪 = 𝑬 ( 𝑲 𝟐 , 𝑬 ( 𝑲 𝟏 , 𝑷 ) ) 𝑪=𝑬( 𝑲_𝟐,𝑬(𝑲_𝟏,𝑷) ) C=E(K2E(K1P)),则有
𝑿 = 𝑬 ( 𝑲 𝟏 , 𝑷 ) = 𝑫 ( 𝑲 𝟐 , 𝑪 ) 𝑿=𝑬(𝑲_𝟏,𝑷)=𝑫(𝑲_𝟐,𝑪) X=E(K1P)=D(K2C)

在这里插入图片描述

𝑿 = 𝑬 ( 𝑲 𝟏 , 𝑷 ) 𝑿=𝑬(𝑲_𝟏,𝑷) X=E(K1P)

  • 给定明密文对 ( 𝑷 , 𝑪 ) (𝑷,𝑪) (P,C),将𝑷按所有可能的密钥 𝑲 𝟏 𝑲_𝟏 K1进行加密,得到了 𝟐 𝟓 𝟔 𝟐^{𝟓𝟔} 256个不同的𝑿,按值排序放在一个表内

在这里插入图片描述

𝑿 = 𝑫 ( 𝑲 𝟐 , 𝑪 ) 𝑿=𝑫(𝑲_𝟐,𝑪) X=D(K2C)

  • 将C用所有可能的密钥 𝑲 𝟐 𝑲_𝟐 K2解密,每解密一次就将解密结果与𝑿表中的值比较,直到两值相等,保存当前的 ( 𝑲 𝟏 , 𝑲 𝟐 ) (𝑲_𝟏,𝑲_𝟐) (K1,K2)

在这里插入图片描述

  • 使用另外的明密文对 ( 𝑷 , 𝑪 ) (𝑷,𝑪) (P,C)来验证 ( 𝑲 𝟏 , 𝑲 𝟐 ) (𝑲_𝟏,𝑲_𝟐) (K1,K2)
    若加密𝑷恰好生成了𝑪,那么 ( 𝑲 𝟏 , 𝑲 𝟐 ) (𝑲_𝟏,𝑲_𝟐) (K1,K2)就是正确的密钥

多选题
关于中间相遇攻击,以下说法正确的有:
A. 中间相遇攻击可以针对任意分组密码
B. 原理为 𝑿 = 𝑬 ( 𝑲 𝟏 , 𝑷 ) = 𝑫 ( 𝑲 𝟐 , 𝑪 ) 𝑿=𝑬(𝑲_𝟏,𝑷)=𝑫(𝑲_𝟐,𝑪) X=E(K1P)=D(K2C)
C. 这种攻击依赖于已知的明密文对
D. 使用两组明密文对基本上就可以猜出双重DES的正确密钥
答案:全选

🕘 1.2 三重DES

在这里插入图片描述

  • 应对中间相遇攻击,可以使用三个不同的密钥进行三次加密,发起穷举攻击也需要尝试𝟐𝟏𝟔𝟖
  • 168位的密钥长度并不现实,但仍有许多Internet应用采纳了该加密方案,如电子邮件中的PGP和S/MIME协议

【第一次加密】
加密算法E 读取明文P 与 本次加密的密钥K1,生成密文A:
𝑨 = 𝑬 ( 𝑲 𝟏 , 𝑷 ) 𝑨=𝑬(𝑲_𝟏,𝑷) A=E(K1P)

【第二次加密】
解密算法D 读取明文X 与 本次加密的密钥K2,生成密文B:
𝑩 = 𝑫 ( 𝑲 𝟐 , 𝑨 ) = 𝑫 ( 𝑲 𝟐 , 𝑬 ( 𝑲 𝟏 , 𝑷 ) ) 𝑩=𝑫(𝑲_𝟐,𝑨)=𝑫( 𝑲_𝟐,𝑬(𝑲_𝟏,𝑷) ) B=D(K2A)=D(K2E(K1P))

【第三次加密】
加密算法E 读取明文B 与 本次加密的密钥K1,生成最终的密文C:
𝑪 = 𝑬 ( 𝑲 𝟏 , 𝑩 ) = 𝑬 ( 𝑲 𝟏 , 𝑫 ( 𝑲 𝟐 , 𝑬 ( 𝑲 𝟏 , 𝑷 ) ) ) 𝑪=𝑬(𝑲_𝟏,𝑩)=𝑬(𝑲_𝟏,𝑫(𝑲_𝟐,𝑬(𝑲_𝟏,𝑷))) C=E(K1B)=E(K1D(K2E(K1P)))

【第一次解密】
解密算法D 读取密文C 与 第三次加密的密钥K1,还原明文B:
𝑩 = 𝑫 ( 𝑲 𝟏 , 𝑪 ) 𝑩=𝑫(𝑲_𝟏,𝑪) B=D(K1C)

【第二次解密】
加密算法E 读取密文B 与 第二次加密的密钥K2,还原明文A:
𝑨 = 𝑬 ( 𝑲 𝟐 , 𝑩 ) = 𝑬 ( 𝑲 𝟐 , 𝑫 ( 𝑲 𝟏 , 𝑪 ) ) 𝑨=𝑬(𝑲_𝟐,𝑩)=𝑬(𝑲_𝟐,𝑫(𝑲_𝟏,𝑪)) A=E(K2B)=E(K2D(K1C))

【第三次解密】
解密算法D 读取密文A 与 第一次加密的密钥K1,还原明文P:
𝑷 = 𝑫 ( 𝑲 𝟏 , 𝑨 ) = 𝑫 ( 𝑲 𝟏 , 𝑬 ( 𝑲 𝟐 , 𝑫 ( 𝑲 𝟏 , 𝑪 ) ) ) 𝑷=𝑫(𝑲_𝟏,𝑨)=𝑫(𝑲_𝟏,𝑬(𝑲_𝟐,𝑫(𝑲_𝟏,𝑪))) P=D(K1A)=D(K1E(K2D(K1C)))

🕤 1.2.1 2-Key-3-DES

在这里插入图片描述

  • 使用两个密钥的三重DES 已经广泛地替代了DES
  • 当前还没有对3DES的可行攻击方法,发起穷举攻击也要 5 × 𝟏 𝟎 𝟑 𝟑 5×𝟏𝟎^{𝟑𝟑} 5×1033数量级
  • 三次加密过程使用的不全是加密算法

单选题
关于DES说法不正确的是?
A. DES一次只能加密64位的明文分组
B. DES的基础结构是Feistal结构
C. DES易受穷举密钥攻击
D. 3DES是DES的一种安全方案,必须用到三把不同的密钥
答案:D(解析:可以有两把)

🕒 2. 分组加密工作模式

在这里插入图片描述

  • Bob 要给Alice 发送消息,打算使用分组密码中的DES来为消息加密

  • 现在消息长度刚好等于分组长度64bit,DES可以直接将其加密生成一个64bit的密文输出

  • 若Bob 认为将消息加密一次还不够安全,也可以使用2DES 或2K-3DES 来为这64bit的消息进行多次加密,发送给Alice

  • 分组密码DES 在进行加密操作时,输入的是固定长度64位的明文分组,输出的也是固定长度的密文分组

  • 当Bob要发送的消息大于分组长度64bit,仍要使用DES来进行加密,那么该如何操作呢?

在这里插入图片描述

  • 将要加密的Message 拆分为多个分组,每个分组长度为64bit,最后一组若不足64位则用0补齐

  • 若Message的各个分组,在进行加密的时候都使用同一种密钥K来进行,则生成的密文分组会存在一些统计规律特征,引发许多安全问题

  • 如何将分组密码(如DES、AES) 应用到各种实际情景(如加密、认证)呢?

  • NIST 定义了五种工作模式,使得分组密码更适应实际需要

🕘 2.1 电码本ECB

在这里插入图片描述

  • 电码本是最简单的分组密码工作模式,明文长度若大于分组长度,将其填充并划分为多个分组

  • 一次加密一个明文分组 𝑷 𝒊 𝑷_𝒊 Pi,每次使用相同的密钥 𝑲 𝑲 K

  • 对于给定的密钥 𝑲 𝑲 K ,任何固定长度的明文分组 𝑷 𝒊 𝑷_𝒊 Pi都只有唯一的一个密文分组 𝑪 𝒊 𝑪_𝒊 Ci和它对应

  • 加密就像查阅一本密码本,根据明文就可以找出相应的密文

  • 若明文被填充划分成了N个明文分组,则ECB 的加密过程可以记作:
    𝑪 𝒊 = 𝑬 ( 𝑲 , 𝑷 𝒊 ) 𝑪_𝒊=𝑬(𝑲,𝑷_𝒊 ) Ci=E(KPi)      𝒊 = 𝟏 , 𝟐 … 𝑵 𝒊=𝟏,𝟐…𝑵 i=1,2N

  • 一次解密一个密文分组 𝑪 𝒊 𝑪_𝒊 Ci,每次使用相同的密钥 𝑲 𝑲 K

  • ECB 的解密过程记作:
    𝑷 𝒊 = 𝑫 ( 𝑲 , 𝑪 𝒊 ) 𝑷_𝒊=𝑫(𝑲,𝑪_𝒊 ) Pi=D(KCi)      𝒊 = 𝟏 , 𝟐 … 𝑵 𝒊=𝟏,𝟐…𝑵 i=1,2N

  • 若一段明文消息中有两个分组 𝑷 𝟏 𝑷_𝟏 P1 𝑷 𝟐 𝑷_𝟐 P2是相同的,那么在使用相同的密钥K加密后,密文消息中也会出现2个相同的分组 𝑪 𝟏 𝑪_𝟏 C1 𝑪 𝟐 𝑪_𝟐 C2

  • 密码分析者可利用这些规律特征来破译

  • 电码本ECB 适用于数据较少的情况

  • Bob和Alice 进行通信,约定使用AES 来进行消息的加密,Bob需要将密钥K安全地传递给Alice。

  • 可以使用ECB模式,运用DES加密算法 为128bit的密钥K 进行加密

🕘 2.2 密文分组链接CBC

在这里插入图片描述

  • CBC可以将相同的明文分组加密成不同的密文分组

  • 明文消息被填充划分为多个明文分组 𝑷 𝟏 , 𝑷 𝟐 … 𝑷 𝑵 𝑷_𝟏,𝑷_𝟐…𝑷_𝑵 P1,P2PN

  • 先将第一个明文分组 𝑷 𝟏 𝑷_𝟏 P1与 等长度的初始向量 𝑰 𝑽 𝑰𝑽 IV进行XOR运算,生成等长度的一个输出

  • 加密算法E 读取 XOR运算结果 与 密钥K ,生成第一个密文分组 𝑪 𝟏 𝑪_𝟏 C1

  • 将第二个明文分组 𝑷 𝟐 𝑷_𝟐 P2与上一步生成的密文分组 𝑪 𝟏 𝑪_𝟏 C1进行异或运算,生成一个等长度的输出

  • 加密算法E 读取 XOR运算结果 与 密钥K ,生成第二个密文分组 𝑪 𝟐 𝑪_𝟐 C2

  • 重复操作直至所有明文分组均处理完毕

  • CBC 的加密过程可以写作
    𝑪 𝟏 = 𝑬 ( 𝑲 , 𝑷 𝟏 ⊕ 𝑰 𝑽 ) 𝑪_𝟏=𝑬(𝑲,𝑷_𝟏⊕𝑰𝑽) C1=E(KP1IV)
    𝑪 𝒊 = 𝑬 ( 𝑲 , 𝑷 𝒊 ⊕ 𝑪 ( 𝒊 − 𝟏 ) ) 𝑪_𝒊=𝑬(𝑲,𝑷_𝒊⊕𝑪_(𝒊−𝟏) ) Ci=E(KPiC(i1))      𝒊 = 𝟐 , 𝟑 … 𝑵 𝒊=𝟐,𝟑…𝑵 i=2,3N

  • 就算存在相同的明文分组 𝑷 𝟏 𝑷_𝟏 P1 𝑷 𝟐 𝑷_𝟐 P2

  • “密文分组” 𝑪 𝟏 𝑪_𝟏 C1是将 𝑷 𝟏 𝑷_𝟏 P1 𝑰 𝑽 \color{red}𝑰𝑽 IV异或后 使用𝑲加密得来
    “密文分组” 𝑪 𝟐 𝑪_𝟐 C2是将 𝑷 𝟐 𝑷_𝟐 P2= 𝑷 𝟏 𝑷_𝟏 P1 𝑪 𝟏 \color{red}𝑪_𝟏 C1异或后 加密得来

  • CBC 的解密过程可以写作
    𝑷 𝟏 = 𝑫 ( 𝑲 , 𝑪 𝟏 ) ⊕ 𝑰 𝑽 𝑷_𝟏=𝑫(𝑲,𝑪_𝟏)⊕𝑰𝑽 P1=D(K,C1)IV
    𝑷 𝒊 = 𝑫 ( 𝑲 , 𝑪 𝒊 ) ⊕ 𝑪 ( 𝒊 − 𝟏 ) 𝑷_𝒊=𝑫(𝑲,𝑪_𝒊 )⊕𝑪_(𝒊−𝟏) Pi=D(K,Ci)C(i1)      𝒊 = 𝟐 , 𝟑 … 𝑵 𝒊=𝟐,𝟑…𝑵 i=2,3N

  • CBC 适用于加密那些长度大于分组长度b的消息

  • 由于CBC 的链接机制 以及 保密的初始向量 I V IV IV,也使得它不仅用于加密,还可用于认证

多选题
A给B 发送一段长度为1M的消息,使用AES作为加密算法,约定密钥为K,采用CBC模式:
A. 使用的密码体制为对称密码,因为加密与解密用的是相同密钥K
B. 使用的密码类型为分组密码,因为AES一次可以同时加密128bit的明文
C. 消息被分为多个分组,依次使用AES进行加密处理,处理的方式为CBC工作模式
D. 使用CBC工作模式需要对最后分组的消息进行填充
答案:全选

🕘 2.3 密文反馈CFB

在这里插入图片描述

  • 设定一个移位寄存器,大小为分组长度b位

  • 移位寄存器的初始值为通信双方约定好的初始向量 𝑰 𝑽 𝑰𝑽 IV,长度为 b b b

  • 加密算法读取移位寄存器中的 𝑰 𝑽 𝑰𝑽 IV ,使用密钥 K K K为其加密,生成一个 b b b位的输出

  • 密文反馈模式CFB 对明文的处理类似于流密码

  • 发送方一次连续发送s位的消息分段给对方,CFB 每次就处理这s位的分段,将其加密成密文分段传递出去

  • 加密算法生成了 b b b位的输出

  • 选取最左边的s位,与第一个明文分段 𝑷 𝟏 𝑷_𝟏 P1进行按位异或

  • 产生了s位的密文分段 𝑪 𝟏 𝑪_𝟏 C1

  • 移位寄存器中存放着 𝑰 𝑽 𝑰𝑽 IV,将其左移s位,最右边空出来 s s s

  • 将上一次生成的密文分段 𝑪 𝟏 𝑪_𝟏 C1填入到移位寄存器的最右边 s s s位里

  • 加密算法E 读取目前移位寄存器中的 b b b位数据,并使用密钥K 对其加密,产生一个 b b b位的输出

  • 仍然从b位输出中选择最左边的s位 与明文分段 𝑷 𝟐 𝑷_𝟐 P2进行按位异或,生成密文分段 𝑪 𝟐 𝑪_𝟐 C2

  • 继续重复操作,直到明文全部处理完毕

🕘 2.4 输出反馈OFB

在这里插入图片描述

  • 选取一个 b b b位的初始化向量 𝑰 𝑽 𝑰𝑽 IV ,它随时间变化而变化,保证每次加密运算值都是唯一的

  • 加密算法 E E E读取这个初始向量,使用密钥 K K K对其进行加密,生成b位的输出 𝑶 𝟏 𝑶_𝟏 O1

  • 第一个明文分组 𝑷 𝟏 𝑷_𝟏 P1 与加密算法的输出 𝑶 𝟏 𝑶_𝟏 O1进行按位异或,生成第一个密文分组 𝑪 𝟏 𝑪_𝟏 C1

  • 加密算法E 将上一次的加密输出 𝑶 𝟏 𝑶_𝟏 O1再次使用密钥K进行加密,生成输出 𝑶 𝟐 𝑶_𝟐 O2

  • 明文分组 𝑷 𝟐 𝑷_𝟐 P2与这个经过两次加密的输出 𝑶 𝟐 𝑶_𝟐 O2 进行按位异或,生成第二个密文分组 𝑪 𝟐 𝑪_𝟐 C2

  • 继续按照这种方法进行处理,明文分组 𝑷 𝒊 𝑷_𝒊 Pi都是与一个加密了 i i i次的输出 𝑶 𝒊 𝑶_𝒊 Oi进行按位异或,得到密文

  • 输出反馈模式OFB 也不需要填充明文消息,那么当最后一个明文分组 𝑷 𝑵 𝑷_𝑵 PN的长度为 u < b u<b u<b,加密了 N N N次的输出 𝑶 𝑵 𝑶_𝑵 ON只用它前面的u位参与异或运算

  • 对任意一个明文分组进行处理生成密文时,都是与一个 𝑶 𝒊 𝑶_𝒊 Oi进行按位异或,而这个 𝑶 𝒊 𝑶_𝒊 Oi是初始向量通过若干次加密得来,与明密文无关, 取决于 K 、 I V \color{red}取决于K、IV 取决于KIV

  • 解密过程与CFB类似,也是将密文分组与一个特定的 𝑶 𝒊 𝑶_𝒊 Oi再次进行异或,还原出明文分组

无论是密文反馈模式CFB,还是输出反馈模式OFB,它们每一个分组的加密都要等待上一个加密流程的输出,所以无法并行地处理一段明文消息

🕘 2.5 计数器模式CTR

在这里插入图片描述

当确定了明文消息划分出的分组个数N后,就确定了N个计数器的值,加密后就确定了N个参与异或运算的输出值,可以并行地为明文分组进行异或

🕘 2.6 小结

在这里插入图片描述

模式描述典型应用
Electronic Codebook (ECB)用相同的密钥分别对明文分组单独加密单个数据的安全传输(如一个加密密钥)
Cipher Block Chaining (CBC)加密算法的输入是上一个密文分组和下一个明文分组的异或面向分组的通用传输;认证
Cipher Feedback (CFB)一次处理输入的s位,上一个密文分组作为加密算法的输入,产生的伪随机数输出与明文异或后作为下一个单元的密文面向数据流的通用传输;认证
Output Feedback (OFB)与CFB类似,只是加密算法的输入是上一次加密的输出,并且使用整个分组噪声信道上的数据流的传输(如卫星通信)
Counter(CTR)每个明文分组都与一个经过加密的计数器异或。对每个后续的分组,计数器增1面向分组的通用传输;用于高速需求

单选题
分组密码的工作模式中,符合以下特性的工作模式是哪个?
1)如果消息中有几个相同明文组,那么密文也会出现相同的密文分组
2)适合数据较少的情况,如加密密钥
A.ECB
B.CBC
C.CFB
D.OFB
答案:A

🕒 3. 中英文对照表

在这里插入图片描述


OK,以上就是本期知识点“分组加密的工作模式”的知识啦~~ ,感谢友友们的阅读。后续还会继续更新,欢迎持续关注哟📌~
💫如果有错误❌,欢迎批评指正呀👀~让我们一起相互进步🚀
🎉如果觉得收获满满,可以点点赞👍支持一下哟~

❗ 转载请注明出处
作者:HinsCoder
博客链接:🔎 作者博客主页

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值