分組密碼設計原則


分組密碼是一種使用對稱金鑰以確定性方式工作的加密演算法。明文被分成多個大小相等的分組。如果明文長度不允許進行大小相等的分組劃分,則對明文進行填充。這種型別的加密方法可以加密 128 位的分組,金鑰可以是 128、192 或 256 位。在分組密碼中,明文長度等於密文長度。

這種型別的加密過程一次處理一個分組,對於 n 位的輸入產生 n 位的輸出。但是,如果存在兩個相同的分組,該過程將為它們生成兩個不同的密文。它是一個具有公鑰和私鑰的可逆函式,這使得它的計算簡單,並且是一個確定性過程。

操作模式

分組密碼有 5 種操作模式,以便可以改進演算法並實現更廣泛的應用。這些模式如下:

  • **電子密碼本模式 (ECB)** - 在這種型別的操作中,明文被分成多個 64 位的塊。每個塊都使用相同的金鑰進行單獨加密。加密後,密文塊被髮送到接收方,接收方進行解密過程以解碼明文。這些塊使用相同的金鑰進行單獨解密。在加密過程中,由於使用了相同的金鑰,因此對於單個字元總是產生相同的結果。也就是說,如果存在兩個相同的分組,該過程不會為它們生成兩個不同的密文。因此,ECB 適用於具有較少或沒有重複字元的小明文。

  • **密碼分組連結模式 (CBC)** - 為了克服 ECB 中重複文字的問題,開發了 CBC,它每次都會為相同的分組生成新的密文。為此,這裡使用了連結方法。在對一個分組進行加密時,除了金鑰之外,還將前一個分組的加密結果饋送到當前加密中。因此,當前加密框不僅取決於當前明文,還取決於前一個分組的結果。對於第一個分組操作,沒有前一個分組的結果需要新增,因此會生成一個稱為初始化向量的隨機文字塊,並將其作為輸入提供給第一個分組加密。

  • **密碼反饋模式 (CFB)** - 在沒有資料塊的加密情況下,即明文由字元或位組成,則應用密碼反饋模式。在這種型別的加密中,一個位的加密結果被饋送到下一個位的加密,因此存在錯誤傳播的可能性,因為來自該位的錯誤再次傳遞到下一位。

  • **輸出反饋模式 (OFB)** - 這種型別的加密也涉及位和字元,但與 CFB 不同的是,它不一次考慮每個位,而是每次加密步驟都考慮一個位塊。此外,這裡消除了位元率傳播,因為前一個塊的結果不會新增到下一個塊中,而是使用反饋機制。

  • **計數器模式 (CTR)** - 它的工作方式類似於 OFB,但是這裡去除了使用來自先前塊的反饋,而是將一個稱為計數器的數字序列新增到每個加密步驟中。每一步之後,計數器都會增加 1,這樣就不會將相同的計數器饋送到所有塊中,並且不會為相同的分組建立相同的密文。

設計原則

在分組密碼中,需要管理幾個方面來定義演算法的複雜性級別。這些因素如下:

  • **加密輪數** - 明文將經歷的加密輪數解釋瞭解碼難度,從而建立了安全性。例如,DES 分組密碼機制經過 16 輪,而 AES 經過 10 輪。因此,相比之下,DES 比 AES 更安全。但是,輪數的過度增加也會影響演算法的速度,因此在確定輪數時必須在速度和安全性之間取得完美的平衡。

  • **函式設計** - 在 Feistal 分組密碼的設計中,輪函式的構造極大地影響了演算法的複雜性。設計的函式應該是非線性的,以增強函式的強度。它還應該以一種方式建立,即沒有任何其他函式可以替代它併產生相同的輸出。隨著複雜性的增加,安全級別也會提高,為此還集成了雪崩效應,使得輸入塊的最小變化會導致密文的明顯變化。

  • **金鑰排程演算法** - 該演算法定義了每一輪金鑰的生成。例如,在 DES 中,原始長度為 56 位的金鑰被分成兩個 28 位的半部分。

結論

因此,分組密碼的工作速度比其他加密方法快,因為它一次處理一個數據塊,而且由於塊大小相同,因此時間或強度不會因每個塊而異。藉助上面解釋的設計原則,可以根據專案的需要更改安全性級別和複雜性。

更新於:2023 年 5 月 5 日

瀏覽量:10K+

啟動你的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.