概要
AES全称Advanced Encryption Standard,即高级加密标准,用于取代DES和3DES。该算法是由Rijndael算法在15个算法中选出来称为AES算法的,因此AES算法也称Rijndael算法。当然AES算法并不等于AES算法。Rijndael算法的分组长度和密钥长度为32位的任意倍,最小128,最大256。而AES算法分组长度只能为128,密钥只能为128、192和256,分别称为AES-128、AES-192、AES-256。
步骤
该算法步骤为:字节替换(SubBytes)、行移位(Shiftrows)、列混合(Mixcolumns)、轮密钥加(AddRoundKey)、输出。
1、字节替换:AES和DES不一样,替换位置不是按位(bit)置换,而是按字节(8bit)置换,它会将128bit的原文分成16个组(字节),再用4*4的二维数组(从上往下,从左往右排列)存储这些字节,为比如原文F61446C1A68CEA53824826A7A47F1914分组之后变成如下二维数组: