# Bent function

A **bent function** is a boolean function of <math>n</math> variables that has nonlinearity equal to <math>2^{n-1}-2^{n/2-1}</math>. The Walsh-Hadamard coefficients of a bent function are equal to <math>\pm 2^{n/2}</math>; this gives the alternative definition of bent functions. Bent functions have even number of variables, and achieve the bound of maximal possible nonlinearity. The high non-linearity makes them useful in cryptography, in the construction of stream ciphers or block ciphers. Bent functions are a specific case of plateaued functions.

## Contents

## Main properties

One of the most useful property distinguishing bent functions uses derivatives:

*A boolean function <math>f</math> is bent if and only if every derivative <math>D_uf(x)</math> is balanced for <math>u\neq0</math>.*

The minimal degree of bent function is <math>2</math> (the function <math>x_1x_2+x_3x_4+\cdots+x_{2n-1}x_{2n}</math> is bent), the maximal degree of bent function of <math>2n</math> variables is <math>n</math>.

The maximal dimension of linear space where a bent function of <math>2n</math> variables is constant also equals to <math>n</math>. A bent function which do have such linear space is called **normal**. Most constructions of bent functions give normal bent functions.

## Transformations on bent functions

It has long been known that adding an affine function to a bent function gives another bent function. Harris and Adams ^{[1]} show that permuting the input bits or adding affine functions to one or more inputs also give bent output.

## Dual bent function

Signs of Walsh-Hadamard coefficients can be transformed to another boolean function of the same number of variables. This function is also bent and is called dual bent function. The dual function to the dual function is the function itself.

## Bent function series

## Bent function constructions

One paper is ^{[2]}.

## Bent function enumeration

For the number of bent function <math>B_{2n}</math> very little is know. <math>B_2=8, B_4=896, B_6=5\,425\,430\,528</math>. Because degree of bent function is bounded by <math>n</math> it is easy to show that <math>B_{2n}\le2^{2^{2n-1}+\frac{1}{2}{2n\choose n}}</math>. This result can be slightly improved but still remain very far from the truth.

## References

- ↑ Sandy Harris & Carlisle Adams.
*Key-Dependent S-Box Manipulations*. Springer-Verlag. - ↑ C. Adams and S. Tavares (September, 1990). "
*Generating and Counting Binary Bent Sequences*".