密碼學 - 密碼反饋 (CFB) 模式



密碼反饋 (CFB) 模式與 CBC 模式非常相似;主要區別在於 CFB 是一種流模式。它透過使用反饋(在流模式中也稱為連結)來消除模式。CFB 與 CBC 一樣,使用初始化向量來破壞模式,同時傳播錯誤。

CFB 模式是一種典型的工作模式,它使用分組密碼演算法。在這個版本中,我們支援資料加密標準 (DES) 和高階加密標準 (AES) 處理;DES 的金鑰長度應為 64 位,AES 的金鑰長度應為 128/192/256 位。另一個限制是我們的工作模式處理固定大小的單元(每塊 64 或 128 位),而現實世界中的文字長度可變。

因此,提供給此原語的最終文字塊必須填充到 128 位才能進行加密或解密。雖然 CFB1 和 CFB8 模式使用與 CFB128 模式相同的介面,但 CFB1 和 CFB8 模式逐位或逐位元組處理明文和密文,而不是逐塊處理。

Cipher Feedback (CFB) Mode

操作

上圖顯示了 CFB 模式的操作。在當前系統中,訊息塊的大小為 's' 位,其中 1 < s < n。CFB 模式中的初始隨機 n 位輸入塊需要一個初始化向量 (IV)。初始化向量不需要保密。操作步驟如下:

  • 將 IV 載入到頂部暫存器。

  • 使用底層分組密碼和金鑰 K 加密頂部暫存器中的資料值。

  • 要構造密文塊,只需從加密過程的輸出中取 's' 個最重要的位(左位),並將其與 's' 位明文訊息塊進行 XOR 運算。

  • 透過將現有資料向左移動,將密文塊送入頂部暫存器,並重復此操作,直到處理完所有明文塊。

  • 基本上,前一個密文塊在金鑰的幫助下被加密,結果與當前明文塊進行 XOR 運算。

  • 解密遵循類似的方法。在解密開始時載入預定的 IV。

CFB 模式的分析

CFB 模式與 ECB 模式的顯著區別在於,與給定明文塊相關的密文不僅取決於該明文塊和金鑰,還取決於前一個密文塊。換句話說,密文塊取決於訊息。

CFB 具有非常不尋常的特性。在此模式下,使用者使用分組密碼的加密方法解密密文。從不使用底層分組密碼的解密演算法。

顯然,CFB 模式將分組密碼轉換為流密碼。加密演算法充當金鑰流生成器,生成儲存在底部暫存器中的金鑰流。然後,此金鑰流與明文進行 XOR 運算,就像流密碼一樣。

CFB 模式將分組密碼轉換為流密碼,使其具有一些流密碼的優點,同時保留分組密碼的優點。

另一方面,由於塊更改,傳輸錯誤會擴散。

CFB 模式的公式

CFB(密碼反饋)是一種 AES 分組密碼模式,與 CBC 類似,它需要前一個塊的密文 Ci-1 來加密一個塊 Bi。與 CBC 類似,CFB 使用初始化向量。主要區別在於,在 CFB 中,在與關注的塊進行 XOR 運算之前,首先加密前一個塊的密文塊。

為了更好地理解這一點,請考慮以公式的形式表示 CFB:

Ci = EK(Ci-1) ⊕ Bi

其中 EK 表示具有金鑰 K 的分組加密演算法,Ci-1 是 Bi-1 的密文。

請注意,上面的計算假設 C0 為初始化向量。

類似地,使用 CFB 的解密可以表示如下:

Bi = EK(Ci-1)⊕(Ci)

重要的是要理解這裡沒有使用解密演算法。

CFB 模式的位寬

下表顯示了 CFB 模式提供的介面的位寬:

明文 密文 金鑰 IV
CFB1-DES 64 64 64 64
CFB1-AES128 128 128 128 128
CFB1-AES192 128 128 192 128
CFB1-AES256 128 128 256 128
CFB8-DES 64 64 64 64
CFB8-AES128 128 128 128 128
CFB8-AES192 128 128 192 128
CFB8-AES256 128 128 256 128
CFB128-DES 64 64 64 64
CFB128-AES128 128 128 128 128
CFB128-AES192 128 128 192 128
CFB128-AES256 128 128 256 128

CFB模式的優點

  • CFB(密文反饋)模式有時比CBC(密碼分組連結)模式更快,因為它不需要額外的解密技術。這可以提高效能,尤其是在加密速度至關重要的場合。

  • CFB模式使用非確定性加密,這意味著它無法識別明文中的模式。這透過使攻擊者更難以從密文中確定有關明文的資訊來提供額外的安全層。

CFB模式的缺點

  • 與CBC模式一樣,CFB模式無法處理加密塊的丟失。如果在傳輸過程中即使只有一個塊丟失或損壞,也可能導致解密過程失敗,並使整個訊息無法訪問。

  • 與CBC模式一樣,CFB模式不允許同時加密多個塊。每個塊的加密都依賴於之前的密文塊,這限制了並行加密技術的效率,並可能影響整體加密速度。

  • 雖然CFB模式在速度和不可預測的加密方面可以提供優勢,但它比ECB(電子密碼本)模式等更簡單的模式更難設定和理解。如果實施不當,這種額外的複雜性可能會導致潛在的漏洞。

廣告
© . All rights reserved.