AES是一種區塊加密標準算法,它的提出是為了升級替換原有的DES加密算法。因此它的安全強度高于DES算法。但不應片面理解,系統和數據的安全不僅與應用的加密算法有關,更與加密應用方案有關。和DES算法一樣,AES也屬于對稱加密算法,對密鑰的存儲與保護,直接決定了整個系統的安全。
AES最常見的有3種方案,分別是AES-128、AES-192和AES-256,它們的區別在于密鑰長度不同,AES-128的密鑰長度為16bytes(128bit / 8),后兩者分別為24bytes和32bytes。密鑰越長,安全強度越高,但伴隨運算輪數的增加,帶來的運算開銷就會更大,所以用戶應根據不同應用場合進行合理選擇。用戶在應用過程中,除了關注密鑰長度外,還應注意確認算法模式。AES算法有五種加密模式,即CBC、ECB、CTR、OCF、CFB,后三種模式因其較為復雜且應用較少,不做詳細說明,僅對ECB和CBC模式進行介紹。
ECB模式的全稱是Electronic Codebook Book,即電碼本模式。這種模式是將整個明文分成若干個長度相同的分組,然后對每一小組進行加密,并將加密結果拼接為最終結果,C = C1C2C3......Cn。它與ECB模式的DES算法加密流程基本一致。
CBC模式的全稱是Cipher Block Chaining,這種模式是先將明文切分成若干個長度相同的分組(與ECB模式一樣),此時先利用初始向量IV與第一組數據進行異或后再進行加密運算生成C1。將C1作為初始向量與第二組數據進行異或后再進行加密運算生成C2。以此類推,當最后一組數據加密完畢后,將加密結果拼接為最終結果,C = C1C2C3......Cn。
綜上,AES192算法與DES算法很相似,均為塊加密算法,密文數據以16字節為單位獨立存在。若明文長度為16字節,當改變明文的前16字節時,只會影響密文的前16字節,密文后16字節不變。因此,在應用AES算法對線路傳輸數據加密過程中,若想保證密文的整體變化,要保證每塊明文數據都是變化的。
希望本文能讓大家對AES的算法特點有個更直觀的認識,更安全有效的利用AES算法設計數據加解密的方案,將LKT中自帶的AES算法接口高效利用起來。
-
AES
+關注
關注
0文章
104瀏覽量
33287 -
DES
+關注
關注
0文章
64瀏覽量
48298
發布評論請先 登錄
相關推薦
轉:熟悉AES加密
基于FPGA的可編程AES加解密IP
哪里可以找到AES-192和AES-256的Verilog代碼?
TN404_ELF2 AES加密使用指南
請問S32K1系列如何使用AES-128算法進行軟件加解密?
愛特梅爾推出AES-128防盜器和遙控無匙門禁AVR微控制器
嵌入式AES加密IP核設計
基于mbedTLS在Apollo3 MCU上實現AES-256加解密算法
基于FPGA的可編程AES加解密IP
![基于FPGA的可編程<b class='flag-5'>AES</b>加解密IP](https://file1.elecfans.com/web2/M00/BB/A1/wKgZomWctPuAMZalAAARq0WWAIA369.jpg)
評論