Abstract:
Two algorithms for transforming a balanced Boolean function with the aim of improving its nonlinearity are proposed. The basic operation of algorithms is the exchange of values $f(x)\leftrightarrow f(y)$. We call a pair $(x,y)$ improving if after the exchange the nonlinearity of the function increases; worsening if it decreases, and neutral if the nonlinearity does not change. Formulas for sets of improving and worsening pairs are given. The first algorithm uses only improving pairs, the second performs value exchanges on neutral pairs if the set of improving pairs is empty. The results of the experimental comparison of algorithms are presented.
Keywords:balanced Boolean functions, nonlinearity of Boolean function.