分组密码模式
1. 电码本 Electronic Codebook (ECB)
将消息划分为独立的块,并独立地进行加密。
1.1 优点:
- 用于加密短消息
1.2 缺点:
- 消息中的内容重复可能在密文中显示出来
- Weakness :因为各组加密是独立的
- 不会隐藏数据模式:
- 易受到延迟攻击
- 错误传播仅局限于同一组消息,不同组间没有错误传播
2. 密码分组链接 Cipher-Block Chaining (CBC)
- 需要初始向量(IV)
- 当前块的加密受前一个块的影响
2.1 优点
- 每个组加密都依赖于其前面所有的组
- 一个组的改变会影响到其后面所有的组
2.2 缺点
3. 密码反馈 Cipher Feedback (CFB)
- 消息被看作为 bits 流
- 允许返回任何数量的 bit 位
- 用于数据流加密、认证
3.1 优点
- 适用于消息以 bits/bytes 传输
- 最公用的流模式
- 分组密码在加密模式的两端都使用
- 错误传输到多个块
3.2 缺点
- 不支持并行运算
4. 输出反馈 Output Feedback (OFB)
- 消息被看作为 bits 流
- 每组输出的密文被加入到密文流中
- 反馈是独立于加密的
- 可以提前计算 IV
- 用于有噪信道流数据加密
4.1 优点
- 位错误不会传输(可用于有噪信道加密)
4.2 缺点
- 发送者和接收者必须保持同步
- 需要初始 IV
- 只有 Full Block Feedback 应该被使用(否则不安全)
- 容易受消息流修改攻击
5. 计数器 Counter (CTR)
- 用于高速网络加密
5.1 优点
- 高效
- 随机
- 可证明的安全性
5.2 缺点
- 不能重复使用密钥/计算器的值,否则很容易被攻击
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!