
- 密码学教程
- 密码学 - 首页
- 密码学 - 起源
- 密码学 - 历史
- 密码学 - 原理
- 密码学 - 应用
- 密码学 - 优点与缺点
- 密码学 - 现代
- 密码学 - 传统密码
- 密码学 - 加密的需求
- 密码学 - 双重强度加密
- 密码系统
- 密码系统
- 密码系统 - 组成部分
- 密码系统攻击
- 密码系统 - 彩虹表攻击
- 密码系统 - 字典攻击
- 密码系统 - 暴力破解攻击
- 密码系统 - 密码分析技术
- 密码学类型
- 密码系统 - 类型
- 公钥加密
- 现代对称密钥加密
- 密码学哈希函数
- 密钥管理
- 密码系统 - 密钥生成
- 密码系统 - 密钥存储
- 密码系统 - 密钥分发
- 密码系统 - 密钥撤销
- 分组密码
- 密码系统 - 流密码
- 密码学 - 分组密码
- 密码学 - Feistel 分组密码
- 分组密码的工作模式
- 分组密码的工作模式
- 电子密码本 (ECB) 模式
- 密码分组链接 (CBC) 模式
- 密码反馈 (CFB) 模式
- 输出反馈 (OFB) 模式
- 计数器 (CTR) 模式
- 经典密码
- 密码学 - 反向密码
- 密码学 - 凯撒密码
- 密码学 - ROT13 算法
- 密码学 - 转置密码
- 密码学 - 加密转置密码
- 密码学 - 解密转置密码
- 密码学 - 乘法密码
- 密码学 - 仿射密码
- 密码学 - 简单替换密码
- 密码学 - 简单替换密码的加密
- 密码学 - 简单替换密码的解密
- 密码学 - 维吉尼亚密码
- 密码学 - 维吉尼亚密码的实现
- 现代密码
- Base64 编码与解码
- 密码学 - XOR 加密
- 替换技术
- 密码学 - 单字母替换密码
- 密码学 - 单字母替换密码的破解
- 密码学 - 多字母替换密码
- 密码学 - Playfair 密码
- 密码学 - Hill 密码
- 多字母替换密码
- 密码学 - 一次性密码本
- 一次性密码本的实现
- 密码学 - 转置技术
- 密码学 - 栅栏密码
- 密码学 - 列移位转置
- 密码学 - 密码隐写术
- 对称算法
- 密码学 - 数据加密
- 密码学 - 加密算法
- 密码学 - 数据加密标准 (DES)
- 密码学 - 三重 DES
- 密码学 - 双重 DES
- 高级加密标准 (AES)
- 密码学 - AES 结构
- 密码学 - AES 变换函数
- 密码学 - 字节替换变换
- 密码学 - 行移位变换
- 密码学 - 列混淆变换
- 密码学 - 轮密钥加变换
- 密码学 - AES 密钥扩展算法
- 密码学 - Blowfish 算法
- 密码学 - SHA 算法
- 密码学 - RC4 算法
- 密码学 - Camellia 加密算法
- 密码学 - ChaCha20 加密算法
- 密码学 - CAST5 加密算法
- 密码学 - SEED 加密算法
- 密码学 - SM4 加密算法
- IDEA - 国际数据加密算法
- 公钥(非对称)密码算法
- 密码学 - RSA 算法
- 密码学 - RSA 加密
- 密码学 - RSA 解密
- 密码学 - 创建 RSA 密钥
- 密码学 - 破解 RSA 密码
- 密码学 - ECDSA 算法
- 密码学 - DSA 算法
- 密码学 - Diffie-Hellman 算法
- 密码学中的数据完整性
- 密码学中的数据完整性
- 消息认证
- 密码学数字签名
- 公钥基础设施 (PKI)
- 哈希算法
- MD5 (消息摘要算法 5)
- SHA-1 (安全哈希算法 1)
- SHA-256 (安全哈希算法 256 位)
- SHA-512 (安全哈希算法 512 位)
- SHA-3 (安全哈希算法 3)
- 密码哈希
- Bcrypt 哈希模块
- 现代密码学
- 量子密码学
- 后量子密码学
- 密码协议
- 密码学 - SSL/TLS 协议
- 密码学 - SSH 协议
- 密码学 - IPsec 协议
- 密码学 - PGP 协议
- 图像与文件加密
- 密码学 - 图像
- 密码学 - 文件
- 密码隐写术 - 图像
- 文件加密和解密
- 密码学 - 文件加密
- 密码学 - 文件解密
- 物联网中的密码学
- 物联网安全挑战、威胁和攻击
- 物联网安全的密码技术
- 物联网设备的通信协议
- 常用的密码技术
- 自定义构建密码算法(混合密码学)
- 云密码学
- 量子密码学
- 密码学中的图像隐写术
- DNA 密码学
- 密码学中的一次性密码 (OTP) 算法
- 区别
- 密码学 - MD5 vs SHA1
- 密码学 - RSA vs DSA
- 密码学 - RSA vs Diffie-Hellman
- 密码学 vs 密码学
- 密码学 - 密码学 vs 密码分析
- 密码学 - 经典 vs 量子
- 密码学 vs 密码隐写术
- 密码学 vs 加密
- 密码学 vs 网络安全
- 密码学 - 流密码 vs 分组密码
- 密码学 - AES vs DES 密码
- 密码学 - 对称 vs 非对称
- 密码学有用资源
- 密码学 - 快速指南
- 密码学 - 讨论
密码学 - 密码反馈 (CFB) 模式
密码反馈 (CFB) 模式与 CBC 模式非常相似;主要区别在于 CFB 是一种流模式。它通过使用反馈(在流模式中也称为链接)来消除模式。CFB 与 CBC 一样,使用初始化向量来破坏模式,同时传播错误。
CFB 模式是一种典型的工作模式,它使用分组密码算法。在这个版本中,我们支持数据加密标准 (DES) 和高级加密标准 (AES) 处理;DES 的密钥长度应为 64 位,AES 的密钥长度应为 128/192/256 位。另一个限制是我们的工作模式处理固定大小的单元(每块 64 或 128 位),而现实世界中的文本长度可变。
因此,提供给此原语的最终文本块必须填充到 128 位才能进行加密或解密。虽然 CFB1 和 CFB8 模式使用与 CFB128 模式相同的接口,但 CFB1 和 CFB8 模式逐位或逐字节处理明文和密文,而不是逐块处理。

