AES,又称Rijndael加密算法,在2000年被NIST选中以用来替换过时的数据加密标准(DES)。AES是一种分组密码,这意味着加密发生在固定长度的比特组上。在我们的例子中,算法定义块长度为128位。AES支持128,192和256位的密钥长度。每个块都经历多轮转换。我将在这里省略算法的细节,对算法感兴趣的读者可以参考维基百科中有关AES的文章。这里需要指出的是块大小受转换轮次的重复次数影响(128位密钥是10个周期,256位为14个周期),而密钥长度并不影响它的大小。一直到2009年5月