資訊安全中的AES加密和解密是什麼?
AES 加密定義了使用高階加密標準 (AES) 中批准的 128 位、192 位或 256 位對稱加密演算法隱藏電子資訊的過程,也稱為 FIPS 197。
在 1990 年代,美國政府需要標準化一種加密演算法,該演算法將由他們全球使用。它被稱為高階加密標準 (AES)。
提交了多個提案,經過多次討論,一種稱為 Rijndael 的演算法被接受。Rijndael 由 Joan Daemen 和 Vincent Rijmen 發明。實際上,需要提出一種新演算法是因為 DES 中已知的弱點。
DES 的 56 位金鑰不再被認為對依賴於窮舉金鑰搜尋的攻擊是安全的,並且 64 位塊也被視為脆弱的。AES 基於 128 位塊和 128 位金鑰。
在定義 AES 結構時,有以下幾點:
該結構的特點是它不是 Feistel 結構。在 Feistel 結構中,資料塊的一半用於更改資料塊的另一半,因此這兩半被交換。
兩個 AES 決賽入圍者,例如 Rijndael,不需要 Feistel 結構,而是在每一輪中並行處理完整的資料塊,使用替換和置換。
作為輸入支援的金鑰擴充套件到一個包含 44 個 32 位字的陣列 w[i]。四個不同的字(128 位)充當每一輪的輪金鑰。
使用了多個階段,其中一個用於置換,三個用於替換:
**位元組替換** - 它使用 S 盒來實現塊的逐位元組替換。
**行移位** - 一個簡單的置換。
**列混淆** - 一個使用 GF(28) 上的算術建立的替換。
**新增輪金鑰** - 現代塊與擴散金鑰的一部分進行平滑的按位異或運算。
對於加密和解密,密碼都從新增輪金鑰階段開始,然後是包含所有四個階段的九輪,最後是包含三個階段的第 10 輪。
它只能新增使用金鑰的輪金鑰階段。由於這個原因,密碼以新增輪金鑰階段開始和結束。在開頭或結尾應用的任何其他階段都是可逆的,無需瞭解金鑰,因此不會增加任何安全性。
新增輪金鑰階段是一種 Vernam 密碼的形式,並且它本身不會很危險。其他三個階段支援混淆、擴散和非線性,但它們本身不會提供任何安全性,因為它們不需要金鑰。