Vectorial Boolean Functions
Introduction
Let be the vector space of dimension over the finite field with two elements. Functions from to are called -functions or simply vectorial Boolean functions when the dimensions of the vector spaces are implicit or irrelevant.
Any -function can be written as a vector of -dimensional Boolean functions Failed to parse (Conversion error. Server ("https://wikimedia.org/api/rest_") reported: "Cannot get mml. Server problem."): {\displaystyle f_{1},f_{2},\ldots f_{n}} which are called the coordinate functions of .
Cryptanalytic attacks
Vectorial Boolean functions, also referred to as "S-boxes", or "Substitution boxes", in the context of cryptography, are a fundamental building block of block ciphers and are crucial to their security: more precisely, the resistance of the block cipher to cryptanalytic attacks directly depends on the properties of the S-boxes used in its construction.
The main types of cryptanalytic attacks that result in the definition of design criteria for S-boxes are the following:
- the differential attack introduced by Biham and Shamir; to resist it, an S-box must have low differential uniformity;
- the linear attack introduced by Matsui; to resist it, an S-box must have high nonlinearity;
- the higher order differential attack; to resist it, an S-box must have high algebraic degree;
- the interpolation attack; to resist it, the univariate representation of an S-box must have high degree, and its distance to the set of low univariate degree functions must be large;
- algebraic attacks;
- boomerang attack, introduced by Wagner; to resist it, an S-box must have low boomerang uniformity.
Generalities on Boolean functions
Walsh transform
The Walsh transform of is the integer-valued function Failed to parse (Conversion error. Server ("https://wikimedia.org/api/rest_") reported: "Cannot get mml. Server problem."): {\displaystyle W_{F}:\mathbb {F} _{2}^{n}\times \mathbb {F} _{2}^{m}} defined by
It can be observed that the Walsh transform of some is in fact the Fourier transform of the indicator of its graph, i.e. the Fourier transform of the function Failed to parse (Conversion error. Server ("https://wikimedia.org/api/rest_") reported: "Cannot get mml. Server problem."): {\displaystyle 1_{G_{F}}} defined as
The Walsh spectrum of is the multi-set of all the values of its Walsh transform for all pairs Failed to parse (Conversion error. Server ("https://wikimedia.org/api/rest_") reported: "Cannot get mml. Server problem."): {\displaystyle (u,v)\in \mathbb {F} _{2}^{n}\times {\mathbb {F} _{2}^{m}}^{*}} . The extended Walsh spectrum of is the multi-set of the absolute values of its Walsh transform, and the Walsh support of is the set of pairs Failed to parse (Conversion error. Server ("https://wikimedia.org/api/rest_") reported: "Cannot get mml. Server problem."): {\displaystyle (u,v)} for which .
Representations
Vectorial Boolean functions can be represented in a number of different ways.
Algebraic Normal Form
An -function can be uniquely represented as a polynomial with coefficients in of the form
where Failed to parse (Conversion error. Server ("https://wikimedia.org/api/rest_") reported: "Cannot get mml. Server problem."): {\displaystyle {\cal {P}}(N)} is the power set of and the coefficients belong to . This representation is known as the algebraic normal form (ANF) of . The algebraic degree of , denoted is then defined as the global degree of its ANF, i.e.
and is equal to the maximal algebraic degree of the coordinate functions of .
Univariate Representation
If we identify the vector space with the finite field with elements, then any -function can be uniquely represented as univariate polynomial over of degree at most Failed to parse (Conversion error. Server ("https://wikimedia.org/api/rest_") reported: "Cannot get mml. Server problem."): {\displaystyle 2^{n}-1} taking the form
This is the univariate representation of .
The algebraic degree of can be expressed using the 2-weight of the exponents of the univariate representation. Given a positive integer , its 2-weight is the number of summands in its representation as a sum of powers of two; that is, if we write Failed to parse (Conversion error. Server ("https://wikimedia.org/api/rest_") reported: "Cannot get mml. Server problem."): {\displaystyle j=\sum _{i=0}^{n-1}j_{s}\cdot 2^{s}} for , then its 2-weigt is Failed to parse (Conversion error. Server ("https://wikimedia.org/api/rest_") reported: "Cannot get mml. Server problem."): {\displaystyle w_{2}(j)=\sum _{i=0}^{n-1}j_{s}} . The algebraic degree of can the be written as
Equivalence Relations
Two vectorial Boolean functions are called
- affine (linear) equivalent if there exist affine (linear) permutations of and respectively, such that ;
- extended affine equivalent (shortly EA-equivalent) if there exists Failed to parse (Conversion error. Server ("https://wikimedia.org/api/rest_") reported: "Cannot get mml. Server problem."): {\displaystyle A:\mathbb {F} _{2}^{n}\rightarrow \mathbb {F} _{2}^{m}} affine such that , with affine equivalent to ;
- Carlet-Charpin-Zinoviev equivalent (shortly CCZ-equivalent) if there exists an affine permutation Failed to parse (Conversion error. Server ("https://wikimedia.org/api/rest_") reported: "Cannot get mml. Server problem."): {\displaystyle {\mathcal {L}}} of such that the image of the graph of is the graph of , i.e. with and .
Basic Properties of Vectorial Boolean Functions
Balanced Functions
An -function is called balanced if it takes every value of precisely Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle 2^{n-m}} times. In particular, an Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle (n,n)} -function is balanced if and only if it is a permutation.
An Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle (n,m)} -function Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle F} is balanced if and only if its component functions are balanced, i.e. if and only if Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle v \cdot F} is balanced for every Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle v \in {\mathbb{F}_2^m}^*} .
