Balanced Boolean function explained

In mathematics and computer science, a balanced Boolean function is a Boolean function whose output yields as many 0s as 1s over its input set. This means that for a uniformly random input string of bits, the probability of getting a 1 is 1/2.

Examples

Examples of balanced Boolean functions are the majority function, the "dictatorship function" that copies the first bit of its input to the output, and the parity check function that produces the exclusive or of the input bits.

If

f

is a bent function on

n

bits, and

\alpha

is any nonzero vector of

n

bits, then the function that maps

x

to

f(x)f(x\alpha)

is balanced. The bent functions are exactly the functions for which this is true, for all nonzero choices of

\alpha

.

The dictatorship function can be evaluated after examining only a single bit of the input, but that bit must always be examined. Benjamini, Schramm, and Wilson describe a more complex example based on percolation theory with the property that a randomized Las Vegas algorithm can compute the function exactly while ensuring that the probability of reading any particular input bit is small, roughly inversely proportional to the square root of the number of bits.

Application

Balanced Boolean functions are used in cryptography, where being balanced is one of "the most important criteria for cryptographically strong Boolean functions". If a function is not balanced, it will have a statistical bias, making it subject to cryptanalysis such as the correlation attack.