分组密码的工作模式

对称密码体制-分组密码的工作模式

分组密码的输入具有b位固定长度的明文分组和密钥,输出为b为密文。明文长度若大于b位,则可简单将其分成b位一组的块。工作模式是一项增强密码算法或者使算法适应具体应用的技术。

电码本模式(ECB)

需要加密的消息按照块密码的组大小被分为数个组,并对每个组进行独立加密:

+ ECB模式特别适合于数据较少的情况,比如加密密钥。
+ 缺点在于同样的明文组会被加密成相同的密文组,因此,它不能很好的隐藏数据模式。对于很长的消息,很可能被破译。

密文分组链接模式(CBC)

当前的明文组和上一个密文组进行异或,而使用的密钥是相同的。在这种方法中,每个密文组都依赖于它前面的所有明文组。同时,为了保证每条消息的唯一性,在第一个块中需要使用初始化向量。

  • 加密过程是串行的,无法被并行化
  • 消息必须被填充到块大小的整数倍
  • 引入错误传播,明文组中的微小改变会导致其后的全部密文组发生改变
  • 在解密时,从两个邻接的密文块中即可得到一个平文块。因此,解密过程可以被并行化
  • 在解密时,密文中一位的改变只会导致其对应的明文块和下一个明文块中对应位发生改变,不会影响到其它明文的内容。

密文反馈模式(CFB)

密文反馈模式类似于CBC,可以将块密码变为自同步的流密码;工作过程亦非常相似,CFB的解密过程几乎就是颠倒的CBC的加密过程

  • 明文的改变会影响接下来所有的密文,因此加密过程不能并行化
  • 解密过程是可以并行化的
  • 在解密时,密文中一位数据的改变仅会影响两个明文块:对应平文块中的一位数据与下一块中全部的数据,而之后的数据将恢复正常
  • CFB拥有一些CBC所不具备的特性,这些特性与OFB和CTR的流模式相似:只需要使用块密码进行加密操作,且消息无需进行填充

输出反馈模式(OFB)

输出反馈模式可以将块密码变成同步的流密码。它产生密钥流的组,然后将其与明文组进行异或,得到密文。其用加密函数的输出填充移位寄存器,而CFB是用密文单元来填充移位寄存器。

  • 没有计算并行性,密钥生成时串行的,但是加解密是并行的
  • 没有密文重复性
  • 不会错误传播
  • 不需要消息填充
  • 抗流消息篡改不如CFB

计数器模式(CTR)

与OFB相似,CTR将块密码变为流密码。它通过递增一个加密计数器以产生连续的密钥流,其中,计数器可以是任意保证不产生长时间重复输出的函数。CTR模式的特征类似于OFB,但它允许在解密时进行随机存取。由于加密和解密过程均可以进行并行处理,CTR适合运用于多处理器的硬件上。

  • 硬件效率高,吞吐量仅受可并行度限制
  • 软件效率高,可进行并行计算
  • 可以进行预处理,实时性高
  • 随机访问
  • 简单性:只要求实现加密算法,并不要求实现解密算法,当加密算法和解密算法有很大不同的时候,这种模式就很重要了,而高级加密标准(AES)就是这样。

总结



主动攻击(改明文,后续内容不影响,只要误差不传递该缺点就存在)

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值