非线性方程组的求解是代数攻击的关键一环.对于一个具体的密码系统,在转化为方程组后,由于其计算上的复杂性,一般采用先猜测部分变元,再进行求解分析的方法.本文首先给出了对于猜测部分变元后子系统平均求解时间的估计模型,提出了基于动态权值以及静态权值的猜测变元选则方法和面向寄存器的猜测方法.在计算Gr bner基的过程中,对变元序的定义采用了AB,S,S-rev,SM,DM等十种新的序.同时,提出了矛盾等式的概念,这对正确分析求解结果以及缩小猜测空间有重要作用.最后,我们对Bivium流密码算法的攻击时间进行了估计.结果表明,在最坏情况下,使用DM-rev序及Evy3的猜测位置,猜测60个变元有最优的攻击结果,约2 exp(39.16)秒.
Solving an equation system is a very important step in algebraic attack.For a cryptosystem,after being transformed to equations,we often need to employ guess-and-determine algorithm to estimate computational complexity of this attack.In this paper,we introduce a model to estimate average time in solving subsystems more accurately,and propose some criteria on selecting specific guessed variables to speed up the solving efficiency,which based on static weight and dynamic weight etc.For comupting Grbner bases,we use serveral varible order which are AB,S,S-rev etc.Meanwhile,we introduce the concept of conflicting equations,and show the importance for correct analysis and narrow guessing space.In the end,we estimate the time of attacking Bivium.Experiments showed that,in the worst cases,guessing 60 varibles in the Evy3 position and with DM-rev varible order will have the optimal result,that is about 2 exp(39.16) seconds.