分组密码的加密模式(ECB,CBC,CTR)

        即使有了安全的分组密码算法,也需要采用适当的工作模式来隐蔽明文的统计特性、数据的格式等,以提高整体的安全性,降低删除、重放、插入和伪造成功的机会。美国在FIPS中定义了五种运行模式。

  • 电子码本(electronic code-book mode,ECB)

  • 密码分组链接(cipher block chaining,CBC)

  • 计数器模式(Counter ,CTR)

  • 输出反馈(output feedback,OFB)

  • 密码反馈(cipher feedback,CFB)

先介绍前三种,剩下的放在下篇博客。

1.电码本ECB(Electronic codebook )模式

1.1优点

ECB模式的优点可并行运算、速度快和易于标准化。

1.2缺点

分组加密不能隐藏数据格式;不能抵抗组的重放、嵌入、删除等攻击;因此,如果明文中存在多个相同的明文分组,则这些明文分组最终都将被转换为相同的密文分组。这样一来,只要观察一下密文,就可以知道明文存在怎样的重复组合,并可以以此为线索来破译密码,因此ECB模式是存在一定风险的。加密长度只能是分组的倍数。因此ECB模式仅适用于短数据加密,如果需要安全地传递DES密钥,ECB是最合适的模式。

1.3错误传播

单个密文分组中有一个或多个比特错误只会影响该分组的解密结果

2.密码分组链接CBC模式(Cipher-block chaining)

2.1优点

        CBC模式的优点是引入了收发双方相互可公开的随机初始量,为使安全性最高,初始量应像密钥一样被保护,可使用ECB加密模式来发送初始量。保护初始量的原因;如果敌手篡改初始量中的某些比特,则接受方收到的明文中相应的比特也发生了变化。如果加密算法是伪随机的,则输出具有-定的随机性,避免了ECB模式的缺点,隐藏了明文的数据格式,在一定程度上能防止数据窜改。

        CBC模式是应用最广。影响也最大的一个工作模式,适合加密长度大于64位的消息,但消息长度只能是分组长度的倍数,不能是任意长度的消息;此外,CBC模式还可以用来实现报文的完整性认证和用户的身份认证。 

2.2缺点

        缺点是会出现错误传播,密文在传输中发生错误不仅影响密文的正确译文,还会影响其后密文的正确解密。CBC模式不能纠正传输中同步差错,即传输中增加或丢失一个或多个比特所引起的密文组边缘的错乱。

        初始矢量IV(Initial Vector):第一组明文加密时无反馈密文,为此需要在寄存器中预先置入一个,收发双方必须选用同一IV。 每个明文组加密之前,先与反馈至输入端的前一组密文按位模2求和后,再送至加密算法加密 实际上,IV的完整性要比其保密性更为重要。在CBC模式下,最好是每发一个消息,都改变IV,比如将其值加一。

 2.3错误传播

  1. 明文有一组中有错,会使以后的密文组都受影响,但经解密后的恢复结果,除原有误的一组外,其后各组明文都正确地恢复。
  2. 若在传送过程中,某组密文组出错时,则该组恢复的明文和下一组恢复数据出错。再后面的组将不会受中错误比特的影响。

3计数器模式 (CTR) Counter mode

3.1优点 

  • 处理效率:能够对多块报文的加、解进行并行处理
  • 预处理:进行异或之前的基本加密处理不依赖明文和密文的输入
  • 随机访问:密文分组的处理与其它密文无关实现简单

3.2缺点

可能导致明文攻击。

        使用与明文分组规则相同的计数器长度 加密不同的分组所使用的计数器值必须不同;解密:采用相同方案,但是使用加密函数而非解密函数。

  • 5
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
分组密码加密模式是一种将明文分块加密的方法,常见的分组密码加密模式包括以下几种: 1. 电子密码模式 (Electronic Codebook, ECB):将明文分成固定大小的块,每个块独立地使用相同的密钥进行加密,相同的明文块将产生相同的密文块。由于每个块独立加密ECB 模式在安全性和抗攻击性方面存在一些问题,因此在实际中较少使用。 2. 密码分组链接模式 (Cipher Block Chaining, CBC):在 CBC 模式中,每个明文块会与前一个密文块进行异或运算,然后再进行加密。这种链接方式使得每个密文块都依赖于之前的所有明文块,提高了安全性。为了保证第一个明文块的安全性,还需要引入初始化向量 (IV)。 3. 密文反馈模式 (Cipher Feedback, CFB):CFB 模式将前一个密文块作为输入与密钥生成器进行加密运算,然后与当前明文块进行异或运算得到当前密文块。这种模式不需要填充明文,可以处理变长的数据。 4. 输出反馈模式 (Output Feedback, OFB):OFB 模式将前一个输出作为输入与密钥生成器进行加密运算,然后与当前明文块进行异或运算得到当前密文块。与 CFB 类似,OFB 也可以处理变长的数据。 5. 计数器模式 (Counter, CTR):CTR 模式将一个计数器与密钥生成器进行加密运算,然后与明文块进行异或运算得到密文块。计数器可以作为输入参数,从而可以并行地加密或解密多个块。 这些分组密码加密模式在实际中根据应用需求和安全性要求的不同选择使用。需要注意的是,在使用这些模式时,必须合理选择和管理密钥和初始化向量,以保证加密的安全性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值