淺析Rijndael算法及其優(yōu)點(diǎn)
Rijndael算法是由比利時(shí)的兩位密碼專家提出的 ,一位是“國際質(zhì)子世界”公司的 Joan Daemen博士 ,另一位是利文大學(xué)電器工程系的Vincent Rijmen博士。 Rijndael密碼是一個迭代分組密碼 ,其分組長度和密鑰長度被設(shè)計(jì)為可變的 ,可以獨(dú)立地指定為 12 8bit、192 bit或 2 5 6bit,這大大提高了它應(yīng)用的靈活性。 Rijndael是一種10圈、12圈或 14圈的代替—線形變換網(wǎng)絡(luò) ,圈數(shù)取決于密鑰長度 ,具體情況參閱表 1。要用 Rijn-dael處理的數(shù)據(jù)分組被分割成字節(jié)陣列 ,每一次密碼運(yùn)算都是面向字節(jié)的運(yùn)算。 Rijndael的圈數(shù)由四層組成。在第一層 ,一個 8× 8的 S盒應(yīng)用于每個字節(jié) ;第二和第三層是線性混合層 ,陣列按行位移 ,按列混合 ;在第四層 ,子密鑰字節(jié)異或到陣列的每個字節(jié)。而在最后一圈則省略列混合。
Rijndael算法流程
AES密碼算法由 3部分組成 ,初始圈密鑰加 ,Nr-1圈 ,結(jié)尾圈 ,其結(jié)構(gòu)流程如下圖 :

Rijndael算法預(yù)期強(qiáng)度
對 Rijndael密碼最有效的密鑰恢復(fù)攻擊是窮舉密鑰攻擊。理論可以證明 ,從給定的明密文對中獲得其它明密文對的信息不可能比通過窮舉密鑰密碼。
Rijndael算法優(yōu)點(diǎn) :
1、Rijndael密碼可以在 Pentium (Pro)上對分組的運(yùn)算速度相當(dāng)快 ,但隨著表的規(guī)模的膨脹會使性能有所下降。
2 、Rijndael密碼可以用少量的代碼、少量的RAM和少量的轉(zhuǎn)數(shù)在一個智能卡上實(shí)現(xiàn) ,但ROM與性能之間有一些折衷。
3 、圈變換是并行設(shè)計(jì)的。這在未來的處理器和芯片中是一個重要的優(yōu)點(diǎn)。
4、由于該密碼沒有使用算術(shù)運(yùn)算,因而它沒有傾向于大型或小型終端處理器結(jié)構(gòu)。
5 、該密碼是完全“自力更生的”。沒有使用其他密碼的構(gòu)成變換、沒有從聲譽(yù)好的密碼中“借”S-盒、沒有從隨機(jī)表中獲得比特、沒有用的數(shù)字或任何其它這種隨意環(huán)節(jié)。
6、該密碼沒有將其安全性或部分安全性建立在算術(shù)運(yùn)算之間模糊和不好理解的相互作用基礎(chǔ)之上。
7、緊密的密碼設(shè)計(jì)沒有足夠的空間來隱藏陷門。
Rijndael算法局限性 :
1、逆密碼的實(shí)現(xiàn)相對比較復(fù)雜 ,它需要占用較多的代碼和轉(zhuǎn)數(shù) ,幾乎適于在智能卡上實(shí)現(xiàn)。
2 、在軟件實(shí)現(xiàn)中 ,該密碼及其逆密碼是使用不同的代碼和表。
3 、在硬件實(shí)現(xiàn)上 ,Rijndael逆密碼只能共用實(shí)現(xiàn) Rijndael的部分電路。



