Vectorial Boolean Functions: Difference between revisions
No edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
= Introduction = | = Introduction = | ||
Let <math>\mathbb{F}_2^n</math> be the vector space of dimension <math>n</math> over the finite field <math>\mathbb{F}_2</math> with two elements. Functions from <math>\mathbb{F}_2^ | Let <math>\mathbb{F}_2^n</math> be the vector space of dimension <math>n</math> over the finite field <math>\mathbb{F}_2</math> with two elements. Functions from <math>\mathbb{F}_2^n</math> to <math>\mathbb{F}_2^m</math> are called <span class="definition"><math>(n,m)</math>-functions</span> or simply <span class="definition">vectorial Boolean functions</span> when the dimensions of the vector spaces are implicit or irrelevant. | ||
Any <math>(m | Any <math>(n,m)</math>-function <math>F</math> can be written as a vector <math>F = (f_1, f_2, \ldots f_n)</math> of <math>m</math>-dimensional [[Boolean functions]] <math>f_1, f_2, \ldots f_n</math> which are called the <span class="definition">coordinate functions</span> of <math>F</math>. | ||
== Cryptanalytic attacks == | == Cryptanalytic attacks == | ||
Line 18: | Line 18: | ||
== Walsh transform == | == Walsh transform == | ||
The <span class="definition">Walsh transform</span> of <math>F : \mathbb{F}_2^ | The <span class="definition">Walsh transform</span> of <math>F : \mathbb{F}_2^n \rightarrow \mathbb{F}_2^m</math> is the integer-valued function <math>W_F : \mathbb{F}_2^n \times \mathbb{F}_2^m</math> defined by | ||
<div class="equation><math> | <div class="equation><math> | ||
W_F(u,v) = \sum_{x \in \mathbb{F}_2^ | W_F(u,v) = \sum_{x \in \mathbb{F}_2^n} (-1)^{v \cdot F(x) + u \cdot x} | ||
</math></div> | </math></div> | ||
Line 32: | Line 32: | ||
</math></div> | </math></div> | ||
The <span class="definition">Walsh spectrum</span> of <math>F</math> is the multi-set of all the values of its Walsh transform for all pairs <math>(u,v) \in \mathbb{F}_2^ | The <span class="definition">Walsh spectrum</span> of <math>F</math> is the multi-set of all the values of its Walsh transform for all pairs <math>(u,v) \in \mathbb{F}_2^n \times {\mathbb{F}_2^m}^*</math>. The <span class="definition">extended Walsh spectrum</span> of <math>F</math> is the multi-set of the absolute values of its Walsh transform, and the <span class="definition">Walsh support</span> of <math>F</math> is the set of pairs <math>(u,v)</math> for which <math>W_F(u,v) \ne 0</math>. | ||
== Representations == | == Representations == | ||
Vectorial Boolean functions can be represented in a number of different ways. | |||
=== Algebraic Normal Form === | |||
An <math>(n,m)</math>-function <math>F</math> can be uniquely represented as a polynomial with coefficients in <math>\mathbb{F}_2^m</math> of the form | |||
<div class="equation><math> | |||
F(x)=\sum_{I \in {\cal P}(N)} a_I\, \left(\prod_{i\in I}x_i\right)=\sum_{I\in {\cal P}(N)} a_I\, x^I, | |||
</math></div> | |||
where <math>{\cal P}(N)</math> is the power set of <math>N = \{ 1, \ldots, n \}</math> and the coefficients <math>a_I</math> belong to <math>\mathbb{F}_2^m</math>. This representation is known as the <span class="definition">algebraic normal form (ANF)</span> of <math>F</math>. The <span class="definition">algebraic degree</span> of <math>F</math>, denoted <math>d^\circ(F)</math> is then defined as the global degree of its ANF, i.e. | |||
<div class="equation><math> | |||
d^\circ(F)=\ max \{|I|/\, a_I\neq (0,\dots ,0); I\in {\cal P}(N)\} | |||
</math></div> | |||
and is equal to the maximal algebraic degree of the coordinate functions of <math>F</math>. |
Revision as of 21:02, 30 December 2018
Introduction
Let [math]\displaystyle{ \mathbb{F}_2^n }[/math] be the vector space of dimension [math]\displaystyle{ n }[/math] over the finite field [math]\displaystyle{ \mathbb{F}_2 }[/math] with two elements. Functions from [math]\displaystyle{ \mathbb{F}_2^n }[/math] to [math]\displaystyle{ \mathbb{F}_2^m }[/math] are called [math]\displaystyle{ (n,m) }[/math]-functions or simply vectorial Boolean functions when the dimensions of the vector spaces are implicit or irrelevant.
Any [math]\displaystyle{ (n,m) }[/math]-function [math]\displaystyle{ F }[/math] can be written as a vector [math]\displaystyle{ F = (f_1, f_2, \ldots f_n) }[/math] of [math]\displaystyle{ m }[/math]-dimensional Boolean functions [math]\displaystyle{ f_1, f_2, \ldots f_n }[/math] which are called the coordinate functions of [math]\displaystyle{ F }[/math].
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.
Generalities on Boolean functions
Walsh transform
The Walsh transform of [math]\displaystyle{ F : \mathbb{F}_2^n \rightarrow \mathbb{F}_2^m }[/math] is the integer-valued function [math]\displaystyle{ W_F : \mathbb{F}_2^n \times \mathbb{F}_2^m }[/math] defined by
It can be observed that the Walsh transform of some [math]\displaystyle{ F }[/math] is in fact the Fourier transform of the indicator of its graph, i.e. the Fourier transform of the function [math]\displaystyle{ 1_{G_F} }[/math] defined as
The Walsh spectrum of [math]\displaystyle{ F }[/math] is the multi-set of all the values of its Walsh transform for all pairs [math]\displaystyle{ (u,v) \in \mathbb{F}_2^n \times {\mathbb{F}_2^m}^* }[/math]. The extended Walsh spectrum of [math]\displaystyle{ F }[/math] is the multi-set of the absolute values of its Walsh transform, and the Walsh support of [math]\displaystyle{ F }[/math] is the set of pairs [math]\displaystyle{ (u,v) }[/math] for which [math]\displaystyle{ W_F(u,v) \ne 0 }[/math].
Representations
Vectorial Boolean functions can be represented in a number of different ways.
Algebraic Normal Form
An [math]\displaystyle{ (n,m) }[/math]-function [math]\displaystyle{ F }[/math] can be uniquely represented as a polynomial with coefficients in [math]\displaystyle{ \mathbb{F}_2^m }[/math] of the form
where [math]\displaystyle{ {\cal P}(N) }[/math] is the power set of [math]\displaystyle{ N = \{ 1, \ldots, n \} }[/math] and the coefficients [math]\displaystyle{ a_I }[/math] belong to [math]\displaystyle{ \mathbb{F}_2^m }[/math]. This representation is known as the algebraic normal form (ANF) of [math]\displaystyle{ F }[/math]. The algebraic degree of [math]\displaystyle{ F }[/math], denoted [math]\displaystyle{ d^\circ(F) }[/math] 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 [math]\displaystyle{ F }[/math].