本文包括:ECB,CBC,CFB,OFB,CTR。
文字很少,画图画了2个多小时(—,—)
.
综述
之前学习了一个明文分组的加密,今天写的是分组和分组之间的联系,一共5种加密方式,工作模式在本质上也是增加密码强度的技术。
.
1、电码本(ECB)
加密(图):
特点:
- 组间独立,可以并行加密,并行解密。
- 相同的明文分组会加密成相同的密文分组。
- 所有密文分组都固定地对应着一个明文分组(想象有一个超级厚的电子密码本)。
- 不能抵御重放攻击。
.
.
2、密文分组链接(CBC)
加密(图):
解密(图):
IV 既可以是时变值(比如时间戳),也可以是生成的随机数。
特点:
- 一位出错,密文后面全错(密文雪崩)。
- 补充: 传输出错1位,解密后 明文仅仅会出错二个分组。(后面的密文无论是否出错,对下一组明文来说,都是密钥而已,解密时都能正常恢复)
- 用于认证。
- 需要预防填充提示攻击。
- 不可以并行加密,可以并行解密。
.
.
3、密文反馈
加密(图):
解密(图):
特点:
- 伪流密码,传输单元S通常是8位。
- 与明文异或的比特流是与前面明文相关的,这是CFB与流密码的本质区别。
- 传输中出错时,错误会传播(b/s+1)分组。
- 用于认证。
- 解密时使用的仍是加密函数。
- 不可以并行加密,可以并行解密。
- 不能抵御重放攻击。
- 无需填充。
寄存器n 是由 寄存器n-1 左移得到的,而不是 寄存器n-1 经加密输出的那串数。
图中的“加密”实际是加密密钥,真正加密明文的只是一个 异或。这也是所谓的 解密时仍用“加密”函数。
.
.
4、输出反馈(OFB)
加密(图):
解密(图):
特点:
- 传输差错只影响自己分组,不会传播到其他分组。
- 相当于:传输单元=b比特的CFB。
- 收发双方必须保持同步,或着有方法恢复同步。
- 绝不重复使用IV。
- 抗篡改能力差:密文某位取反,明文对应的位也取反。
- 经典分组长度64位/128位(进一步研究表明只有OFB-64合适)。
- 解密仍用加密函数。
- 伪 并行加密,伪 并行解密。(异或可以并行,但异或所必需的K不能并行)
- 无需填充。
- 加密 解密 结构相同。
.
.
5、计数器(CTR)
加密(图):
解密(图):
特点:
- 在异步传输模式(ATM)和IPsec中的应用使人们最近才对它感兴趣。
- 传输差错只影响自己分组,不会传播到其他分组。
- 可以预处理,这将极大的提高吞吐量,以适用于高速网络。
- 可以随机访问。
- 解密仍用加密函数。
- 可以并行加密,可以并行解密。
- 无需填充。
- 加密 解密 结构相同。
- 抗篡改能力差:密文某位取反,明文对应的位也取反。
补充
- 链接模式的吞吐量受限于一次加密/解密的时间;而CTR模式的吞吐量仅受限于并行数。
- 除了ECB,其他模式都有反馈机制。
- 最后两种模式,OFB和CRT,的加密过程是独立于明文和密文的。因此,它们也是流密码的自然候选算法。
.
.
.
.
.
.
.