In
mathematics and
computer science
Computer science is the study of computation, automation, and information. Computer science spans theoretical disciplines (such as algorithms, theory of computation, information theory, and automation) to practical disciplines (includin ...
, a balanced boolean function is a
boolean function
In mathematics, a Boolean function is a function whose arguments and result assume values from a two-element set (usually , or ). Alternative names are switching function, used especially in older computer science literature, and truth 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 of balanced boolean functions are the function that copies the first bit of its input to the output,
and the function that produces the
exclusive or
Exclusive or or exclusive disjunction is a logical operation that is true if and only if its arguments differ (one is true, the other is false).
It is symbolized by the prefix operator J and by the infix operators XOR ( or ), EOR, EXOR, , ...
of the input bits.
Usage
Balanced boolean functions are primarily used in
cryptography
Cryptography, or cryptology (from grc, , translit=kryptós "hidden, secret"; and ''graphein'', "to write", or ''-logia'', "study", respectively), is the practice and study of techniques for secure communication in the presence of adve ...
. If a function is not balanced, it will have a
statistical bias
Statistical bias is a systematic tendency which causes differences between results and facts. The bias exists in numbers of the process of data analysis, including the source of the data, the estimator chosen, and the ways the data was analyzed. ...
, making it subject to
cryptanalysis such as the
correlation attack
In cryptography, correlation attacks are a class of known-plaintext attacks for breaking stream ciphers whose keystream is generated by combining the output of several linear-feedback shift registers (LFSRs) using a Boolean function. Correlatio ...
.
See also
*
Bent function
In the mathematics, mathematical field of combinatorics, a bent function is a special type of Boolean function which is maximally non-linear; it is as different as possible from the set of all linear map, linear and affine functions when measure ...
References
Balanced boolean functions that can be evaluated so that every input bit is unlikely to be read Annual ACM Symposium on Theory of Computing
Boolean algebra
{{crypto-stub