论文部分内容阅读
分组密码是现代密码学一个重要的研究方向,其研究内容包括分组密码的设计理论、分组密码的分析方法、分组密码的工作模式以及分组密码的检测评估。其中,分组密码的设计与分析是一对相互依存的矛盾体。分组密码的安全性分析为分组密码的设计提供诸多有利的参考;而更加巧妙的设计又为分组密码的分析工作提出了新的挑战,两者相互促进、共同发展。早期的分组密码的研究主要围绕DES类的算法展开,进入20世纪90年代后,人们对DES类分组密码的研究更加深入,特别是差分密码分析(differential cryptanalysis)和线性密码分析(linear cryptanalysis)两种方法的相继提出,促使人们不得不研究新的分组密码算法结构。代替-置换(SP)结构的分组密码算法IDEA的出现,动摇了DES算法在分组密码中的位置。上世纪末,随着NIST的AES计划、欧洲NESSIE工程的相继实施,相应的一些候选算法、标准密码算法的安全性引起了国际密码学者广泛的关注,这些分析方法的研究和新的设计方法的探索极大地推动了分组密码发展。本文对分组密码算法标准化进程中的几个重要的分组密码算法的安全性进行分析,主要包括AES候选算法SAFER+、CAST-256和NESSIE候选算法SAFER++,以及轻量级分组密码算法PRIDE。在分析过程中,发现密码算法的特殊的安全属性并据此给出相应的分析结果。1、SAFER族分组密码算法新的不可能差分分析SAFER族分组密码算法包括SAFER K, SAFER SK, SAFER+和SAFER++四个算法。SAFERK是SAFER族分组密码的第一个算法,之后,为改进SAFER K的密钥方案又设计了SAFER SK算法。SAFER+是AES候选算法,并且定制版本的SAFER+在蓝牙的密钥分发时被用作MAC。SAFER++是SAFER+的加强版本,并且被选入NESSIE工程第二轮的候选算法。本文充分利用了线性层和S盒的性质,找到了新的SAFER SK, SAFER+, SAFER++的不可能差分路径。基于新的不可能差分路径我们给出了4轮的SAFER SK/128,4轮的SAFER+/128(256)以及5轮的SAFER++/128和5.5轮的SAFER++/256新的不可能差分分析结果。本文极大的改进了之前SAFER族分组密码算法的不可能差分分析结果,特别是对于蓝牙算法SAFER+而言,我们的分析结果从轮数上讲较其他方法也是目前最好的。2、分组密码算法CAST-256改进的线性分析CAST-256是AES首轮的候选算法,该算法基于分组密码算法CAST-128设计。CAST-256算法为广义的Feistel结构,使用8比特进32比特出的非满射的S盒,分组长度为128比特,密钥长度可以为128,160,192,224或者256比特,共有48轮。2009年,王美琴教授等找到了21轮的线性近似路线,并基于21轮的路线给出了24轮的CAST-256的线性分析。在2012年亚密会,Bogdanov等人用多维零相关线性分析方法给出了CAST-256的28轮的分析结果。本文通过仔细选择合适的活性轮函数,并利用前向4轮与后向4轮链接处的性质特点,构造出26轮的CAST-256的线性区分器,基于该区分器给出了32轮CAST-256的部分密钥恢复攻击。本文对CAST-256的分析结果在不考虑弱密钥的情况下,从轮数上讲是目前最好的分析结果。3、轻量级分组密码算法PRIDE的差分分析轻量级分组密码算法PRIDE是由Albrecht等人在美密2014上提出的,设计者称该算法的线性层安全与效率兼备。本文利用S盒和线性层的缺陷,找到了16个不同的2轮迭代的差分路径,构造了几条15轮的差分路径。基于其中一条差分路径,我们可以对18轮的PRIDE进行差分分析。数据、时间和空间复杂度分别为260,266和264。