對稱加密算法的幾種模式優缺點一覽

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模式。詳情可參見《實用密碼學》一書。

相關文章
相關標籤/搜索