Lably
Skip to content

Bent function

Special type of Boolean function

  • 8 min read
  • 5 chapters

Related on Lably

Through Mathematics, Combinatorics and Truth table

The maximal nonlinearity means approximating a bent function by an affine (linear) function is hard, a useful property in the defence against linear cryptanalysis. In addition, detecting a change in the output of the function yields no information about what change occurred in the inputs, making the function immune to differential cryptanalysis.

Bent functions were defined and named in the 1960s by Oscar Rothaus in research not published until 1976. They have been extensively studied for their applications in cryptography, but have also been applied to spread spectrum, coding theory, and combinatorial design. The definition can be extended in several ways, leading to different classes of generalized bent functions that share many of the useful properties of the original.

It is known that V. A. Eliseev and O. P. Stepchenkov studied bent functions, which they called minimal functions, in the USSR in 1962. However, their results have still not been declassified.

Bent functions are also known as perfectly nonlinear (PN) Boolean functions. Certain functions that are as close as possible to perfect nonlinearity (e.g. for functions of an odd number of bits, or vectorial functions) are known as almost perfectly nonlinear (APN).

Walsh transform

Bent functions are defined in terms of the Walsh transform. The Walsh transform of a Boolean function f:Z2n→Z2 is the function f^:Z2n→Z given by

f^(a)=∑x∈Z2n(−1)f(x)+a⋅x,

where a · x = a1x1 + a2x2 + … + anxn (mod 2) is the dot product in Zn
2. Alternatively, let S0(a) = { x ∈ Zn
2 : f(x) = a · x } and S1(a) = { x ∈ Zn
2 : f(x) ≠ a · x }. Then |S0(a)| + |S1(a)| = 2n and hence

f^(a)=|S0(a)|−|S1(a)|=2|S0(a)|−2n.

For any Boolean function f and a ∈ Zn
2, the transform lies in the range

−2n≤f^(a)≤2n.

Moreover, the linear function f0(x) = a · x and the affine function f1(x) = a · x + 1 correspond to the two extreme cases, since

f^0(a)=2n,f^1(a)=−2n.

Thus, for each a ∈ Zn
2 the value of f^(a) characterizes where the function f(x) lies in the range from f0(x) to f1(x).

Sign in to keep reading

4 more chapters are free with a Lably account.

More in Computing and communication