Vectorial Boolean Functions: Difference between revisions

From Boolean
No edit summary
 
(2 intermediate revisions by one other user not shown)
Line 2: Line 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.
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>(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>.
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| 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 59: Line 59:
If we identify the vector space <math>\mathbb{F}_2^n</math> with the finite field <math>\mathbb{F}_{2^n}</math> with <math>2^n</math> elements, then any <math>(n,n)</math>-function can be uniquely represented as univariate polynomial over <math>\mathbb{F}_{2^n}</math> of degree at most <math>2^n-1</math> taking the form
If we identify the vector space <math>\mathbb{F}_2^n</math> with the finite field <math>\mathbb{F}_{2^n}</math> with <math>2^n</math> elements, then any <math>(n,n)</math>-function can be uniquely represented as univariate polynomial over <math>\mathbb{F}_{2^n}</math> of degree at most <math>2^n-1</math> taking the form


<div class="equation><math>
<div class="equation"><math>
F(x)=\sum_{j=0}^{2^n-1}\delta_jx^j~,~~\delta_j\in \Bbb{F}_{2^n}.
F(x)=\sum_{j=0}^{2^n-1}\delta_jx^j~,~~\delta_j\in \Bbb{F}_{2^n}.
</math></div>
</math></div>
Line 70: Line 70:
\max_{j=0,\dots ,2^n-1/\, \delta_j\neq 0}w_2(j).
\max_{j=0,\dots ,2^n-1/\, \delta_j\neq 0}w_2(j).
</math></div>
</math></div>
== Equivalence Relations ==
Two vectorial Boolean functions <math>F,F':\mathbb{F}_2^n\rightarrow\mathbb{F}_2^m</math> are called
* affine (linear) equivalent if there exist <math>A_1,A_2</math> affine (linear) permutations of <math>\mathbb{F}_2^m</math> and <math>\mathbb{F}_2^n</math> respectively, such that <math>F'=A_1\circ F\circ A_2</math>;
* extended affine equivalent (shortly EA-equivalent) if there exists <math>A:\mathbb{F}_2^n\rightarrow\mathbb{F}_2^m</math> affine such that <math>F'=F''+A</math>, with <math>F''</math> affine equivalent to <math>F</math>;
* Carlet-Charpin-Zinoviev equivalent (shortly CCZ-equivalent) if there exists an affine permutation <math>\mathcal{L}</math> of <math>\mathbb{F}_2^n\times\mathbb{F}_2^m</math> such that the image of the graph of <math>F</math> is the graph of <math>F'</math>, i.e. <math>\mathcal{L}(G_F)=G_{F'}</math> with <math>G_F=\{ (x,F(x)) : x\in\mathbb{F}_2^n\}</math> and <math>G_{F'}=\{ (x,F'(x)) : x\in\mathbb{F}_2^n\}</math>.


== Basic Properties of Vectorial Boolean Functions ==
== Basic Properties of Vectorial Boolean Functions ==

Latest revision as of 13:01, 8 October 2024

Introduction

Let 𝔽2n be the vector space of dimension n over the finite field 𝔽2 with two elements. Functions from 𝔽2n to 𝔽2m are called (n,m)-functions or simply vectorial Boolean functions when the dimensions of the vector spaces are implicit or irrelevant.

Any (n,m)-function F can be written as a vector F=(f1,f2,…fn) of m-dimensional Boolean functions f1,f2,…fn which are called the coordinate functions of F.

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 F:𝔽2n→𝔽2m is the integer-valued function WF:𝔽2n×𝔽2m defined by

WF(u,v)=∑x∈𝔽2n(−1)v⋅F(x)+u⋅x

It can be observed that the Walsh transform of some F is in fact the Fourier transform of the indicator of its graph, i.e. the Fourier transform of the function 1GF defined as

1GF(x,y)={1F(x)=y0F(x)≠y.

The Walsh spectrum of F is the multi-set of all the values of its Walsh transform for all pairs (u,v)∈𝔽2n×𝔽2m∗. The extended Walsh spectrum of F is the multi-set of the absolute values of its Walsh transform, and the Walsh support of F is the set of pairs (u,v) for which WF(u,v)≠0.

Representations

Vectorial Boolean functions can be represented in a number of different ways.

Algebraic Normal Form

An (n,m)-function F can be uniquely represented as a polynomial with coefficients in 𝔽2m of the form

F(x)=∑I∈𝒫(N)aI(∏i∈Ixi)=∑I∈𝒫(N)aIxI,

where 𝒫(N) is the power set of N={1,…,n} and the coefficients aI belong to 𝔽2m. This representation is known as the algebraic normal form (ANF) of F. The algebraic degree of F, denoted d∘(F) is then defined as the global degree of its ANF, i.e.

d∘(F)= max{|I|/aI≠(0,…,0);I∈𝒫(N)}

and is equal to the maximal algebraic degree of the coordinate functions of F.

Univariate Representation

If we identify the vector space 𝔽2n with the finite field 𝔽2n with 2n elements, then any (n,n)-function can be uniquely represented as univariate polynomial over 𝔽2n of degree at most 2n−1 taking the form

F(x)=∑j=02n−1δjxj,δj∈𝔽2n.

This is the univariate representation of F.

The algebraic degree of F can be expressed using the 2-weight of the exponents of the univariate representation. Given a positive integer j, its 2-weight is the number of summands in its representation as a sum of powers of two; that is, if we write j=∑i=0n−1js⋅2s for js∈{0,1}, then its 2-weigt is w2(j)=∑i=0n−1js. The algebraic degree of F can the be written as

maxj=0,…,2n−1/δj≠0w2(j).

Basic Properties of Vectorial Boolean Functions

Balanced Functions

An (n,m)-function F is called balanced if it takes every value of 𝔽2m precisely 2n−m times. In particular, an (n,n)-function is balanced if and only if it is a permutation.

An (n,m)-function F is balanced if and only if its component functions are balanced, i.e. if and only if v⋅F is balanced for every v∈𝔽2m∗.