Counting Boolean functions with faster points


Salagean A., ÖZBUDAK F.

DESIGNS CODES AND CRYPTOGRAPHY, vol.88, no.9, pp.1867-1883, 2020 (SCI-Expanded) identifier identifier

  • Publication Type: Article / Article
  • Volume: 88 Issue: 9
  • Publication Date: 2020
  • Doi Number: 10.1007/s10623-020-00738-7
  • Journal Name: DESIGNS CODES AND CRYPTOGRAPHY
  • Journal Indexes: Science Citation Index Expanded (SCI-EXPANDED), Scopus, PASCAL, Applied Science & Technology Source, Compendex, Computer & Applied Sciences, INSPEC, MathSciNet, zbMATH
  • Page Numbers: pp.1867-1883
  • Keywords: Boolean functions, Differential attacks, Linear structures
  • Middle East Technical University Affiliated: Yes

Abstract

Duan and Lai introduced the notion of "fast point" for a Boolean function f as being a direction a so that the algebraic degree of the derivative of f in direction a is strictly lower than the expected deg(f) - 1. Their study was motivated by the fact that the existence of fast points makes many cryptographic differential attacks (such as the cube and AIDA attack) more efficient. The number of functions with fast points was determined by Duan et al. in some special cases and by Salagean and Mandache-Salagean in the general case. We generalise the notion of fast point, defining a fast point of order l as being a fast point a so that the degree of the derivative of f in direction a is lower by at least l than the expected degree. We determine an explicit formula for the number of functions of degree d in n variables which have fast points of order l. Furthermore, we determine the number of functions of degree d in n variables which have a given number of fast points of order l, and also the number of functions which have a given profile in terms of the number of fast points of each order. We apply our results to compute the probability of a function to have fast points of order l. We also compute the number of functions which admit linear structures (i.e. their derivative in a certain direction is constant); such functions have a long history of being used in the analysis of symmetric ciphers.