密碼學 - 分組密碼的工作模式



在本章中,我們將討論分組密碼的不同工作模式。這些是一般分組密碼過程中的步驟。需要注意的是,各種模式會產生不同的特性,從而提高分組密碼的整體安全性。

什麼是分組密碼的工作模式?

在密碼學中,分組密碼的工作模式是指一種使用分組密碼來提供資訊安全(例如機密性或真實性)的演算法。一個實際的分組密碼可以用來轉換安全的加密位(用於加密或解密)或建立一個固定長度的單個塊。工作模式描述瞭如何透過不斷利用密碼的單塊操作來安全地轉換大於一個塊的資料量。

對於每次加密操作,大多數模式都需要一個不同的二進位制序列,通常稱為初始化向量 (IV)。除了不重複之外,IV 在某些模式中需要是隨機的。初始化向量用於確保即使在不同場合使用相同的金鑰多次加密相同的明文時,也會生成不同的密文。即使分組密碼可以處理各種塊大小,但在整個轉換過程中,塊大小始終是固定的。如果最後一個數據片段小於當前塊大小,則必須將其填充到一個完整的塊中,以便分組密碼模式能夠在整個塊上工作。

但是,某些模式不需要填充,因為它們本質上是使用分組密碼代替流密碼。過去,人們對不同資料更改條件下加密模式的錯誤傳播特性進行了大量研究。之後,完整性保護被認為是完全不同的密碼學目標。經過身份驗證的加密模式是一些現代操作模式,它們有效地結合了真實性和機密性。

工作模式

分組密碼過程分為五類:CFB(密碼反饋)、OFB(輸出反饋)、CTR(計數器)、CBC(密碼分組連結)和 ECB(電子密碼本)。分組密碼以 ECB 和 CBC 模式工作,而充當流密碼的分組密碼以 CFB 和 OFB 模式工作。ECB 可以不安全地傳輸單個值,CBC 可以加密一段文字,CFB 可以加密資料流,OFB 可以傳輸加密的資料流,CTR 可以傳輸面向塊的應用程式。

  • ECB 模式 - ECB 是最簡單的分組密碼操作。因為每個輸入明文塊都被直接加密,並且輸出以加密密文塊的形式存在。

  • CBC 模式 - 由於 ECB 損害了某些安全要求,例如密文與明文之間的直接連線,這使得攻擊者更容易解密編碼資訊,因此 CBC 是 ECB 的高階模式。

  • CFB 模式 - 在這種情況下,密碼被髮送作為後續加密塊的反饋。

  • OFB 模式 - 除了傳送加密的輸出作為反饋而不是實際的密碼(它是 XOR 輸出)之外,OFB 的操作方式與 CFB 非常相似。

  • CTR 模式 - CTR 是基本基於計數器的分組密碼的實現。

歷史

“工作模式”是一種加密訊息使用程式,大約在 1981 年開發。它們被稱為 CFB、CBC、OFB 和 ECB。後來,在 2001 年實施了另一種稱為 AES 的方法。然後,在 2010 年添加了另一種方法 XTS-AES。雖然還有其他方法,但這些是 NIST 接受的主要方法。

這些技術有助於保護私人資訊的安全,但它們並不總是保證資訊不會意外或故意更改。人們使用“數字簽名”或“訊息認證碼”來驗證是否有任何更改。HMAC、CMAC 和 GMAC 就是此類程式碼的一些示例。

人們意識到,建立用於保護資訊安全和監控更改的系統很困難。因此,開發了結合這兩項任務的新方法。我們稱之為“authenc”或“經過身份驗證的加密”。OCB、IAPM、CCM、GCM、CWC 和 EAX 就是此類方法的一些示例。

這意味著安全資訊受不同規則集的約束。NIST、ISO、IEC、IEEE、ANSI 和 IETF 是一些主要的組織。

初始化向量 (IV)

一組稱為初始化向量 (IV) 的位元,用於混合加密。它有助於確保每次的結果都不同,即使您多次加密相同的訊息。與金鑰不同,IV 不需要保密。

每次使用相同金鑰加密某些內容時,使用不同的 IV 非常重要,這適用於各種加密技術。我們將此稱為“加密隨機數”。某些加密技術需要 IV 為隨機數。

重複使用相同的 IV 會導致問題。例如,在某些加密技術中,使用相同的 IV 會洩露訊息第一部分的資訊。另一方面,它可能會削弱加密,使其更容易被解密。

一種確保每次 IV 唯一的方法是使用加密訊息的一部分作為後續訊息的 IV。但是,這種方法不安全,因為某人可以透過猜測 IV 來解密訊息。

“合成初始化向量”(SIV)是在某些方法中可以建立的特殊 IV。它們透過使用特殊的數學過程確保 IV 正確混合。即使隨機性不完美或試圖被控制,這也保持了加密的安全性。

其他模式和密碼基元

分組密碼可以以多種方式用於保護資料。雖然其中一些方法有用且安全,但其他方法完全不安全。某些方法專門用於加密物件,如硬碟驅動器。

初始化向量 (IV) 是在其中一些方法中使用的東西。它的功能類似於一個獨特的數字,用於混合加密過程。IV 可能需要保密或每次使用時都唯一。

在某些方法中,如果使用相同的 IV 和金鑰,可能會導致嚴重問題,並使解密變得非常容易。因此,正確使用 IV 非常重要。

建立意外的隨機數和確認訊息未被篡改是分組密碼的其他兩種用途。

分組密碼可用於建立訊息認證碼 (MAC),用於確認訊息未被篡改。

以下是一些其他的模式和密碼基元:

其他操作模式

  • 反饋模式

  • Davies-Meyer 雜湊

  • LRW(可調整的窄分組加密模式)

  • XEX(可調整的窄分組加密模式)

  • XTS(可調整的窄分組加密模式)

  • CMC(寬分組加密模式)

  • EME(寬分組加密模式)

密碼基元

  • 確定性認證加密(NIST 金鑰包裝演算法)

  • SIV (RFC 5297) AEAD 模式

  • AES-GCM-SIV

  • 單向壓縮函式(用於構建密碼雜湊函式)

  • 密碼安全偽隨機數生成器 (CSPRNG)

  • 訊息認證碼 (MAC),如 CBC-MAC、OMAC 和 PMAC

廣告