圖解分組密碼五大工作模式

在密碼學中,分組密碼操作模式是使用分組密碼來提供諸如機密性或真實性的信息服務的算法。基於分組的對稱密碼算法比如DES/AES算法只是描述如何根據祕鑰對一段固定長度(分組塊)的數據進行加密,對於比較長的數據,分組密碼工作模式描述瞭如何重複應用某種算法加密分組操作來安全地轉換大於塊的數據量。
簡單的說就是,AES算法描述怎麼加密一個數據塊,分組密碼工作模式模式瞭如果重複加密比較長的多個數據塊。 常見的分組密碼工作模式有ECB、CBC、CFB、OFB、CTR五種,下面通過流程圖分別展示了5大模式的分組密碼工作加解密的流程。(圖片來源Wikipedia)

ECB

ECB(Electronic Codebook, 電子密碼本)模式是最簡單的加密模式,明文消息被分成固定大小的塊(分組),並且每個塊被單獨加密。
每個塊的加密和解密都是獨立的,且使用相同的方法進行加密,所以可以進行並行計算,但是這種方法一旦有一個塊被破解,使用相同的方法可以解密所有的明文數據,安全性比較差。
適用於數據較少的情形,加密前需要把明文數據填充到塊大小的整倍數。
image
image

CBC

CBC(Cipher Block Chaining, 密碼塊鏈)模式中每一個分組要先和前一個分組加密後的數據進行XOR異或操作,然後再進行加密。
這樣每個密文塊依賴該塊之前的所有明文塊,爲了保持每條消息都具有唯一性,第一個數據塊進行加密之前需要用初始化向量IV進行異或操作。
CBC模式是一種最常用的加密模式,它主要缺點是加密是連續的,不能並行處理,並且與ECB一樣消息塊必須填充到塊大小的整倍數。
image
image

CFB

CFB(Cipher Feedback, 密碼反饋)模式和CBC模式比較相似,前一個分組的密文加密後和當前分組的明文XOR異或操作生成當前分組的密文。CFB模式的解密和CBC模式的加密在流程上其實是非常相似的。
image
image

OFB

OFB(Output Feedback, 輸出反饋)模式將分組密碼轉換爲同步流密碼,也就是說可以根據明文長度先獨立生成相應長度的流密碼。通過流程圖可以看出,OFB和CFB非常相似,CFB是前一個分組的密文加密後XOR當前分組明文,OFB是前一個分組與前一個明文塊異或之前的流密碼XOR當前分組明文。由於異或操作的對稱性,OFB模式的解密和加密完全一樣的流程。
image
image

CTR

CTR(Counter, 計數器)模式與OFB模式一樣,計數器模式將分組密碼轉換爲流密碼。它通過加密“計數器”的連續值來產生下一個密鑰流塊,

image
image

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章