操作
上图显示了 CFB 模式的操作。在当前系统中,消息块的大小为 's' 位,其中 1 < s < n。CFB 模式中的初始随机 n 位输入块需要一个初始化向量 (IV)。初始化向量不需要保密。操作步骤如下:
将 IV 加载到顶部寄存器。
使用底层分组密码和密钥 K 加密顶部寄存器中的数据值。
要构造密文块,只需从加密过程的输出中取 's' 个最重要的位(左位),并将其与 's' 位明文消息块进行 XOR 运算。
通过将现有数据向左移动,将密文块送入顶部寄存器,并重复此操作,直到处理完所有明文块。
基本上,前一个密文块在密钥的帮助下被加密,结果与当前明文块进行 XOR 运算。
解密遵循类似的方法。在解密开始时加载预定的 IV。
CFB 模式的分析
CFB 模式与 ECB 模式的显著区别在于,与给定明文块相关的密文不仅取决于该明文块和密钥,还取决于前一个密文块。换句话说,密文块取决于消息。
CFB 具有非常不寻常的特性。在此模式下,用户使用分组密码的加密方法解密密文。从不使用底层分组密码的解密算法。
显然,CFB 模式将分组密码转换为流密码。加密算法充当密钥流生成器,生成存储在底部寄存器中的密钥流。然后,此密钥流与明文进行 XOR 运算,就像流密码一样。
CFB 模式将分组密码转换为流密码,使其具有一些流密码的优点,同时保留分组密码的优点。
另一方面,由于块更改,传输错误会扩散。
Explore our latest online courses and learn new skills at your own pace. Enroll and become a certified expert to boost your career.
CFB 模式的公式
CFB(密码反馈)是一种 AES 分组密码模式,与 CBC 类似,它需要前一个块的密文 Ci-1 来加密一个块 Bi。与 CBC 类似,CFB 使用初始化向量。主要区别在于,在 CFB 中,在与关注的块进行 XOR 运算之前,首先加密前一个块的密文块。
为了更好地理解这一点,请考虑以公式的形式表示 CFB:
Ci = EK(Ci-1) ⊕ Bi
其中 EK 表示具有密钥 K 的分组加密算法,Ci-1 是 Bi-1 的密文。
请注意,上面的计算假设 C0 为初始化向量。
类似地,使用 CFB 的解密可以表示如下:
Bi = EK(Ci-1)⊕(Ci)
重要的是要理解这里没有使用解密算法。
CFB 模式的位宽
下表显示了 CFB 模式提供的接口的位宽:
明文 | 密文 | 密钥 | IV | |
---|---|---|---|---|
CFB1-DES | 64 | 64 | 64 | 64 |
CFB1-AES128 | 128 | 128 | 128 | 128 |
CFB1-AES192 | 128 | 128 | 192 | 128 |
CFB1-AES256 | 128 | 128 | 256 | 128 |
CFB8-DES | 64 | 64 | 64 | 64 |
CFB8-AES128 | 128 | 128 | 128 | 128 |
CFB8-AES192 | 128 | 128 | 192 | 128 |
CFB8-AES256 | 128 | 128 | 256 | 128 |
CFB128-DES | 64 | 64 | 64 | 64 |
CFB128-AES128 | 128 | 128 | 128 | 128 |
CFB128-AES192 | 128 | 128 | 192 | 128 |
CFB128-AES256 | 128 | 128 | 256 | 128 |
CFB模式的优点
CFB(密文反馈)模式有时比CBC(密码分组链接)模式更快,因为它不需要额外的解密技术。这可以提高性能,尤其是在加密速度至关重要的场合。
CFB模式使用非确定性加密,这意味着它无法识别明文中的模式。这通过使攻击者更难以从密文中确定有关明文的信息来提供额外的安全层。
CFB模式的缺点
与CBC模式一样,CFB模式无法处理加密块的丢失。如果在传输过程中即使只有一个块丢失或损坏,也可能导致解密过程失败,并使整个消息无法访问。
与CBC模式一样,CFB模式不允许同时加密多个块。每个块的加密都依赖于之前的密文块,这限制了并行加密技术的效率,并可能影响整体加密速度。
虽然CFB模式在速度和不可预测的加密方面可以提供优势,但它比ECB(电子密码本)模式等更简单的模式更难设置和理解。如果实施不当,这种额外的复杂性可能会导致潜在的漏洞。