Finding Boolean functions suitable for cryptographic primitives is a complex combinatorial optimization problem, since they must satisfy several properties to resist cryptanalytic attacks, and the space is very large, which grows super exponentially with the number of input variables. Recent research has focused on the study of Boolean functions that satisfy properties on restricted sets of inputs due to their importance in the development of the FLIP stream cipher. In this paper, we consider one such property, perfect balancedness, and investigate the use of Genetic Programming (GP) and Genetic Algorithms (GA) to construct Boolean functions that satisfy this property along with a good nonlinearity profile. We formulate the related optimization problem and define two encodings for the candidate solutions, namely the truth table and the weightwise balanced representations. Somewhat surprisingly, the results show that GA with the weightwise balanced representation outperforms GP with the classical truth table phenotype in finding highly nonlinear WPB functions. This finding is in stark contrast to previous findings on the evolution of globally balanced Boolean functions, where GP always performs best.
翻译:查找适合加密原始物的布尔函数是一个复杂的组合优化问题, 因为它们必须满足多个属性以抵御加密分析攻击, 空间非常大, 随输入变量的数量增长超快。 最近的研究侧重于研究布林函数, 满足有限投入组的属性, 因为它们在开发 FLIP 流密码中的重要性 。 在本文中, 我们考虑其中的一个属性, 完美的平衡, 并调查使用遗传方案( GP) 和遗传 Algorithms (GA) 来构建布林函数, 以与良好的非线性配置一起满足此属性。 我们为候选解决方案制定相关的优化问题, 并定义两个编码, 即真相表和加权平衡表达。 令人惊讶的是, 结果表明, 以加权平衡的表达方式代表GAGA 与古典的真话表的苯型在寻找高度非线性 WBBB函数时, 与以前关于全球平衡 Boule 函数演变的发现有鲜明对比, 而GPG总是表现最佳。