要布尔方程组求解技术对于密码分析具有重要的现实意义.然而,在众多求解算法的实际计算过程中,难以抑制的空间需求增长与计算机系统有限的存储能力之间的矛盾,正是当前制约布尔方程组求解技术取得更大成果的最主要瓶颈.针对基于消项的求解算法,分析了该矛盾的产生根源,提出了解决途径,进而设计了一种全新的布尔多项式计算机表示,称之为BanYan.BanYan适用于基于首项约化的求解算法,如F4,F5,XL等算法.通过记录中间结果的生成信息而非其本身,避免算法实现陷入项数规模高速膨胀带来的巨大存储负担.与BDD和系数矩阵等基于项的传统布尔多项式表示相比,平均情况以及最坏情况下,使用BanYan表示法所需要的空间约为项数表示法的1/l(l为计算过程中产生的多项式的平均项数),从而显著提升布尔方程组求解算法的现实求解能力.
Abstract Solving Boolean equations for cryptanalysis has important practical significance. However, the contradiction of limited computer storage space and solving demand growth of existing algorithms is the major bottleneck for getting more progresses. This paper presents a high efficient Boolean polynomial representation, BanYan. BanYan is designed for Boolean equations solving algorithms based on leading-term eliminating, such as F4, F5, XLs. The essence of BanYan is that it only stores the information about how to generate intermediate polynomials, but not the intermediate polynomials themselves. The original polynomials in the polynomial ring for Gr6nbner bases computation are called root polynomials. The new generated polynomials come from root polynomials by terms multiplication and polynomials addition. So we only store the corresponding terms and polynomials connected with the root polynomials. As the intermediate polynomials grow, the whole storage structure is getting just like a tree. That is why we call this method BanYan. Although the scale of intermediate polynomials grows exponentially in the process of Gr6nbner bases computation, the generation information is becoming much more simpler, so BanYan can greatly reduce the space requirement and then improve the solving ability. Analysis and experiments show that compared with traditional representations based on terms, in average case and worst case the space requirement of BanYan has/-fold reduction. Here l is the average length of intermediate polynomials.