電碼本模式(ECB)
分組後逐個加密
加密:Ci = Ek(Mi)
解密:Mi = Dk-1(Ci)
特點(缺點):
- 要求數據的長度是密碼分組長度的整數倍
- 容易暴露明文的數據模式
- 重複的明文產生相同的密碼分組
以DES爲例,明文的長度必須是64位的整數倍,不足部分要特殊處理。
密碼分組鏈接模式(CBC)
特點:
1. 解決了ECB的安全缺陷可以讓重複的明文產生不同的密碼分組
2. 要求數據的長度是密碼分組長度的整數倍
明密文鏈接模式
加密:Ci = Ek(Mi⊕Z, K), i = 1
= Ek(Mi⊕Mi-1⊕Ci-1, K), i = 2 …… n
解密:Mi = D(Ci,K) ⊕ Z , i = 1
= D(Ci,K) ⊕ Mi-1 ⊕ Ci-1, i = 2 …… n
其中Z爲初始向量
可以看到上一輪的明文和密文參與這一輪的加密,前一輪的明文和密文數據變化會影響之後每一輪,所以錯誤傳播會無界。
特點:加解密錯誤傳播無界
密文鏈接模式
加密:Ci = Ek(Mi⊕Z, K), i = 1
= Ek(Mi⊕Ci-1, K), i = 2 …… n
解密:Mi = D(Ci,K) ⊕ Z , i = 1
= D(Ci,K) ⊕ Ci-1, i = 2 …… n
可以看到只有上一輪的密文參與這一輪的加密,前一輪的數據變化會影響之後每一輪,在加密時錯誤傳播依然會無界。但在解密的時候,即使某一輪密文發生錯誤,只有本輪解密會收到影響,此時稱爲錯誤傳播有界
特點:加密錯誤傳播無界,解密錯誤傳播有界
密碼反饋模式(CFB)
設每個傳輸單元爲 j bit (一般爲一個字節8bit),有一個初始向量b bit放入移位寄存器中,經過加密算法選擇 j bit,丟棄b - j bit,並與明文單元異或得到密文單元,下一次加密式用得到的密文單元代替初始向量,同時移位寄存器需要左移 j 位。
特點:
- 加解密錯誤傳播無界
- 適合數據完整性認證方面的應用
輸出反饋模式(OFB)
和CFB類似,不同處在於代替密文單元的是經過加密的選擇 j bit 部分。用於衛星通訊。
特點:
- 加解密錯誤傳播有界
- 可以加密任意長度的數據
計數器模式(CTR)
計數器模式是將計數器從初始值開始計數所得到的值作爲分組密碼的輸入,經過加密算法變換後的結果與明文分組異或,得到密文分組。
Ci = Mi ⊕ E(CTRi), i = 1,2,……n
特點:
- 加解密錯誤傳播有界,不適用於數據完整性認證。
- 實現簡單,可以處理任意長度的數據,對合運算,加解密過程僅涉及加密運算不涉及解密運算,不用實現解密算法。
- 可以並行處理,高效,還可以提前預處理。
- 可以隨機訪問,適合隨機文件的加密。