
工作模式又叫運算模式,是指分組密碼算法在處理隨意長度消息時,對多個分組進行特殊處理的技術方案。常用的工作模式有ECB、CBC、CFB、OFB等。
1.ECB
ECB是電子密碼本的縮寫。
該模式下,每個分組獨立進行加/解密運算,不同分組間無任何關聯。於是,在密鑰一樣的情況下,一樣的明文總能產生一樣的密文。
在安全性方面,該模式的特點是:明文模式不能隱藏、分組加密的輸入不是隨機的、一個密鑰可加密多個消息、明文很輕易篡改等。
在效率方面,該模式的特點是:速度與分組算法一樣、密文比明文長一個分組、不可能進行預處理、處理過程可並行進行等。
2.CBC
CBC是密碼分組連結的縮寫。
該模式下,在加密當前分組前,把上個分組的加密結果與當前明文分組異或後再加密,形成一個密文鏈;解密時類似。
該模式在安全性方面的特點是:明文模式能隱藏、分組加密的輸入是隨機的、一個密鑰能加密多個消息、篡改明文稍微有些難等。
3.CFB
CFB是密碼反饋的縮寫。
設對稱算法的分組長度為n位,初始向量為IV(n位),密鑰為K,則x位CFB模式下(x在1與n之間),加密過程如下:
①設定一個n位長的隊列,隊列初始值為IV,並把明文消息分成若干個x位長的比特塊。
②依次對每個x位比特塊明文進行以下操作:用密鑰K加密隊列,把該密文中最左端的x位與x位比特塊明文異或,即可取得其x位比特塊密文;然後把該x位比特塊密文放入隊列的最右端,並丟棄隊列最左端的x位。
③把全部x位比特塊密文依次級聯,可得到消息密文。
4.OFB
OFB是輸出反饋的縮寫。
該模式類似於CFB,主要區別是OFB把隊列加密後密文中最左端的x位放入隊列最右端,而CFB是把x位比特塊密文放入隊列最右端。
設對稱算法的分組長度為n位,初始向量為IV(n位),密鑰為K,則x位OFB模式下(x在1與n之間)的加密過程如下:
①設定一個n位長的隊列,隊列初始值為IV,並把明文消息分成若干個x位長的比特塊。
②依次對每個x位比特塊明文進行以下操作:用密鑰K加密隊列,把該密文中最左端的x位與x位比特塊明文異或,就可得到其x位比特塊密文;同時把隊列加密後密文中最左端的x位放入隊列的最右端,並丟棄隊列最左端的x位。
③把全部x位比特塊密文依次級聯,就可得消息密文。
