Rijndael算法是由比利时的两位密码专家提出的 ,一位是“国际质子世界”公司的 Joan Daemen博士 ,另一位是利文大学电器工程系的Vincent Rijmen博士。 Rijndael密码是一个迭代分组密码 ,其分组长度和密钥长度被设计为可变的 ,可以独立地指定为 12 8bit、192 bit或 2 5 6bit,这大大提高了它应用的灵活性。 Rijndael是一种10圈、12圈或 14圈的代替—线形变换网络 ,圈数取决于密钥长度 ,具体情况参阅表 1。要用 Rijn-dael处理的数据分组被分割成字节阵列 ,每一次密码运算都是面向字节的运算。 Rijndael的圈数由四层组成。在第一层 ,一个 8× 8的 S盒应用于每个字节 ;第二和第三层是线性混合层 ,阵列按行位移 ,按列混合 ;在第四层 ,子密钥字节异或到阵列的每个字节。而在最后一圈则省略列混合。

Rijndael算法流程
AES密码算法由 3部分组成 ,初始圈密钥加 ,Nr-1圈 ,结尾圈 ,其结构流程如下图 :

浅析Rijndael算法及其优点

Rijndael算法预期强度
对 Rijndael密码最有效的密钥恢复攻击是穷举密钥攻击。理论可以证明 ,从给定的明密文对中获得其它明密文对的信息不可能比通过穷举密钥密码。

Rijndael算法优点 :
1、Rijndael密码可以在 Pentium (Pro)上对分组的运算速度相当快 ,但随着表的规模的膨胀会使性能有所下降。
2 、Rijndael密码可以用少量的代码、少量的RAM和少量的转数在一个智能卡上实现 ,但ROM与性能之间有一些折衷。
3 、圈变换是并行设计的。这在未来的处理器和芯片中是一个重要的优点。
4、由于该密码没有使用算术运算,因而它没有倾向于大型或小型终端处理器结构。
5 、该密码是完全“自力更生的”。没有使用其他密码的构成变换、没有从声誉好的密码中“借”S-盒、没有从随机表中获得比特、没有用的数字或任何其它这种随意环节。
6、该密码没有将其安全性或部分安全性建立在算术运算之间模糊和不好理解的相互作用基础之上。
7、紧密的密码设计没有足够的空间来隐藏陷门。

Rijndael算法局限性 :
1、逆密码的实现相对比较复杂 ,它需要占用较多的代码和转数 ,几乎适于在智能卡上实现。
2 、在软件实现中 ,该密码及其逆密码是使用不同的代码和表。
3 、在硬件实现上 ,Rijndael逆密码只能共用实现 Rijndael的部分电路。