常見的分組密碼工作模式有ECB、CBC、CFB掸鹅、OFB、CTR五種拦赠,下面通過流程圖分別展示了5大模式的分組密碼工作加解密的流程巍沙。
ECB
ECB(Electronic Codebook, 電子密碼本)模式是最簡單的加密模式,明文消息被分成固定大小的塊(分組)荷鼠,并且每個塊被單獨加密句携。
每個塊的加密和解密都是獨立的,且使用相同的方法進行加密允乐,所以可以進行并行計算矮嫉,但是這種方法一旦有一個塊被破解,使用相同的方法可以解密所有的明文數(shù)據(jù)牍疏,安全性比較差蠢笋。
適用于數(shù)據(jù)較少的情形,加密前需要把明文數(shù)據(jù)填充到塊大小的整倍數(shù)鳞陨。
CBC
CBC(Cipher Block Chaining, 密碼塊鏈)模式中每一個分組要先和前一個分組加密后的數(shù)據(jù)進行XOR異或操作昨寞,然后再進行加密。
這樣每個密文塊依賴該塊之前的所有明文塊炊邦,為了保持每條消息都具有唯一性编矾,第一個數(shù)據(jù)塊進行加密之前需要用初始化向量IV進行異或操作。
CBC模式是一種最常用的加密模式馁害,它主要缺點是加密是連續(xù)的窄俏,不能并行處理,并且與ECB一樣消息塊必須填充到塊大小的整倍數(shù)碘菜。
CFB
CFB(Cipher Feedback, 密碼反饋)模式和CBC模式比較相似凹蜈,前一個分組的密文加密后和當前分組的明文XOR異或操作生成當前分組的密文限寞。CFB模式的解密和CBC模式的加密在流程上其實是非常相似的。
OFB
OFB(Output Feedback, 輸出反饋)模式將分組密碼轉(zhuǎn)換為同步流密碼仰坦,也就是說可以根據(jù)明文長度先獨立生成相應(yīng)長度的流密碼履植。通過流程圖可以看出,OFB和CFB非常相似悄晃,CFB是前一個分組的密文加密后XOR當前分組明文玫霎,OFB是前一個分組與前一個明文塊異或之前的流密碼XOR當前分組明文。由于異或操作的對稱性妈橄,OFB模式的解密和加密完全一樣的流程庶近。
CTR
CTR(Counter, 計數(shù)器)模式與OFB模式一樣,計數(shù)器模式將分組密碼轉(zhuǎn)換為流密碼眷蚓。它通過加密“計數(shù)器”的連續(xù)值來產(chǎn)生下一個密鑰流塊鼻种,
轉(zhuǎn)自https://blog.csdn.net/shaosunrise/article/details/80035297