010tools.comAES在線加密解密工具(010tools 最好用的在線工具集合)

         

加密或解密的結果:
日誌記錄:


什麼是AES算法

高級加密標準(英語:Advanced Encryption Standard縮寫:AES),在密碼學中又稱Rijndael加密法,是美國聯邦政府採用的一種區塊加密標準。這個標準用來替代原先的DES,已經被多方分析且廣為全世界所使用。經過五年的甄選流程,高級加密標準由美國國家標準與技術研究院(NIST)於2001年11月26日發佈於FIPS PUB 197,並在2002年5月26日成為有效的標準。2006年,高級加密標準已然成為中最流行的算法之一。

該算法為比利時密碼學家Joan Daemen和Vincent Rijmen所設計,結合兩位作者的名字,以Rijndael為名投稿高級加密標準的甄選流程。(Rijndael的發音近於"Rhine doll")

算法說明

嚴格地說,AES和Rijndael加密法並不完全一樣(雖然在實際應用中兩者可以互換),因為Rijndael加密法可以支持更大範圍的區塊和密鑰長度:AES的區塊長度固定為128比特,密鑰長度則可以是128,192或256比特;而Rijndael使用的密鑰和區塊長度均可以是128,192或256比特。加密過程中使用的密鑰是由Rijndael密鑰生成方案產生。

大多數AES計算是在一個特別的有限域完成的。

AES加密過程是在一個4×4的字節矩陣上運作,這個矩陣又稱為“體(state)”,其初值就是一個明文區塊(矩陣中一個元素大小就是明文區塊中的一個Byte)。(Rijndael加密法因支持更大的區塊,其矩陣的“列數(Row number)”可視情況增加)加密時,各輪AES加密循環(除最後一輪外)均包含4個步驟:

  1. AddRoundKey—矩陣中的每一個字節都與該次回合密鑰(round key)做XOR運算;每個子密鑰由密鑰生成方案產生。
  2. SubBytes—透過一個非線性的替換函數,用查找表的方式把每個字節替換成對應的字節。
  3. ShiftRows—將矩陣中的每個橫列進行循環式移位。
  4. MixColumns—為了充分混合矩陣中各個直行的操作。這個步驟使用線性轉換來混合每內聯的四個字節。最後一個加密循環中省略MixColumns步驟,而以另一個AddRoundKey取代。