密码反馈模式CFB

CFB 分组密码反馈模式如何转为流密码使用的说明

#status / growing #type / concept #tech / security / crypto #resource / algorithm

[!info] related notes 密码学 Data Encryption Standard DES 电子密码本模式ECB 密码分组链接CBC

密码反馈模式 (CFB)

1. 定义

密码反馈模式 (Cipher Feedback, CFB) 的特点是将分组密码(如 DES/AES)转换为流密码 (Stream Cipher) 使用。 [cite_start]它不需要对整块数据进行填充,可以处理任意长度的消息(如按字节或位处理) [cite: 832, 856]。

2. 工作原理

它使用一个移位寄存器来实现反馈。

  • 加密流程

    1. 加密器对移位寄存器中的内容(上一轮的密文或 IV)进行加密。
    2. 取加密输出的最左端 $s$ 位(例如 8位)。
    3. 将这 $s$ 位与明文单元 $P_i$ 进行异或,得到密文单元 $C_i$。
    4. [cite_start]$C_i$ 被反馈回移位寄存器的末端,寄存器左移,准备下一轮 [cite: 861, 863]。
  • 核心公式

    $$

C_i = P_i \oplus \text{Select}(E_K(\text{ShiftReg}))

$$

3. 优缺点分析

[cite_start]根据 PPT [cite: 857-859, 867-871] 总结:

优点

  1. [cite_start]流式处理:适合实时通信,可以按字节加密,无需等待整个块填满 [cite: 857]。
  2. [cite_start]灵活性:可以处理任意长度的消息 [cite: 858]。
  3. [cite_start]隐藏模式:如同 CBC,隐藏了明文的统计规律 [cite: 867]。
  4. [cite_start]自同步能力:如果密文丢失或错位,只要接收到足够的正确密文填充寄存器,解密就会自动恢复正常 [cite: 859]。

缺点

  1. [cite_start]效率限制:无法并行加密 [cite: 868]。
  2. [cite_start]需要 IV:同样需要共享初始向量 IV [cite: 869]。
  3. 复杂的误差传递
    • 一个密文单元损坏,会影响当前解密,并且错误会进入移位寄存器。
    • [cite_start]这会导致后续的一系列解密出错,直到该错误密文被移出寄存器为止 [cite: 871]。

相关链接

创建于 2026/1/8 更新于 2026/5/27