In the mathematical field of combinatorics, a bent function is a special type of Boolean function. This means it takes several inputs and gives one output, each of which has two possible values (such as 0 and 1, or true and false). The name is figurative. Bent functions are so called because they are as different as possible from all linear functions (the simplest or "straight-line" functions) and from all affine functions (which preserve parallel lines). This makes the bent functions naturally hard to approximate. 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, see. However, their results have still not been declassified.
Bent functions are defined in terms of the Walsh transform. The Walsh transform of a Boolean function f: Zn
2 → Z2 is the function given by