论文部分内容阅读
差分故障攻击是一种间接攻击方法,其对分组密码和流密码均有很好的攻击效果。自1997年Biham提出差分故障攻击的概念以来,利用该方法可攻击DES算法、椭圆曲线加密体制、3DES算法、SMS4算法、ARIA算法、CLEFIA算法、AES算法等诸多密码算法。本文主要通过求解混合方程来研究SHACAL-2算法和MD5加密模式非线性部件的差分特性。并利用该差分特性对其进行差分故障攻击。主要结果如下:(1)证明了当SHACAL-2算法选择函数的第1个位置输入差分非零或者择多函数的前两个位置中任意一个输入差分非零时(其它位置差分均为零),差分方程解的个数只与输入差分的重量有关。将这一结果运用到SHACAL-2算法的差分故障攻击中,从理论上解释了有效的差分故障位置为E,并证明了至少需要160个随机故障才能以超过60%的成功概率恢复512比特的种子密钥,而至少需要240个随机故障才能以超过98%的成功概率恢复512比特的种子密钥。(2通过研究MD5加密模式中轮函数的差分特性,给出了一个逐比特求解差分方程的快速算法。利用该算法可以实现从倒数第三轮对MD5加密模式进行差分故障攻击。研究结果表明如果从倒数第三轮开始导入故障,平均只需56个故障,即可成功恢复512比特的种子密钥,而如果从倒数第二轮开始导入故障,平均需要112个故障才能成功恢复512比特的种子密钥。故与从倒数第二轮开始导入故障相比,从倒数第三轮导入故障不仅可以将故障攻击的轮数提前而且恢复种子密钥所需的故障数减少了一半。