Boolean Functions: Difference between revisions
mNo edit summary |
mNo edit summary |
||
| Line 99: | Line 99: | ||
* If ๐,๐ are affine equivalent, then <math>W_g(u)=(-1)^{u\cdot L^{-1}(a)}W_f(L^{-1}(u))</math>. | * If ๐,๐ are affine equivalent, then <math>W_g(u)=(-1)^{u\cdot L^{-1}(a)}W_f(L^{-1}(u))</math>. | ||
=The Nonlinearity= | =Properties important for cryptographic applications= | ||
ย | |||
==Balanced functions== | |||
An ๐-variable Boolean function ๐ is called <em>balanced</em> if ๐<sub>๐ป</sub>(๐)=2<sup>๐-1</sup>, so its output is uniformly distributed. | |||
Such functions cannot have maximal degree. | |||
Most cryptographic applications use balanced Boolean functions. | |||
ย | |||
==The Nonlinearity== | |||
The <em>nonlinearity</em> of a function ๐ is defined as its minimal distance to affine functions, i.e. called ๐ the set of all affine ๐-variable functions, | The <em>nonlinearity</em> of a function ๐ is defined as its minimal distance to affine functions, i.e. called ๐ the set of all affine ๐-variable functions, | ||
<center><math> \mathcal{NL}(f)=\min_{g\in\mathcal{A}}d_H(f,g)</math></center> | <center><math> \mathcal{NL}(f)=\min_{g\in\mathcal{A}}d_H(f,g)</math></center> | ||
| Line 105: | Line 112: | ||
* For every ๐ we have <math>\mathcal{NL}(f)=2^{n-1}-\frac{1}{2}\max_{u\in\mathbb{F}_2^n}|W_f(u)|</math>. | * For every ๐ we have <math>\mathcal{NL}(f)=2^{n-1}-\frac{1}{2}\max_{u\in\mathbb{F}_2^n}|W_f(u)|</math>. | ||
* From Parseval relation we obtain the <em>covering radius bound</em> <math>\mathcal{NL}(f)\le2^{n-1}-2^{n/2-1}</math>. | * From Parseval relation we obtain the <em>covering radius bound</em> <math>\mathcal{NL}(f)\le2^{n-1}-2^{n/2-1}</math>. | ||
* A function achieving the covering radius bound with equality is called <em>bent</em> (๐ is an even integer). | * A function achieving the covering radius bound with equality is called <em>bent</em> (๐ is an even integer and the function is not balanced). | ||
* ๐ is bent if and only if ๐<sub>๐</sub>(๐ข)=ยฑ2<sup>๐/2</sup>, for every ๐ขโ๐ฝ<sub>2</sub><sup>๐</sup>. | * ๐ is bent if and only if ๐<sub>๐</sub>(๐ข)=ยฑ2<sup>๐/2</sup>, for every ๐ขโ๐ฝ<sub>2</sub><sup>๐</sup>. | ||
==Correlation-immunity order== | |||
A Boolean function ๐ is <em>๐-th order correlation-immune</em> if the probability distribution of the output is unaltered when any ๐ input variables are fixed. | |||
Balanced ๐-th order correlation-immune functions are called <em>๐-resilient</em>. | |||
Given ๐ a ๐-variable function with correlation-immunity of order ๐ then <center>๐+๐ยฐ๐โค๐.</center> | |||
If ๐ is also balanced, then <center>๐+๐ยฐ๐โค๐-1.</center> | |||
Revision as of 15:51, 11 October 2019
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 }.
Based on the algebraic degree we called ๐
- affine if ๐ยฐ๐=1, linear if ๐ยฐ๐=1 and ๐(๐)=0;
- quadratic if ๐ยฐ๐=2.
Affine functions are of the form ๐(๐ฅ)= ๐ขโ ๐ฅ+๐, for ๐ขโ๐ฝ2๐ and ๐โ๐ฝ2
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.
When we consider the trace representation of of a function, then the algebraic degree is given by , where ๐2(๐) is the Hamming weight of the binary expansion of ๐.
On the weight of a Boolean function
For ๐ a ๐-variable Booleand function the following relations about its weight are satisfied.
- If ๐ยฐ๐=1 then ๐๐ป(๐)=2๐-1.
- If ๐ยฐ๐=2 then ๐๐ป(๐)=2๐-1 or ๐๐ป(๐)=2๐-1ยฑ2๐-1-โ, with 0โคโโค๐/2.
- If ๐ยฐ๐โค๐ and ๐ nonzero then ๐๐ป(๐)โฅ2๐-๐.
- ๐๐ป(๐) is odd if and only if ๐ยฐ๐=๐.
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 ๐ฅโ๐ธ}.
Equivalences of Boolean functions
Two ๐-variable Boolean functions ๐,๐ are called affine equivalent if there exists a linear automorphism ๐ฟ and a vecor ๐ such that
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 an equivalence relation is called invariant.
- The degree is invariant under affine equivalence and, for not affine functions, also under EA-equivalence.
- If ๐,๐ are affine equivalent, then .
Properties important for cryptographic applications
Balanced functions
An ๐-variable Boolean function ๐ is called balanced if ๐๐ป(๐)=2๐-1, so its output is uniformly distributed. Such functions cannot have maximal degree. Most cryptographic applications use balanced Boolean functions.
The Nonlinearity
The nonlinearity of a function ๐ is defined as its minimal distance to affine functions, i.e. called ๐ the set of all affine ๐-variable functions,
- For every ๐ we have .
- From Parseval relation we obtain the covering radius bound .
- A function achieving the covering radius bound with equality is called bent (๐ is an even integer and the function is not balanced).
- ๐ is bent if and only if ๐๐(๐ข)=ยฑ2๐/2, for every ๐ขโ๐ฝ2๐.
Correlation-immunity order
A Boolean function ๐ is ๐-th order correlation-immune if the probability distribution of the output is unaltered when any ๐ input variables are fixed. Balanced ๐-th order correlation-immune functions are called ๐-resilient.
Given ๐ a ๐-variable function with correlation-immunity of order ๐ then
If ๐ is also balanced, then