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


 

ECB模式

wKioL1d1OMShlESDAACHAtER2cY549.png

ECB模式的加密

wKiom1d1OMXif9HiAACElYGQIdM425.png

ECB模式的解密

 


CBC模式

一般來說,每次加密時都會隨機產生一個不同的比特序列來作為初始化向量。

wKiom1d1RDjA8wocAACqLoPluUI090.png

CBC模式的加密

wKiom1d1RDiyYOzvAACah4mK8nY122.png

CBC模式的解密

 


CFB模式

wKioL1d1R_aCKraMAACMl67Nc7c186.png

CFB模式的加密

wKiom1d1R_bwu4ryAACMzLzbnMM683.png

CFB模式的解密

 


OFB模式

 

wKioL1d1TOGQGw5EAACT0ZTlDDA915.png

CFB模式的加密

wKiom1d1TOGw2tKgAACSzQySQzs517.png

CFB模式的解密

 


CTR模式

 

wKioL1d1TnDCkJ62AACkbrdvrBk821.png

CTR模式的加密

wKioL1d1TnDgbk4nAAChPXkYf7M362.png

CTR模式的解密

 

 

對稱密碼中常見的又ECB、CBC、CFB、OFB 和 CTR等模式。   下面我們對這些模式的特點做一下整理。


首先,希望大家搞清楚每種模式的3個字母到底是什么的縮寫。如果能夠記住每個模式的名稱,就能夠在頭腦中想象出相應的結構圖,也就能夠搞清楚每個模式的特點了。

模式 名稱 優點 缺點 備注
ECB模式 Electronic CodeBook電子密碼本模式
  • 簡單

  • 快速

  • 支持並行計算(加密、解密)

  • 明文中的重復排列會反映在密文中

  • 通過刪除、替換密文分組可以對明文進行操作

  • 對包含某些比特錯誤的密文進行解密時,對應的分組會出錯

  • 不能抵御重放攻擊

必應使用
CBC模式 Cipher Block Charning密文分組鏈接模式
  • 明文的重復排列不會反映在密文中

  • 支持並行計算(僅解密)

  • 能夠解密任意密文分組

  • 對包含某些錯誤比特的密文進行解密時,第一個分組的全部比特以及后一個分組的相應比特會出錯

  • 加密不支持並行計算

推薦使用

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

  • 支持並行計算(僅解密)

  • 能夠解密任意密文分組

  • 加密不支持並行計算

  • 對包含某些錯誤比特的密文進行解密時,第一個分組的全部比特以及后一個分組的相應比特會出錯

  • 不能抵御重放攻擊

  • 現在已不使用

  • 推薦用CTR模式代替

OFB模式 Output-FeedBack輸出反饋模式
  • 不需要填充(padding)

  • 可事先進行加密、解密的准備

  • 加密、解密使用相同結構

  • 對包含某些錯誤比特的密文進行解密時,只有銘文中相應的比特會出錯

  • 不支持並行運算

  • 主動攻擊這反轉密文分組中的某些比特時,明文分組中相對應的比特也會被反轉

推薦使用CTR模式代替
CTR模式 CounTeR計數器模式
  • 不需要填充(padding)

  • 可事先進行加密、解密的准備

  • 加密、解密使用相同的結構

  • 對包含某些錯誤比特的密文進行解密時,只有明文中相對應的比特會出錯

  • 支持並行計算(加密、解密)

主動攻擊者反轉密文分組中的某些比特時,明文分組中對應的比特也會被反轉 推薦使用


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

《實用密碼學》[Schneier,2003]一書中指出,不應使用ECB模式,而推薦使用CBC模式和CTR模式。詳情可參見《實用密碼學》一書。

 

原文鏈接:http://blog.51cto.com/professor/1794740

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM