Boolean Functions
Introduction
Let π½2π be the vector space of dimension π over the finite field with two elements. The vector space can also be endowed with the structure of the field, the finite field with 2π elements, π½2π. A function is called a Boolean function in dimenstion π (or π-variable Boolean function).
Given , the support of x is the set . The Hamming weight of π₯ is the size of its support (). Similarly the Hamming weight of a Boolean function π is the size of its support, i.e. the set . The Hamming distance of two functions π,π is the size of the set .
Representation of a Boolean function
There exist different ways to represent a Boolean function. A simple, but often not efficient, one is by its truth-table. For example consider the following truth-table for a 3-variable Boolean function π.
| π₯ | π(π₯) | ||
|---|---|---|---|
| 0 | 0 | 0 | 0 |
| 0 | 0 | 1 | 1 |
| 0 | 1 | 0 | 0 |
| 0 | 1 | 1 | 0 |
| 1 | 0 | 0 | 0 |
| 1 | 0 | 1 | 1 |
| 1 | 1 | 0 | 0 |
| 1 | 1 | 1 | 1 |
Algebraic normal form
An π-variable Boolean function can be represented by a multivariate polynomial over π½2 of the form
Such representation is unique and it is the algebraic normal form of π (shortly ANF).
The degree of the ANF is called the algebraic degree of the function, πΒ°π=max { |πΌ| : ππΌ≠0 }.
Trace representation
We identify the vector space with the finite field and we consider π an π-variable Boolean function of even weight (hence of algebraic degree at most π-1). The map admits a uinque representation as a univariate polynomial of the form
with Ξπ set of integers obtained by choosing one element in each cyclotomic coset of 2 ( mod 2π-1), π°(π«) size of the cyclotomic coset containing π«, ππ« ∈ π½2π°(π«), Trπ½2π°(π«)/π½2 trace function from π½2π°(π«) to π½2.
Such representation is also called the univariate representation .
π can also be simply presented in the form where π is a polynomial over the finite field F2π but such representation is not unique, unless π°(π«)=π for every π« such that ππ«≠0.
The Walsh transform
The Walsh transform ππ is the descrete Fourier transform of the sign function of π, i.e. (-1)π(π₯). With an innner product in π½2π π₯Β·π¦, the value of ππ at π’βπ½2π is the following sum (over the integers)
The set is the Walsh support of π.
Properties of the Walsh transform
For every π-variable Boolean function π we have the following relations.
- Inverse Walsh transform: for any element π₯ of π½2π we have
- Parseval's relation:
- Poisson summation formula: for any vector subspace πΈ of π½2π and for any elements π,π in π½2π
for πΈβ the orthogonal subspace of πΈ,{π’βπ½2π : π’Β·π₯=0, for all π₯βπΈ}.
Equivalence of Boolean functions
Two π-variable Boolean functions π,π are called extended-affine equivalent (shortly EA-equivalent) if there exists a linear automorphism πΏ, an affine Boolean function π and a vecor π such that π(π₯) = π(πΏ(π₯)+π)+π(π₯). A parameter that is preserved by EA-equivalence is called EA-invariant.