分組密碼(二)分組密碼的運行模式

操作模式

電話本ECB模式

electronic codebook
最簡單的運行模式,一次對一個64比特的明文分組加密,每次的加密密鑰都相同。密鑰取定時,對明文的每一個文組,都有一個唯一確定的密文與之對應。
如果消息長於64比特,將其分爲長64比特的分組,若在最後一組不足64比特,則需要填充。
輸入:k比特的密鑰K;n比特的明文分組x1,x2,…xt
結果:產生密文分組c1,c2,…ct;解密以恢復明文
在這裏插入圖片描述
特性:用於端樹據時非常理想,用於長消息時可能不安全。例如,如果已知消息總是以一個預定義字段開始的,那麼分析者就可能得到很多明文密碼對。

  • 相同明文(在相同密鑰下)得出相同密文。
  • 鏈接依賴性:各組的加密都獨立於其他分組。
  • 錯誤傳播:單個密文分組中有一個或多個比特錯誤只會影 響該分組的解密結果。

由於密文分組是獨立的,因而 惡意替代ECB的分組(如插入一個經常出現的分組 )不會影響相鄰分組的解密。而且,分組密碼不隱 藏數據模式——相同密文組蘊含相同的明文分組。 因此,當消息長度超出一個組或重複使用密鑰加密 多個單組消息時,不建議使用ECB模式。若每個分 組中都含有隨機填充的比特,則安全性將稍有提高

密碼分組鏈接CBC模式

Cipher Block Chaining
爲了解決ECB的安全缺陷,可以讓重複的明文分組產生不同的密文分組。CBC模式一次對一組明文進行加密,每次加密使用同一密鑰,加密算法的輸入是當前明文分組和前一次密文分組的異或,因此加密算法不會現實出這次輸入與這次明文分組之間的關係。
在產生第 1 個密文分組時, 需要有一個初始向量 IV 與第 1 個明文分組異或。解密 時, IV 和解密算法對第 1 個密文分組的輸出進行異或以恢復第 1 個明文分組。
解密時,每一個密文分組被解密後,再與前一個密文分組異或。
輸入::k比特的密鑰K;n比特的 ;n比特的明文組 x1,x2,…xt
概要:產生密文分組c1,c2,…ct;解密以恢復明
在這裏插入圖片描述
特性:

  • 相同明文:在相同密鑰和 cj下,加密相同的明文分組會 得到相同的密文分組。
  • 鏈接依賴性:鏈接機制致使密文cj依賴於xj及所有前面 的明文分組。
  • 錯誤傳播:密文分組cj 中一個單比特錯誤會影響到分組cj和 cj+1的解密(因爲xj依賴於 cj和 cj-1)。
  • 錯誤恢復:CBC模式是自同步或者密文自動密鑰。基於此 ,若一個錯誤(包括丟失一個或多個完整分組)出現在分組cj中,而cj+1中沒有錯誤,則cj+2可正確地解密爲xj+2.
  • (加密中的錯誤傳播)雖然CBC模式的解密可從密 文分組中的錯誤恢復,但在加密時修改一個明文分 組 會改變所有後續的密文分組。在需隨機讀/寫存 取加密數據的應用中,會影響鏈接模式的可用性。
  • (自同步與結構錯誤)雖然自同步在某種程度上可 以從比特錯誤中恢復,但在CBC或其他模式中不可 能從因丟失比特而引起的分組邊界錯誤中恢復(結 構完整性錯誤)。
  • (CBC中 的完整性)雖然在CBC模式中 無須保 密,但它的完整性卻應得到保證,因爲惡意的篡改 能使敵手針對恢復的第一個明文分組做可預測的比 特變動。

密碼反饋CFB模式

Cipher FeedBack
利用 CFB( cipher feedback)模式 或 OFB 模式可將 DES 轉換爲流密碼。流密碼不需要對消息填充, 而且運行是實時的。 因此如果傳送字母流, 可使用流密碼對每個字母直接加密並傳送.
流密碼具有密文和明文一樣長這一性質, 因此, 如果需要發送的每個字符長爲 8 比 特, 就應使用 8 比特密鑰來加密每個字符。如果密鑰長超過 8 比特,則造成浪費

輸入::k比特的密鑰K;n比特的IV;r比特的明文組
概要::產生r比特密文分組c1,c2,…ct;解密以恢復明文
在這裏插入圖片描述
加密時, 加密算法的輸入是 64 比特移位寄存器, 其初值爲某個初始向量 IV。加密算法輸出的最左(最高有效位) j 比特與明文的第一個單元 P1 進行異或, 產生出密文的第 1 個單元 C 1 ,並傳送該單元。然後將移位寄存器的內容左移 j 位並將 C1 送入移位寄存器 最右邊(最低有效位) j 位。這一過程繼續到明文的所有單元都被加密爲止。
解密時, 將收到的密文單元與加密函數的輸出進行異或。
注意這時仍然使用加密算法而不是解密算法
特性:

  • 相同明文:與按CBC模式加密一樣,改變 IV同樣會導致 相同的明文輸入得到不同的加密輸出。
  • 鏈接依賴性:類似CBC加密,鏈接機制致使密文分組 依 賴於 和其前面的明文分組;因此,重排密文分組會影 響解密。
  • 錯誤傳播:一個或多個比特錯誤出現在任一個r比特的密 文分組 cj中會影響該分組和後續 n/r向上取整個密文分組的解密
  • (CFB僅用做加密)由於CFB的加密解密都要用到加密 函數E,所以若分組密碼是一種公鑰算法,則一定不能 使用CFB模式,而應採用CBC模式。

輸出反饋OFB模式

Output FeedBack
OFB(output feedback)模式的結構類似於 CFB,不同之處OFB 模式將加密算法的輸出反饋到移位寄存器,而 CFB 模式中是將密文單元反饋到移位寄存器。
在這裏插入圖片描述
OFB 模式的優點是傳輸過程中的比特錯誤不會被傳播.
OFB 的缺點是它比 CFB 模式更易受到對消息流的篡改攻擊, 比如在密文中取 1 比 特的補, 那麼在恢復的明文中相應位置的比特也爲原比特的補。因此使得敵手有可能通 過對消息校驗部分的篡改和對數據部分的篡改, 而以糾錯碼不能檢測的方式篡改密文.

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