论文部分内容阅读
代数攻击作为一种新的攻击方法对许多密码系统的安全性提出了挑战。它最初被用于公钥密码和分组密码的分析中,首次应用于流密码是在Courtois对Toyocrypt密码体制内部的相关特性分析中,随后代数攻击在流密码中也得到了广泛的应用。流密码由于其实现简单、加密速度快在军事、商业及其他领域中早已得到广泛应用。对流密码的攻击分析已有许多成熟的方法。本文首先介绍了流密码的各种攻击方法;并概括了基于流密码的代数攻击的一般原理、方法。代数攻击的主要思想是建立初始密钥和输出密钥流比特之间的代数方程,然后运用线性化手段或者XL算法来解方程组获得秘密的初始密钥。然而随着变量个数的增多解方程组的复杂度不断增高。代数免疫性用来衡量布尔函数抵抗代数攻击的能力,它定义为布尔函数的最低次数的零化函数的次数。代数攻击能否成功关键在于能否找到布尔函数的低次零化函数,从而降低解方程组的复杂度。本文用集合论的思想详细研究了零化函数的性质,并根据零化函数集合之间的包含并交得到了多个布尔函数的代数免疫度之间的大小关系。因此零化函数的性质对代数免疫性具有一定的影响;在此基础上研究了代数免疫性与其它密码性质之间的关系,并得到了用布尔函数的重量来估计其代数免疫度的一个表达式。求取代数免疫度对于设计布尔函数以及判断布尔函数抵抗代数攻击的能力都具有很重要的意义。本文提出了一种新的求取代数免疫度的算法,该算法不需要解方程组因此避免了高斯消元法。