对称加密算法的几种模式优缺点一览

ECB模式ide

wKioL1d1OMShlESDAACHAtER2cY549.png

ECB模式的加密加密

wKiom1d1OMXif9HiAACElYGQIdM425.png

ECB模式的解密3d



CBC模式blog

通常来讲,每次加密时都会随机产生一个不一样的比特序列来做为初始化向量。ip

wKiom1d1RDjA8wocAACqLoPluUI090.png

CBC模式的加密get

wKiom1d1RDiyYOzvAACah4mK8nY122.png

CBC模式的解密it



CFB模式io


wKioL1d1R_aCKraMAACMl67Nc7c186.png

CFB模式的加密table

wKiom1d1R_bwu4ryAACMzLzbnMM683.png

CFB模式的解密class




OFB模式


wKioL1d1TOGQGw5EAACT0ZTlDDA915.png

CFB模式的加密

wKiom1d1TOGw2tKgAACSzQySQzs517.png

CFB模式的解密



CTR模式


wKioL1d1TnDCkJ62AACkbrdvrBk821.png

CTR模式的加密

wKioL1d1TnDgbk4nAAChPXkYf7M362.png

CTR模式的解密






对称密码中常见的又ECB、CBC、CFB、OFB 和 CTR等模式。   下面咱们对这些模式的特色作一下整理。

模式 名称 优势 缺点 备注
ECB模式 Electronic CodeBook电子密码本模式
  • 简单

  • 快速

  • 支持并行计算(加密、解密)

  • 明文中的重复排列会反映在密文中

  • 经过删除、替换密文分组能够对明文进行操做

  • 对包含某些比特错误的密文进行解密时,对应的分组会出错

  • 不能抵御重放***

必应使用
CBC模式 Cipher Block Charning密文分组连接模式
  • 明文的重复排列不会反映在密文中

  • 支持并行计算(仅解密)

  • 可以解密任意密文分组

  • 对包含某些错误比特的密文进行解密时,第一个分组的所有比特以及后一个分组的相应比特会出错

  • 加密不支持并行计算

推荐使用

CFB模式 Cipher-FeedBack密文反馈模式
  • 不须要填充(padding)

  • 支持并行计算(仅解密)

  • 可以解密任意密文分组

  • 加密不支持并行计算

  • 对包含某些错误比特的密文进行解密时,第一个分组的所有比特以及后一个分组的相应比特会出错

  • 不能抵御重放***

  • 如今已不使用

  • 推荐用CTR模式代替

OFB模式 Output-FeedBack输出反馈模式
  • 不须要填充(padding)

  • 可事先进行加密、解密的准备

  • 加密、解密使用相同结构

  • 对包含某些错误比特的密文进行解密时,只有铭文中相应的比特会出错

  • 不支持并行运算

  • 主动***这反转密文分组中的某些比特时,明文分组中相对应的比特也会被反转

推荐使用CTR模式代替
CTR模式 CounTeR计数器模式
  • 不须要填充(padding)

  • 可事先进行加密、解密的准备

  • 加密、解密使用相同的结构

  • 对包含某些错误比特的密文进行解密时,只有明文中相对应的比特会出错

  • 支持并行计算(加密、解密)

主动***者反转密文分组中的某些比特时,明文分组中对应的比特也会被反转 推荐使用

首先,但愿你们搞清楚每种模式的3个字母究竟是什么的缩写。若是可以记住每一个模式的名称,就可以在头脑中想象出相应的结构图,也就可以搞清楚每一个模式的特色了。


《实用密码学》[Schneier,2003]一书中指出,不该使用ECB模式,而推荐使用CBC模式和CTR模式。详情可参见《实用密码学》一书。

相关文章
相关标签/搜索