高級加密標準(AES)
接下來的兩個步驟實現置換.
高級加密標準(AES)
莫里斯·J. Dworkin,Elaine B. 巴克,詹姆斯·R. Nechvatal,James Foti,Lawrence E. Bassham,e. 羅巴克,詹姆斯·F. Dray Jr.
抽象的
高級加密標準(AES)指定了可用於保護電子數據的FIPS批准的加密算法. AES算法是一種對稱塊密碼,可以加密(codypher)和解密(解密)信息. 加密將數據轉換為一個名為Ciphertext的難以理解的形式;解密密文將數據轉換為其原始形式,稱為“明文”. AES算法能夠使用128、192和256位的加密密鑰對128位的塊中進行加密和解密數據.
高級加密標準(AES)
高級加密標準(AES)是用於加密U的規範.美國國家標準技術研究所(NIST)於2001年. 當今AES已被廣泛使用,因為它比DES強得多,儘管很難實施.
要記住的點
- AES是一個密碼.
- 關鍵大小可以是128/192/256位.
- 將數據加密為128位的塊.
這意味著它需要128位作為輸入,並輸出128位加密的密碼文本作為輸出. AES依賴於替換 – 授權網絡原理,這意味著它是使用一系列鏈接操作進行的,涉及替換和改組輸入數據.
密碼的工作:
AES對數據字節進行操作,而不是位於位. 由於塊大小為128位,因此一個密碼處理一個輸入數據的128位(或16個字節).
回合的數量取決於關鍵長度如下:
- 128位鑰匙 – 10發子彈
- 192位鑰匙 – 12發子彈
- 256位鑰匙 – 14輪
創建圓形鑰匙:
密鑰時間表算法用於從密鑰中計算所有圓形鍵. 因此,初始密鑰用於創建許多不同的圓形鍵.
加密:
AES將每個塊視為16個字節(4個字節x 4字節= 128)網格.
[B0 | B4 | B8 | B12 | | B1 | B5 | B9 | B13 | | B2 | B6 | B10 | B14 | | B3 | B7 | B11 | B15]
每個回合都有4個步驟:
- subbytes
- shiftrows
- 混合曲面
- 添加圓形鍵
最後一輪沒有混合賽車.
SupBytes進行替換,然後進行換算和混合曲面在算法中執行置換.
Subbytes:
此步驟實現替代.
在此步驟中,每個字節由另一個字節代替. 它使用查找表執行也稱為S-Box. 這種替代的方式是以某種方式進行的,即一個字節永遠不會被本身替代,也不是由另一個字節代替,這是對當前字節的稱讚. 此步驟的結果是16個字節(4 x 4)矩陣.
接下來的兩個步驟實現置換.
shiftrows:
這個步驟就像聽起來一樣. 每行都會移動特定次數.
- 第一行沒有移動
- 第二行向左移動一次.
- 第三行向左移兩次.
- 第四排向左移三.
(執行左圓形移動.)
[B0 | B1 | B2 | B3] [B0 | B1 | B2 | B3] | B4 | B5 | B6 | B7 | - > | B5 | B6 | B7 | B4 | | B8 | B9 | B10 | B11 | | B10 | B11 | B8 | B9 | [B12 | B13 | B14 | B15] [B15 | B12 | B13 | B14]
MixColumns:
此步驟基本上是矩陣乘法. 每個列乘以特定矩陣,因此,列中每個字節的位置都會更改為.
在最後一輪中跳過了這一步驟.
[C0] [2 3 1 1] [B0] | C1 | = | 1 2 3 1 | | B1 | | C2 | | 1 1 2 3 | | B2 | [C3] [3 1 1 2] [B3]
添加圓形鍵:
現在,上一個階段的結果輸出是XOR-ED,帶有相應的圓形鍵. 在這裡,16個字節不被視為網格,而是128位數據.
在所有這些回合中,將128位加密數據作為輸出給出. 重複此過程,直到要加密的所有數據經歷此過程.
解密:
由於這些階段與之相反,因此可以輕鬆撤消回合中的階段.每個128個街區都通過10,12或14發,具體取決於鑰匙尺寸.
每個回合的解密階段如下:
- 添加圓形鍵
- 逆混合物
- shiftrows
- 倒數subbyte
解密過程是反向進行的加密過程,因此我將解釋具有顯著差異的步驟.
倒數collumns:
此步驟類似於加密中的MixColumns步驟,但用於執行操作的矩陣有所不同.
[B0] [14 11 13 9] [C0] | B1 | = | 9 14 11 13 | | C1 | | B2 | | 13 9 9 14 11 | | C2 | [B3] [11 13 9 14] [C3]
逆向副標:
逆S-box用作查找表,並使用該字節在解密過程中被取代.
應用程式:
AE在許多需要安全數據存儲和傳輸的應用中廣泛使用. 一些常見用例包括:
- 無線網絡安全: AE用於保護無線網絡,例如Wi-Fi網絡,以確保數據機密性並防止未經授權的訪問.
- 數據庫加密: AE可以應用於數據庫中存儲的敏感數據. 這有助於保護個人信息,財務記錄和其他機密數據免受數據洩露時未經授權的訪問.
- 安全通信: AES被廣泛用於諸如Internet通信,電子郵件,即時消息和語音/視頻通話之類的協議中.它確保數據仍然保密.
- 數據存儲: AE用於加密存儲在硬盤驅動器,USB驅動器和其他存儲媒體上的敏感數據,以保護其免受未經授權的訪問,以防萬一丟失或盜竊.
- 虛擬專用網絡(VPN): AES通常在VPN協議中使用,以確保用戶設備和遠程服務器之間的通信. 它確保通過VPN發送和接收的數據保持私密,並且不能被竊聽者解密.
- 安全存儲密碼: AES加密通常用於安全存儲密碼. 已存儲加密版本而不是存儲明文密碼,而是存儲. 如果未經授權訪問存儲,這增加了一層安全性並保護用戶憑據.
- 文件和磁盤加密: AE用於加密計算機,外部存儲設備和雲存儲的文件和文件夾. 它保護存儲在設備或數據傳輸過程中的敏感數據以防止未經授權的訪問.
概括 :
現在將AES指令集集成到CPU中(提供多個GB/s的吞吐量),以提高使用AES進行加密和解密的應用程序的速度和安全性. 即使自推出以來已經有20年了,我們也未能打破AES算法,因為它是不可行的. 直到日期,唯一的漏洞仍然存在於算法的實施中.
上次更新:2023年5月22日
喜歡文章