AES加密输入:一个初始密钥(CipherKey)和一个明文分组(State)
AES加密的高级语言描述
Cipher(State,CipherKey)
{
KeyExpansion(CipherKey,ExpandedKey);
AddRoundKey(State,ExpandedKey[0])
FOR(I = 1;I <Nr ;I++) Round(State,ExpandedKey[i]);
FinalRound (State,ExpandedKey[Nr]);
}
//KeyExpansion 用于产生每一轮Round的Key值
//AddRoundKey初始密钥加法, ExpandedKey[0]就是CipherKey
// Round是标准的轮变化,Nr 由密钥长度和明文分组长度决定
// FinalRound 是最后一轮变换,相对于Round它要少一个步骤