什麼是AES高級加密標準?

數影星球 發佈 2022-10-06T02:20:03.158964+00:00

在密碼學中,block(分組)密碼的工作模式被廣泛使用,使用同一個分組密碼密鑰對很多稱之為塊的數據加密,在優於很多諸如RSA、ECC密碼的性能的情況下,也不失為一種安全的加密算法。

在密碼學中,block(分組)密碼的工作模式被廣泛使用,使用同一個分組密碼密鑰對很多稱之為塊的數據加密,在優於很多諸如RSA、ECC密碼的性能的情況下,也不失為一種安全的加密算法。


其中,AES加密標準又稱為高級加密標準,是在密碼學中占據重要位置的安全的加密算法之一,在密碼學中也可稱為Rijindael加密法。Rijndael是由比利時密碼學家設計的分組密碼算法,於2000年被選為新一代的標準密碼算法——AES。



首先,AES是美國國家標準技術研究所NIST發布的,旨在取代DES的21世紀的加密標準。如今,AES儼然已經成為對稱密鑰中最流行的算法之一。而AES高級加密標準大致經歷這幾個時間段的發展:


1998年,NIST開始AES第一輪分析、測試和徵集,共產生了15個候選算法;


1999年3月,完成了第二輪AES2的分析、測試;


2000年10月2日,美國政府正式宣布選中比利時密碼學家Joan Daemen和Vincent Rijmen提出的一種密碼算法Rijndael作為AES的加密算法。


2001年11月26日,AES發布於FIPS PUB 197(《Federal InformationProcessing Standards Publication 197》文件);


2002年5月26日,AES正式成為有效的標準。



AES的基本要求是,採用對稱分組密碼體制,密鑰長度可以為128、192或256位,分組長度128位,算法應易在各種硬體和軟體上實現。


另外,AES加密數據塊和密鑰長度可以是128b、192b、256b中的任意一個。AES加密有很多輪的重複和變換。大致步驟如下:1、密鑰擴展(Key Expansion);2、初始輪(InitialRound);3、重複輪(Rounds),每一重複輪又包括字節間減法運算(SubBytes)、行移位(ShiftRows)、列混合(MixColumns)、輪密鑰加法運算(AddRoundKey)等操作;4、最終輪(Final Round),最終輪沒有列混合操作(MixColumns)。


當然了,AES的整體架構也可以這樣理解:AES加密體制由多輪加密構成,除了結尾的一輪,其他輪都是由四個步驟組成——字節代替、行移位、列混淆、輪密鑰加。而最後一輪僅包括字節代替、行移位、輪密鑰加這三步。AES疊代的輪數與密鑰的長度相關,16位元組的密鑰對應著疊代10輪,24位元組的密鑰對應著疊代12輪,32位元組的密鑰對應著疊代14輪。在開始所有輪疊代之前,需要進行一次初始變換——一次輪密鑰加,這一步往往被稱為第0輪。



雖然AES沒有採用Feistel密碼體制,與加解密結構完全相同的DES相比,有著不同的加解密結構,但是AES每一個步驟都是可逆的,因此只要把AES加密中的每一步換成其逆變換,即可得到AES解密算法。值得一提的是,AES解密算法也是先進行第0輪,而且最後一輪也是只有三步。在解密算法中,需要倒著順序使用輪密鑰。


與此同時,AES加密算法的三個核心元素分別是密鑰、填充、模式,而AES加密算法的實現就需要這三者並用:


私鑰是實現AES加密和解密的根本,AES支持三種長度的密鑰——128位、192位、256位,其中AES 256安全性最高,AES128性能最高,由於加密處理的複雜度不同,私鑰越長,加密處理的循環數越多;


需要填充是因為AES加密是組加密,即,不是直接將明文全部統一加密,而是對明文進行分組,分割為一個個獨立的明文塊(各明文塊的長度為128b),然後對各明文塊獨立地進行加密,形成不同的密文塊,最後將這些明文塊進行分組;由於AES明文塊分割的長度固定為128b,因此如果長度小於128b或超過128b的明文不是其倍數,則無法將明文分割成長度為128b的等長明文塊。在這種情況下,需要填充明文塊以補充到128位;



AES的工作模式出現在將明文塊加密為明文塊的過程中,AES加密算法提供5種不同的工作模式:ECB電碼本模式(Electronic Codebook Book)、CBC密碼分組連結模式(Cipher Block Chaining)、CTR計算器模式(Counter)、CFB密碼反饋模式(Cipher FeedBack)、OFB輸出反饋模式(Output FeedBack).


當前,AES 加密的數據在某種意義上是安全的,因為沒有已知的密碼分析攻擊可以解密AES密文,除非強行遍歷搜索所有可能的256位密鑰。

關鍵字: