论文部分内容阅读
分组密码在网络与信息安全领域发挥越来越重要的作用,分析现有分组密码算法的安全性是目前研究的热点。在分组密码算法安全性分析中,构造区分器是最关键的步骤。注意到,常见的区分器主要利用密码算法的扩散层来设计,而利用算法的混淆层(特别是S盒)来设计区分器仍是目前的研究难点。本文将基于密码S盒研究分组密码新区分方法。本文的主要研究成果如下: 1.提出AES算法新的4轮中间相遇区分器。基于S盒的输入输出比特关系,提出了AES新的4轮中间相遇区分器,利用新的4轮区分器对7轮AES-192进行分析。结果表明:攻击所需的数据复杂度为232个选择明文,存储复杂度为2182个AES分组长度,时间复杂度为2184次算法加密。与已有结果相比,新攻击所需的存储复杂度和时间复杂度明显降低。进一步,利用AES-192的密钥编排特点,对8轮AES-192进行分析,结果表明:新攻击所需的数据复杂度为232,存储复杂度为2176,时间复杂度为2178.6。与若干已有结果相比,数据复杂度明显降低。 2.提出S盒新分解方法及其应用。基于S盒的代数结构,提出S盒的局部分解方法,并对若干算法S盒(包括4位及8位S盒)进行测试。结果表明:Lblock、PRINCE、PRESENT和Midori等算法的4位S盒是安全稳固的;AES、SMS4、和ARIA等算法的8位S盒的代数结构良好;FOX算法的8位S盒代数结构稍差。发现Zhang等提出的高度非线性GF(2)8→GF(2)3及GF(2)8→GF(2)4S盒(Zhang WG,Pasalic E.Highly nonlinear balanced S-boxes with good differential properties[J].IEEE Transactions on Information Theory,2014,60(12):7970-7979)存在某些安全缺陷。此外,这些S盒进行差分操作后得到的差分S盒代数结构较弱。 3.给出几个高强度S盒的安全性新分析及其在Midori-64变体算法分析中的应用。利用求解非线性不变函数的方法,对Guo等在FSE2017上提出的五个高强度S盒进行测试,结果表明:五个S盒中的三个S盒存在二次非线性不变函数。如果用这三个S盒分别直接替换轻量级分组密码Midori-64的S盒,结果证实:Midori-64变体算法将存在严重的安全漏洞,即在非线性不变攻击下,存在264个弱密钥,攻击所需的数据及时间复杂度可忽略不计。这进一步表明这三个S盒存在缺陷。 4.提出Grain-v1算法新的猜测确定攻击方法。借鉴分组密码分析时所使用的轮子密钥猜测确定思想,结合Grain-v1算法内部状态转移特征和抽头位置关系,给出了一种新的猜测确定攻击方法。研究结果表明:新攻击所需的数据复杂度为279个密钥流比特,时间复杂度为286.3次算法加密,存储复杂度是280个160比特数据块。与目前已有的攻击方法相比,新攻击所需的时间复杂度更少。