In a deduction system with some propositions and some known relations among these propositions, people usually care about the minimum of propositions by which all other propositions can be deduced according to these known relations. Here we call it a minimizing deduction system. Its common solution is the guess and determine method. In this paper we propose a method of solving the minimizing deduction system based on MILP. Firstly, we introduce the conceptions of state variable, path variable and state copy, which enable us to characterize all rules by inequalities. Then we reduce the deduction problem to a MILP problem and solve it by the Gurobi optimizer. As its applications, we analyze the security of two stream ciphers SNOW2.0 and Enocoro-128v2 in resistance to guess and determine attacks. For SNOW 2.0, it is surprising that it takes less than 0.1s to get the best solution of 9 known variables in a personal Macbook Air(Early 2015, Double Intel Core i5 1.6GHZ, 4GB DDR3). For Enocoro-128v2, we get the best solution of 18 known variables within 3 minutes. What's more, we propose two improvements to reduce the number of variables and inequalities which significantly decrease the scale of the MILP problem.
翻译:首先,我们引入了州变量、路径变量和州副本的概念,从而使我们能够通过不平等来描述所有规则。然后我们将扣减问题降低到MILP问题,并通过Gurobi优化器来解决这个问题。作为应用,我们分析两个流密码SNOW2.0和Enocoro-128v2的安全性,以抵抗猜测和确定攻击。关于SNOW 2.0,我们很惊讶的是,在个人Macbook Air(Early,2015年,双英特尔核心i51.6GHZ,4GB DDR3)中,我们用不到0.1来找到9个已知变量的最佳解决方案。关于Enocoro-128v2,我们作为应用,我们分析了两个流密码SNOW2.0和Enocoro-128v2的安全性,以抵抗猜测和确定攻击。关于SNOW 2.0,我们建议两个变异性的规模要小于2,以缩小两个变性,缩小了MIP的变性。