首页 > 其他分享 >分组加密——多组加密模式

分组加密——多组加密模式

时间:2022-12-23 21:33:41浏览次数:63  
标签:加密 多组 解密 模式 明文 分组 密文

分组加密——多组加密模式

电子密码本EBC

ECB模式是将明文分成固定长度的组块,然后对每个明文分组块使用相同的密钥进行独立加密或解密,且该加密的结果将直接作为密文分组。

优点

  • 简单、快速,利于并行计算(加解密)
  • 单一密文损坏的话,不会影响到其他块的解密,即误差不会被传送

缺点

  • ECB模式中明文分组与密文分组是一一对应的关系,因此相同的明文分组经过加密后都将转换成相同的密文分组
  • 这样通过观察密文的情况就可知道明文的重复组合情况,并可依此进行破译,即不能隐藏明文
  • 无需破译密码,仅通过密文可以操纵明文(进行删除、替换)
  • 不能抵御重放攻击,可能对明文进行主动攻击

密文分组链接CBC

CBC模式是先将明文分成若干个组块,然后每个明文分组与前一密文分组进行异或运算,然后再进行加密。因此,每个密文分组都依赖于它前面的所有明文分组。

优点

  • 每个密文分组均依赖于所有的信息块,不容易主动攻击,安全性优于ECB模式
  • 适合传输长度长的报文,互联网安全的通信协议之一的SSL、IPSec就是采用CBC模式确保通信机密性的

缺点

  • 无法单独对一个中间的明文分组进行加密

  • 明文的微小改变会导致其后全部密文分组发生改变

  • 该损坏的密文分组的长度没有改变,只有内容发生改变,解密时最多只有2个分组受到数据损坏的影响(见下图)
  • 一旦密文分组中缺失或增添一些比特,则会导致密文分组的长度发生改变,之后的分组也会发生错位,将密文分组排列后进行解密,则会影响损坏的密文分组及后续所有的解密过程。

  • 发送方和接收方均需要知道初始化向量IV
  • 加密过程是串行的,无法被并行化(解密过程可以从两个相邻的密文分组中即可解密得到一个明文分组,即解密过程可以被并行化),且同样不能抵御重放攻击

密文反馈CFB

CFB模式中密码算法的输入是前一个密文分组,再将该密文分组送到密码算法的输入端产生自同步的密钥流。其解密过程几乎就是颠倒的CBC的加密过程。

优点

  • 隐藏了明文模式
  • 分组密码转化为流模式
  • 可以即时加密传送小于分组的数据
  • 加密流程和解密流程中被加密的数据是前一段密文分组,因此即使明文数据的长度不是密钥的整数倍也是不需要填充的,这保证了数据长度在加密前后是相同的
  • 与CBC模式类似,解密过程是可以并行化的
  • 解密过程使用的是加密器

缺点

  • CFB模式中是对密文分组进行反馈,因此必须从第一个明文分组开始按顺序进行加密,即加密过程无法并行化
  • 与CBC模式相似,明文的改变会影响接下来的所有密文
  • 误差传送:一个明文单元损坏会影响多个单元

输出反馈OFB

OFB是将密码算法的输出反馈给密码算法中,因此称为输出反馈模式。

优点

  • 无需进行填充(因为是流密码),可以抵御重放攻击
  • 可事先生成密钥流,和明文分组无关,即只要事先通过密码算法生成密钥流,后续只需要将明文/密文与密钥流进行异或即可快速完成加密/解密(异或运算很快)生成密钥流的操作和进行异或运算的操作是可以并行的

输出反馈模式(Output feedback, OFB)可以将块密码变成同步的流密码。它产生密钥流的块,然后将其与平文块进行异或,得到密文。与其它流密码一样,密文中一个位的翻转会使平文中同样位置的位也产生翻转。这种特性使得许多错误校正码,例如奇偶校验位,即使在加密前计算而在加密后进行校验也可以得出正确结果。

  • 加解密结构相同,解密过程使用的是加密器

缺点

  • 但如果对密钥流的一个分组加密后,如果其结果和加密前一份组相同,之后的密钥流将变成同一值的不断反复
  • 加解密都依赖于前一段的数据,故加解密都不能并行

计数器CTR

CTR模式与CFB模式和OFB模式一样,把分组密码转化为序列密码(流密码)。在本质上是通过将逐次累加的计数器采用分组密码加密产生密钥序列,按序列密码的方式进行加解密。最终的密文分组是通过将计数器加密得到的比特序列与明文分组进行异或而得到的。

优点

  • CTR模式与OFB模式一样,无需填充,可抵御重放攻击
  • CTR模式的特征类似于OFB模式,但它允许在解密时进行随机存取
  • CTR模式的单一密文损坏并不会影响到其他块的解密,且支持并行运算(加解密),不会有密钥流重复循环出现的情况
  • 由于加密和解密过程均可以进行并行处理,CTR适合运用于多处理器的硬件上
  • 解密过程使用的是加密器

缺点

  • 需要提供初始计数器值
  • 没有错误传播,因此不适合用于数据完整性认证

标签:加密,多组,解密,模式,明文,分组,密文
From: https://www.cnblogs.com/euler0525/p/17001677.html

相关文章