论文部分内容阅读
自 20 世纪 70 年代以来一直广泛使用的“数据加密标准”(DES) 日益显出衰老的痕迹,而一种新的算法 -- Rijndael -- 正顺利地逐渐变成新标准。DES 算法是全世界最广泛使用的加密算法。除政府以外,银行业是加密的最大用户。所有用普通电话线处理业务的电子汇款 (EFT) 和自动取款机 (ATM) 都必须加密其财务数据,使外表安全。大规模银行业的标准是由美国国家标准学会 (ANSI) 制定的。1980年采用的ANSI X3.92 指定了要使用DES 算法。现在,ATM 仍例行公事地使用着 DES。但是,DES在其初期就取得的硬件方面的优势已经阻碍了其发展(如“智能卡”已开始显示其缺点),作为政府加密技术的基础,它已由“高级加密标准”(AES) 中包含的另一种加密算法代替了。AES 是指定的标准密码系统,未来将由政府和银行业用户使用。AES 用来实际编码数据的加密算法与以前的 DES 标准不同。
为了响应NIST征集AES算法,比利时密码专家Joan Daemen 和Vincent Rijmen 发明了Rijndael 算法,该算法是一种迭代型分组密码。从本质上来说,Rijndael算法是另一种加密算法Square的变型,Square算法是由L.Knudsen、J.Daemen和V.Rijmen于1997年发明的。到目前为止,除了由Rijndael算法设计者所发明的Square攻击以外,并没有有效的针对Rijndael算法的攻击方法,Square攻击适用于4轮、5轮和6轮的Rijndael算法,而典型的Rijndael算法根据密钥和分组长度可以达到10到14轮。
本论文的主要工作如下:
(1)详细分析了Rijndal算法,将其与DES算法进行了比较,并给出算法的伪C语言代码和测评结果。
(2)分析了目前常见的针对Rijndael算法的攻击方法,尤其是Square和逆序Square攻击方法。
(3)本文给出了Rijndael算法主要部件S盒,列变换及其逆运算以及整个轮变换的优化及其原理,从运算单位、数据访问时间和简化矩阵运算等方面提高了算法的实现效率。
(4)在原Rijndael算法的密钥扩展算法上进行了改进,使得在牺牲少许密钥装填速度的前提下,提高了Rijndael算法的安全性。