1 Introduction
Bent functions were introduced by Rothaus [
23], as a particular class of Boolean functions that has many interesting connections to other combinatorial objects such as Hadamard matrices and difference sets. Their applications in cryptography come in the first place from their characterization as a class of Boolean functions achieving the highest nonlinearity possible (thus being at the largest distance to the set of affine functions). A survey article [
8] describes the main properties and construction methods related to bent functions, whereas their detailed study is given in the book of Mesnager [
21]. On the other hand, for the applications of Boolean functions in cryptography we refer to the textbooks of Carlet [
7] and Cusick and Stanica [
11].
Two known primary classes of bent functions are the Maiorana–McFarland (
\({{{\mathcal {M}}}{{\mathcal {M}}}}\)) class and the Partial Spreads (
\({{\mathcal {P}}}{{\mathcal {S}}}\)) class, which were introduced in the 1970s in [
19] and [
12], respectively. Since it is not a simple matter to construct elements of the
\({{\mathcal {P}}}{{\mathcal {S}}}\) class practically, an explicit subclass of
\({{\mathcal {P}}}{{\mathcal {S}}}\), denoted by
\({{\mathcal {P}}}{{\mathcal {S}}}_{ap}\), was specified by Dillon in [
13]. It seems quite unrealistic that other primary classes are yet to be discovered and therefore many secondary constructions (using known bent functions to build possibly new ones) have been proposed in the literature. A non-exhaustive list of various secondary constructions can be found in the following works [
4,
6,
9,
16,
20,
24,
30]. However, the question regarding the class inclusion of bent functions stemming from these secondary construction methods is commonly left open, apart from a few works [
1,
4,
18,
20,
26‐
28] where some explicit families of bent functions provably outside the completed
\({{{\mathcal {M}}}{{\mathcal {M}}}}\) class are given. The main purpose of this article is to address the class inclusion more properly and thus also to contribute to a classification of bent functions. Nevertheless, the problem of finding efficient indicators for the inclusion/exclusion in the completed
\({{\mathcal {P}}}{{\mathcal {S}}}\) class remains unanswered. This problem is equivalent to finding cliques in a graph which is known to be NP-hard, see also [
10, p. 43].
In this article, we employ a fundamental result (though not stated explicitly in the literature) concerning the inclusion in the completed
\({{{\mathcal {M}}}{{\mathcal {M}}}}\) class (denoted
\({{{\mathcal {M}}}{{\mathcal {M}}}}^\#\)), which involves the dual function of a given bent function. More precisely, it can be shown that a bent function
f is in/outside
\({{{\mathcal {M}}}{{\mathcal {M}}}}^\#\) if and only if its bent dual is in/outside
\({{{\mathcal {M}}}{{\mathcal {M}}}}^\#\). This result also implies that given a single bent function outside
\({{{\mathcal {M}}}{{\mathcal {M}}}}^\#\) (or alternatively its dual) one essentially derives a whole equivalence class whose members are also outside
\({{{\mathcal {M}}}{{\mathcal {M}}}}^\#\). To verify these results practically, we also propose a rather simple algorithm for determining the inclusion in
\({{{\mathcal {M}}}{{\mathcal {M}}}}^\#\). The algorithm uses the graph-theoretic notion of a clique (complete subgraph) to implement the second-order derivative criterion of Dillon [
12], commonly used when determining the inclusion/exclusion in
\({{{\mathcal {M}}}{{\mathcal {M}}}}^\#\). Its performance is quite satisfactory, allowing us to test the class inclusion for up to 12 variables efficiently. The above mentioned fact regarding a bent function and its dual (with respect to the inclusion in
\({{{\mathcal {M}}}{{\mathcal {M}}}}^\#\)) is then useful when the so-called 4-decomposition of bent functions (say on
\({\mathbb {F}}_2^n\)) is considered, which regards the decomposition into the cosets of an
\((n-2)\)-dimensional subspace
V of
\({\mathbb {F}}_2^n\). It was originally investigated by Canteaut and Charpin [
3] in terms of the second-order derivatives of the dual function, whereas the similar properties were recently stated using duals of the cosets of
V [
14]. The main conclusion in [
3] is that there are exactly three possible cases of this 4-decomposition of a bent function, namely, all four restrictions being bent, semi-bent, or 5-valued spectra functions. For each of the cases, using the necessary and sufficient conditions in [
14] (see Theorem
2.2), we provide generic methods (at least one) for designing bent functions provably outside
\({{{\mathcal {M}}}{{\mathcal {M}}}}^\#\). For instance, in the elementary case of defining a bent function
\(h(\textbf{x},y_1,y_2)=f(\textbf{x}) \oplus y_1y_2\) on
\({\mathbb {F}}_2^{n+2}\) using any bent function
f on
\({\mathbb {F}}_2^n\) (corresponding to a bent 4-decomposition since
\(h=f||f||f||(1\oplus f)\)), we show that
h is outside
\({{{\mathcal {M}}}{{\mathcal {M}}}}^\#\) if and only if
f is outside
\({{{\mathcal {M}}}{{\mathcal {M}}}}^\#\). In this context, we also refer to [
2] where four different (specific) bent functions
\(f_1, \ldots ,f_4\) were used for the same purpose. This approach is then generalized to the case when two bent functions are used. More precisely, the concatenation
\(f_1||f_1||f_2||(1\oplus f_2)\) also gives bent functions outside
\({{{\mathcal {M}}}{{\mathcal {M}}}}^\#\) if
\(f_1\) or
\(f_2\) is a bent function outside
\({{{\mathcal {M}}}{{\mathcal {M}}}}^\#\). This also naturally leads to a recursive construction of bent functions outside
\({{{\mathcal {M}}}{{\mathcal {M}}}}^\#\) on larger ambient spaces.
The cases when the four restrictions of a bent function are semi-bent or 5-valued spectra functions are also considered and several design methods of designing infinite families of bent functions outside
\({{{\mathcal {M}}}{{\mathcal {M}}}}^\#\) are proposed. We remark that the cardinality of bent functions that are provably outside
\({{{\mathcal {M}}}{{\mathcal {M}}}}^\#\) is extremely large which is also emphasized for instance in Remark
3.4, where a single dual bent function on
\({\mathbb {F}}_2^8\) which is not in
\({{{\mathcal {M}}}{{\mathcal {M}}}}^\#\) gives rise to the EA-equivalence class comprising
\(\approx 2^{70}\) bent functions on
\({\mathbb {F}}_2^{12}\) that are not in
\({{{\mathcal {M}}}{{\mathcal {M}}}}^\#\) as well. This only concerns our design method of concatenating four suitable semi-bent functions (using a dual which is not in
\({{{\mathcal {M}}}{{\mathcal {M}}}}^\#\)), however our other constructions are similar in this context. Most notably, it seems that the presence of linear structures in these semi-bent functions (being restrictions of a bent function) is of no relevance for the class inclusion. More precisely, the use of a dual bent function outside
\({{{\mathcal {M}}}{{\mathcal {M}}}}^\#\), whose relaxed linearity index (see Definition
3.1) is of certain order, for their specification is sufficient for ensuring that the resulting bent function is outside
\({{{\mathcal {M}}}{{\mathcal {M}}}}^\#\) as well. A similar conclusion is valid when a sophisticated notion of duals of 5-valued spectra functions is employed for the same purpose, see for instance Theorem
3.7. Again, having a bent dual outside
\({{{\mathcal {M}}}{{\mathcal {M}}}}^\#\) ensures that the concatenation of four suitably selected 5-valued spectra functions generates bent functions that do not belong to
\({{{\mathcal {M}}}{{\mathcal {M}}}}^\#\) (regardless of the presence of linear structures in these constituent functions).
The rest of this paper is organized as follows. In Sect.
2, we give some basic definitions related to Boolean functions and discuss the concept of dual functions for some important classes of Boolean functions.
The design of bent functions provably outside
\({{{\mathcal {M}}}{{\mathcal {M}}}}^\#\) is addressed in Sect.
3. More precisely, we provide construction methods for specifying suitable quadruples of bent, semi-bent and 5-valued spectra functions so that the resulting bent functions are provably outside
\({{{\mathcal {M}}}{{\mathcal {M}}}}^\#\). In Sect.
4, we consider the design of bent functions by selecting 5-valued spectra functions in the generalized Maiorana-McFarland class. However, it remains an open problem whether this approach can generate bent functions outside
\({{{\mathcal {M}}}{{\mathcal {M}}}}^\#\). Some concluding remarks are given in Sect.
5.
2 Preliminaries
We denote the Galois field of order
\(2^n\) by
\({\mathbb {F}}_{2^n}\) and the corresponding vector space by
\({\mathbb {F}}_2^n\) which contains binary
n-tuples
\(\mathbf {\textbf{x}}=(x_1,\ldots ,x_n)\), where
\(x_i \in {\mathbb {F}}_2\). A mapping
\(f: {\mathbb {F}}_2^n \rightarrow {\mathbb {F}}_2\) is called an
n-variable Boolean function and we use
\({\mathcal {B}}_n\) to denote the set of all possible Boolean mappings on
\({\mathbb {F}}_2^n\). Any Boolean function
\(f:{\mathbb {F}}_2^n \rightarrow {\mathbb {F}}_2\) can be represented using the so-called
algebraic normal form (ANF), so that
$$\begin{aligned} f(x_1,\ldots ,x_n)=\bigoplus _{\mathbf {\mathbf {\textbf{u}}}\in {\mathbb {F}}^n_2}{\lambda _{\mathbf {\mathbf {\textbf{u}}}}}{\left( \prod _{i=1}^n{x_i}^{u_i}\right) }, \end{aligned}$$
(1)
where
\(x_i, \lambda _{\mathbf {\mathbf {\textbf{u}}}} \in {\mathbb {F}}_2\) and
\(\mathbf {\mathbf {\textbf{u}}}=(u_1, \ldots ,u_n)\in {\mathbb {F}}^n_2\) and we reserve the symbol “
\(\bigoplus \)” to denote the addition modulo two. Then, the
algebraic degree of
f, denoted by
deg(
f) or sometimes simply
d, is the maximal value of the Hamming weight of
\(\mathbf {\textbf{u}}\) such that
\(\lambda _{\mathbf {\textbf{u}}}\ne 0\). Throughout this article we will use
\({{\textbf {0}}}_n\) to denote the all-zero vector with
n coordinates, that is
\((0,0,\ldots ,0)\in {\mathbb {F}}^n_2.\)
Another useful representation of
\(f\in {\mathcal {B}}_n\) is its evaluation on
\({\mathbb {F}}^n_2\) (known as
the truth table) and defined as
$$\begin{aligned} T_f=(f(0,\ldots ,0,0),f(0,\ldots ,0,1),\ldots ,f(1,\ldots ,1,1)), \end{aligned}$$
whose corresponding
\((\pm 1)\)-
sequence of f is given as
$$\begin{aligned} \chi _f=((-1)^{f(0,\ldots ,0,0)},(-1)^{f(0,\ldots ,0,1)},\ldots , (-1)^{f(1,\ldots ,1,1)}). \end{aligned}$$
The
Hamming distance \(d_H\) between two arbitrary Boolean functions, say
\(f,g\in {\mathcal {B}}_n,\) is defined by
$$\begin{aligned} d_H(f,g)=\{\textbf{x}\in {\mathbb {F}}^n_2:f(\textbf{x})\ne g(\textbf{x})\}=2^{n-1}-\frac{1}{2}\chi _f\cdot \chi _g, \end{aligned}$$
where
\(\chi _f\cdot \chi _g=\sum _{\textbf{x}\in {\mathbb {F}}^n_2}(-1)^{f(\textbf{x})\oplus g(\textbf{x})}\). In general, the standard inner (dot) product of two vectors
\(\mathbf {\textbf{x}}=(x_1,\ldots ,x_n)\) and
\(\mathbf {\textbf{y}}=(y_1,\ldots ,y_n)\) in
\({\mathbb {F}}_2^n\) is defined as
\(\mathbf {\textbf{x}}\cdot \mathbf {\textbf{y}}=x_1 y_1\oplus \cdots \oplus x_n y_n.\)
The
Walsh–Hadamard transform (WHT) of
\(f\in {\mathcal {B}}_n\), at any point
\({\varvec{\omega }}\in {\mathbb {F}}^n_2\) is defined as
$$\begin{aligned} W_{f}({\varvec{\omega }})=\sum _{\textbf{x}\in {\mathbb {F}}_2^n}(-1)^{f(\textbf{x})\oplus \varvec{\omega }\cdot \textbf{x}}. \end{aligned}$$
(2)
Given the Walsh spectrum of a function
\(f\in {\mathcal {B}}_n\), its truth table can be recovered using the inverse WHT given by
$$\begin{aligned} (-1)^{f(\textbf{x})}=2^{-n}\sum _{\varvec{\omega }\in {\mathbb {F}}_2^n}W_f({\varvec{\omega }})(-1)^{\varvec{\omega }\cdot \textbf{x}}. \end{aligned}$$
(3)
A function
\(f\in {\mathcal {B}}_n,\) for even
n, is called
bent if
\(W_f(\mathbf {\mathbf {\textbf{u}}})=\pm 2^{\frac{n}{2}}\). We further note that for a bent function
\(f\in {\mathcal {B}}_n\), we have
\(W_f(\mathbf {\mathbf {\textbf{u}}})=(-1)^{f^*(\mathbf {\mathbf {\textbf{u}}})}2^{\frac{n}{2}}\) for a Boolean function
\(f^*\in {\mathcal {B}}_n\). This function
\(f^*\) is called the
dual of
f and is also a bent function.
The first-order
derivative of
\(f \in {\mathcal {B}}_n\) at
\(\textbf{a} \in {\mathbb {F}}_2^n\), denoted by
\(D_{\textbf{a}}f\), is the Boolean function defined by
$$\begin{aligned} D_{\textbf{a}}f(\textbf{x}) = f(\textbf{x} \oplus \textbf{a}) \oplus f(\textbf{x}), \text{ for } \text{ all } \textbf{x} \in {\mathbb {F}}_2^n. \end{aligned}$$
In particular,
\(f:{\mathbb {F}}_2^{n} \rightarrow {\mathbb {F}}_{2}\) is said to admit a linear structure
\(\varvec{\gamma } \in {\mathbb {F}}_{2}^{n*}\) if
\(D_{\varvec{\gamma }}f(\textbf{x})=f(\textbf{x}\oplus \varvec{\gamma })\oplus f(\textbf{x})=c\) for all
\(\textbf{x} \in {\mathbb {F}}_2^n\), where
\(c \in {\mathbb {F}}_2\).
The Maiorana–McFarland class
\({{{\mathcal {M}}}{{\mathcal {M}}}}\) is the set of
n-variable (
n is even) Boolean functions of the form
$$\begin{aligned} f(\textbf{x},\textbf{y})=\textbf{x} \cdot \pi (\textbf{y})\oplus g(\textbf{y}), \text{ for } \text{ all } \textbf{x}, \textbf{y} \in {\mathbb {F}}_2^{n/2}, \end{aligned}$$
(4)
where
\(\pi \) is a permutation on
\({\mathbb {F}}_2^{n/2}\), and
g is an arbitrary Boolean function on
\({\mathbb {F}}_2^{n/2}\). In general, the
completed class is obtained by applying the so-called extended affine (EA) equivalence to all the functions in a given class. Since we are mainly interested in the class
\({{\mathcal {M}}}{{\mathcal {M}}}\), its completed version
\({{{\mathcal {M}}}{{\mathcal {M}}}}^\#\) is defined as,
$$\begin{aligned} {{\mathcal {M}}}{{\mathcal {M}}}^\#=\{f(A\textbf{x}\oplus \textbf{b}) \oplus \textbf{c} \cdot \textbf{x} \oplus d: f \in {{\mathcal {M}}}{{\mathcal {M}}}, A \in GL(n,{\mathbb {F}}_2), \textbf{b}, \textbf{c} \in {\mathbb {F}}_2^n, d \in {\mathbb {F}}_2\}, \end{aligned}$$
where
\(GL(n,{\mathbb {F}}_2)\) denotes the group of invertible matrices under composition. The following lemma, originally due to Dillon [
12] and later extended by Carlet [
7, Proposition 54, pp. 167] to (easily) cover the other direction, is of crucial importance for the discussion on class inclusion.
2.1 Plateaued functions and their duals
A function
\(f\in {\mathcal {B}}_n\) is called
s-
plateaued if its Walsh spectra only takes three values 0 and
\(\pm 2^{\frac{n+s}{2}}\) (the value
\(2^{\frac{n+s}{2}}\) is called the
amplitude), where
\(s\ge 1\) if
n is odd and
\(s\ge 2\) if
n is even (
s and
n always have the same parity). In particular, a class of 1-plateaued functions for
n odd, or 2-plateaued for
n even, corresponds to so-called
semi-bent functions. The
Walsh support of
\(f\in {\mathcal {B}}_n\) is defined as
\(S_f=\{{\varvec{\omega }}\in {\mathbb {F}}^n_2\;:\; W_f({\varvec{\omega }})\ne 0\}\) and for an
s-plateaued function its cardinality is
\(\#S_f=2^{n-s}\) [
3, Proposition 4].
We define a dual function \(f^*:S_f \rightarrow {\mathbb {F}}_2\) of an s-plateaued function \(f \in {\mathcal {B}}_n\) using \(W_f({\varvec{\omega }})=2^{\frac{n+s}{2}}(-1)^{f^*({\varvec{\omega }})},\) for \({\varvec{\omega }}\in S_f \subset {\mathbb {F}}_2^n\). To specify the dual function as \({\overline{f}}^*:{{\mathbb {F}}}_{2}^{n-s} \rightarrow {{\mathbb {F}}}_{2}\), we use the concept of lexicographic ordering. That is, a subset \(E=\{\textbf{e}_0,\ldots ,\textbf{e}_{2^{n-s}-1}\}\subset {\mathbb {F}}^{n}_2\) is ordered lexicographically if \(|\textbf{e}_i| < |\textbf{e}_{i+1}|\) for any \(i \in [0,2^{n-s}-2]\), where \(|\textbf{e}_i|= \sum _{j=0}^{n-1}\textbf{e}_{i,n-1-j} 2^j\) denotes the integer representation of \(\textbf{e}_i \in {\mathbb {F}}^n_2\). Since \(S_f\) is not ordered in general, we will always represent it as \(S_f=\textbf{v}\oplus E\), where E is lexicographically ordered for some fixed \(\textbf{v}\in S_f\) and \(\textbf{e}_0={{\textbf {0}}}_{n}\), thus E is a linear subspace of dimension \(n-s\).
A direct correspondence between
\({{\mathbb {F}}}_{2}^{n-s}\) and
\(S_f=\{{\varvec{\omega }}_0,\ldots ,{\varvec{\omega }}_{2^{n-s}-1}\}\) is achieved through
E, so that for the lexicographically ordered
\({{\mathbb {F}}}_{2}^{n-s}=\{\textbf{x}_0, \textbf{x}_1, \ldots , \textbf{x}_{2^{n-s}-1}\}\) we have
$$\begin{aligned} {\overline{f}}^*(\textbf{x}_i)=f^*(\textbf{v}\oplus \textbf{e}_i)=f^*({\varvec{\omega }}_i), \end{aligned}$$
(5)
where
\(\textbf{x}_i \in {{\mathbb {F}}}_{2}^{n-s}, \; \textbf{e}_i \in E,\;i\in [0,2^{n-s}-1]\).
The main reason for ordering the elements in
E lexicographically is Theorem
3.3 (that essentially follows from Lemma 3.1 in [
16]), given originally in [
15] and recalled in Sect.
3.3.1, which from the design perspective gives the conditions on
\(S_f\) so that the spectral values defined through
\(f^*\) (or
\({\overline{f}}^*\)) indeed specify a valid Walsh spectrum of a Boolean function. Furthermore, it was noted in [
17] that different orderings of
\(S_f\), both with respect to the choice of
\({{\varvec{v}}}\) so that
\(S_f={\varvec{v}} \oplus E\) as well as representing it differently so that
\(S_f={{\varvec{v}}}' \oplus E'\) (with
\({{\varvec{v}}} \ne {{\varvec{v}}}'\) and
\(E \ne E'\)), essentially give affine equivalent duals
\({\overline{f}}^*\) and
\(\overline{f'}^*\), see Section 5 in [
17] for further details. Nevertheless, all these results use the assumption that item (
i) in Lemma 3.1 in [
16] is satisfied. Namely, an
m-dimensional linear subspace
\(E=\{\textbf{e}_0, \textbf{e}_1, \ldots , \textbf{e}_{2^m-1}\}\) is “suitably” ordered to be used in Theorem
3.3 whenever for any fixed
\(i \in \{0, \ldots , m-1\}\) it holds that
\(\textbf{e}_j = \textbf{e}_{2^i} \oplus \textbf{e}_{j-2^i}\), for all
\(2^i \le j \le 2^{i+1}-1\). In the case of lexicographic ordering this recursion is satisfied.
In this context, we recall one essential result on the properties of the dual plateaued functions for different representations of \(S_f\). We remark that an s-plateaued function on \({\mathbb {F}}_2^n\) is called trivial if its Walsh support is an affine subspace.
2.2 Specifying 5-valued spectra functions through duals
We first recall certain notations, introduced in [
14] and also used in [
17], useful in handling a 5-valued spectra Boolean function which has two different non-zero absolute values.
Let the WHT spectrum of a function
\(f:{\mathbb {F}}^n_2\rightarrow {\mathbb {F}}_2\) contain the values
\(0,\pm c_1,\pm c_2\) (
\(c_1\ne c_2\)), where
\(c_1,c_2\in {\mathbb {N}}\). Some of the results in [
14] are stated in a more general context, but since the 4-decomposition of bent functions is our main objective we only consider the cases
\(c_1=2^{n/2}\) and
\(c_2=2^{(n+2)/2}\) above. For
\(i=1,2\), by
\(S^{[i]}_f\subset {\mathbb {F}}^n_2\) we denote the set
\(S^{[i]}_f=\{\mathbf {\mathbf {\textbf{u}}}\in {\mathbb {F}}^n_2:|W_f(\mathbf {\mathbf {\textbf{u}}})|=c_i\}\), and we can define the functions
\(f^*_{[i]}:S^{[i]}_f\rightarrow {\mathbb {F}}_2\) such that the following equality holds:
$$\begin{aligned} W_f(\mathbf {\mathbf {\textbf{u}}})=\left\{ \begin{array}{ll} 0, &{} \mathbf {\mathbf {\textbf{u}}}\not \in S^{[1]}_f\cup S^{[2]}_f, \\ c_i\cdot (-1)^{f^*_{[i]}(\mathbf {\mathbf {\textbf{u}}})}, &{} \mathbf {\mathbf {\textbf{u}}}\in S^{[i]}_f,\;\; i\in \{1,2\}.\\ \end{array} \right. \end{aligned}$$
(6)
For
\(i=1,2\), let
\(\textbf{v}_i\in {\mathbb {F}}^n_2\) and
\(E_i=\{\textbf{e}^{(i)}_0,\ldots ,\textbf{e}^{(i)}_{2^{\lambda _i}-1}\}\subset {\mathbb {F}}^n_2\) (
\(\textbf{e}^{(i)}_0={{\textbf {0}}}_n\)) be lexicographically ordered subsets of cardinality
\(2^{\lambda _i}\) such that
\(S^{[i]}_f=\{{\varvec{\omega }}^{(i)}_0,\ldots ,{\varvec{\omega }}^{(i)}_{2^{\lambda _i}-1}\}=\textbf{v}_i\oplus E_i\), where
\({\varvec{\omega }}^{(i)}_j=\textbf{v}_i\oplus \textbf{e}^{(i)}_j\), for
\(j\in [0,2^{\lambda _i}-1]\). Clearly, the lexicographically ordered set
\(E_i\) imposes an ordering on
\(S^{[i]}_f\) with respect to the equality
\({\varvec{\omega }}^{(i)}_j=\textbf{v}_i\oplus \textbf{e}^{(i)}_j\). Using the representation of
\(S^{[i]}_f=\textbf{v}_i\oplus E_i\) and the fact that the cardinality of
\(S^{[i]}_f\) is a power of two, the function
\({\overline{f}}^*_{[i]}\), as a mapping from
\({\mathbb {F}}^{\lambda _i}_2\) to
\({\mathbb {F}}_2\), is defined as
$$\begin{aligned} {\overline{f}}^*_{[i]}(\textbf{x}_j)=f^*_{[i]}(\textbf{v}_i\oplus \textbf{e}^{(i)}_j)=f^*_{[i]}({\varvec{\omega }}^{(i)}_j),\;\;j\in [0,2^{\lambda _i}-1], \end{aligned}$$
(7)
where
\({\mathbb {F}}^{\lambda _i}_2=\{\textbf{x}_0,\ldots ,\textbf{x}_{2^{\lambda _i}-1}\}\) is ordered lexicographically.
A more specific method for designing 5-valued spectra functions on
\({\mathbb {F}}_2^n\) (thus
\(W_{f}(\mathbf {\mathbf {\textbf{u}}})\in \{0,\pm 2^{n/2},\pm 2^{\frac{n+2}{2}} \}\)), originally considered in [
14], will be used in Sect.
3.4 for specifying suitable quadruples of such functions whose concatenation will give bent functions outside
\({{{\mathcal {M}}}{{\mathcal {M}}}}^\#\).
2.3 Decomposition of bent functions
In [
3], Canteaut and Charpin considered the decomposition of bent functions on
\({{\mathbb {F}}}_{2}^n\),
\(n \ge 4\) is even, with respect to affine subspaces
\(\textbf{a}\oplus V\), for some
k-dimensional linear subspace
\(V\subset {\mathbb {F}}^n_2\). In general, this decomposition of
\({\mathfrak {f}} \in {\mathcal {B}}_n\) can be viewed as a collection of
\(2^{n-k}\) Boolean functions denoted by
\({\mathfrak {f}}_{\textbf{a}\oplus V}\) and defined on
\({{\mathbb {F}}}_{2}^k \rightarrow {\mathbb {F}}_2\) using
$$\begin{aligned} {\mathfrak {f}}_{\textbf{a}\oplus V}(\textbf{x}_i)={\mathfrak {f}}_{\textbf{a}\oplus V}(\textbf{a}\oplus \textbf{v}_i),\;\;\;i\in [0,2^k-1], \end{aligned}$$
(8)
for lexicographically ordered
\(V=\{\textbf{v}_0,\ldots ,\textbf{v}_{2^k-1}\}\) and
\({\mathbb {F}}^k_2=\{\textbf{x}_0,\ldots ,\textbf{x}_{2^k-1}\}\). This identification between
V and
\({\mathbb {F}}^k_2\), and thus the definition of
\({\mathfrak {f}}_{\textbf{a}\oplus V}:{\mathbb {F}}^k_2\rightarrow {\mathbb {F}}_2\), strongly depends on the ordering of
V in a similar sense as mentioned in Sect.
2.
Since in this article we are mainly interested in the design methods of bent functions on
\({\mathbb {F}}_2^n\) using a concatenation of four functions on
\({\mathbb {F}}_2^{n-2}\), we will consider
V to be an
\((n-2)\)-dimensional subspace of
\({\mathbb {F}}_2^n\). Hence, the functions
\(f_1, \ldots , f_4 \in {\mathcal {B}}_{n-2}\) can be defined on the four cosets
\({{\textbf {0}}}_n\oplus V, \textbf{a} \oplus V,\textbf{b} \oplus V,(\textbf{a} \oplus \textbf{b}) \oplus V\) respectively, for an arbitrary linear subspace
V of dimension
\(n-2\) so that
\(Q=\langle \textbf{a}, \textbf{b} \rangle \) and
\(Q\oplus V={\mathbb {F}}^n_2\) (with
\(Q\cap V=\{{{\textbf {0}}}_n\}\)). We will denote such a decomposition as
\({\mathfrak {f}}=(f_1,f_2,f_3,f_4)_V\), where
\({\mathfrak {f}} \in {\mathcal {B}}_n\) and
\(f_i \in {\mathcal {B}}_{n-2}\). However, specifying
\(V={\mathbb {F}}_2^{n-2} \times (0,0)\) we have the canonical decomposition which we simply denote as
\({\mathfrak {f}}=(f_1,f_2,f_3,f_4)\). Following the terminology in [
3], this decomposition is said to be a
bent 4-decomposition when all
\(f_i\) (
\(i\in [1,4]\)), are bent; a
semi-bent 4-decomposition when all
\(f_i\) (
\(i\in [1,4]\)) are semi-bent; a
5-valued 4-decomposition when all
\(f_i\) (
\(i\in [1,4]\)) are 5-valued spectra functions so that
\(W_{f_i} \in \{0, \pm 2^{(n-2)/2}, \pm 2^{n/2}\} \).
The 4-decomposition was fully described in [
3] in terms of the second-order derivatives (with respect to
\(\textbf{a}\) and
\(\textbf{b}\)) of the dual
\({\mathfrak {f}}^*\) of a bent function
\( {\mathfrak {f}}\). Alternatively, the approach that will be used in this article, this decomposition can be specified in terms of Walsh supports and duals of its restrictions
\(f_{1},\ldots ,f_4\) [
14]. Note that functions
\(f_i\) are considered as functions in
\((n-2)\)-variables in terms of Eq. (
8) (that is when
\(\dim (V)=k=n-2\)).
In the rest of this article, we consider the canonical 4-decomposition so that
\(\textbf{a}=(0,0,\ldots ,0,1)\),
\(\textbf{b}=(0,0,\ldots ,1,0) \in {\mathbb {F}}_2^n\) and consequently
\(V={\mathbb {F}}_2^{n-2} \times \{(0,0)\}\) in Theorem
2.2. Then, the function
\({\mathfrak {f}}\) is the concatenation of
\(f_i \in {\mathcal {B}}_{n-2}\) which we denote by
\({\mathfrak {f}}=f_1||f_2||f_3||f_4\). Using the convention that
\({\mathfrak {f}}(\textbf{x},0,0)=f_1(\textbf{x}), {\mathfrak {f}}(\textbf{x},0,1)=f_2(\textbf{x}), {\mathfrak {f}}(\textbf{x},1,0)=f_3(\textbf{x})\) and
\({\mathfrak {f}}(\textbf{x},1,1)=f_4(\textbf{x})\), the ANF of
\({\mathfrak {f}}=f_1||f_2||f_3||f_4\) is given by
$$\begin{aligned} {\mathfrak {f}}(\textbf{x},y_1,y_2)=f_1(\textbf{x})\oplus y_1(f_1\oplus f_3)(\textbf{x})\oplus y_2(f_1\oplus f_2)(\textbf{x})\oplus y_1y_2(f_1\oplus f_2\oplus f_3\oplus f_4)(\textbf{x}). \nonumber \\ \end{aligned}$$
(9)
3 Decomposing bent functions: design methods
From the design perspective, Theorem
2.2 allows us to specify (possibly new) bent functions by specifying suitable quadruples of bent, semi-bent, or 5-valued spectra functions. We develop these ideas below more precisely in the rest of this section, but before this we propose an efficient algorithm for testing the inclusion in
\({{{\mathcal {M}}}{{\mathcal {M}}}}^\#\). Throughout this article, due to the fact that all bent functions up to six variables are contained in
\({{{\mathcal {M}}}{{\mathcal {M}}}}^\#\), we will consider the design of bent functions on
\({\mathbb {F}}_2^n\), where
\(n \ge 8\) is even.
3.1 An algorithm for determining whether \(f \in {{{\mathcal {M}}}{{\mathcal {M}}}}^\#\)
We first describe an algorithmic approach to determine whether a bent function is outside
\({{{\mathcal {M}}}{{\mathcal {M}}}}^{\#}\). The algorithm is based on Lemma
2.1 and some graph-theoretical concepts.
Let
\(f\in {\mathcal {B}}_n\) be a bent function. Set
\(\Gamma =(V,E)\) to be a graph with edge set
$$\begin{aligned} E=\{\{\textbf{a},\textbf{b}\}:\textbf{a},\textbf{b}\in {{\mathbb {F}}_2^{n}}^*; D_\textbf{a}D_\textbf{b} f\equiv 0\}, \end{aligned}$$
and vertex set
\(V\subset {{\mathbb {F}}_2^{n}}^*\) consisting of all distinct vertices appearing in the edge set
E. For simplicity, we do not add 0 to
V as
\(D_0D_\textbf{b}f\equiv 0\) for all
\(\textbf{b}\in {\mathbb {F}}_2^{n}\). With this approach, we reduce the size of the vertex set
V as
\(D_{{\varvec{a}}}D_{{\varvec{b}}}f\not \equiv 0\), for some
\(\textbf{a},\textbf{b}\in {{\mathbb {F}}_2^{n}}^*\). In practice, for functions outside the completed Maiorana-McFarland class, the size of the vertex set becomes relatively small and for instance in dimension
\(n=8\) we could verify that typical values for |
V| are 0 and 6. We also remark that we consider the graph
\(\Gamma \) to be simple as there are no loops (
\(D_\textbf{a}D_\textbf{a} f\equiv 0\) holds for all
\(\textbf{a}\in {\mathbb {F}}_2^{n}\)); and it is not directed since
\(D_\textbf{a}D_\textbf{b}f=D_\textbf{b}D_\textbf{a}f\) for any
\(\textbf{a},\textbf{b}\in {\mathbb {F}}_2^{n}\).
From Lemma
2.1, we know that we need to find an (
n/2)-dimensional linear subspace
V of
\({\mathbb {F}}_{2^{n}}\) on which the second-order derivatives of
f vanish. From the graph-theoretical perspective, this problem corresponds to finding a clique
\(\Lambda \) (complete subgraph) of size
\(2^{n/2}-1\) in the graph
\(\Gamma \) and additionally checking whether
\(V(\Lambda )\cup \{0\}\) forms a linear subspace in
\({\mathbb {F}}_{2}^n\). Finding a clique in a graph is known to be an NP-complete problem and, specifically, the time complexity of this search would be of size
\({\mathcal {O}}(2^{n2^{n/2}})\). However, in practice, this number is much smaller because the number of vertices (namely |
V|) of the graph
\(\Gamma \) is almost negligible compared to
\(2^n\). The full
Sage implementation has been added to the appendix. It might be of interest to optimize further the performance of this algorithm so that larger input sizes can be efficiently tested.
We have considered 100 bent functions in dimension 8 and the average time needed to check whether one function is outside \({{{\mathcal {M}}}{{\mathcal {M}}}}^{\#}\) was approximately 17 seconds. For \(n=10\), the average time for checking the property of being in or outside \({{{\mathcal {M}}}{{\mathcal {M}}}}^{\#}\) was 30 minutes. On the other hand, when \(n=12\), the time complexity is approximately 22 h on average. For the purpose of this article, the proposed algorithm is sufficiently efficient and is superior to a straightforward approach of checking all n/2-dimensional subspaces and verifying the vanishing property of the second-order derivatives. Most importantly, all the examples provided in this article (in certain cases the ANFs are also given) can be efficiently checked using the Sage algorithm given in the appendix. We also note the following interesting observation.
3.2 Defining suitable bent 4-decompositions
Recently, a quadruple of
distinct bent functions, satisfying that
\(f^*_1\oplus f^*_2\oplus f^*_3\oplus f^*_4=1\), was identified in [
2]. It was additionally shown that their concatenation
\(f_1||f_2||f_3||f_4\) is provably outside the
\({{{\mathcal {M}}}{{\mathcal {M}}}}^\#\) class. More precisely, the authors considered a quadruple of bent functions (not all of them being in
\({{{\mathcal {M}}}{{\mathcal {M}}}}^\#\)) that belong to the
\({{\mathcal {C}}}\) and
\({{\mathcal {D}}}\) class of Carlet [
4] and their suitable “modifications” for this purpose. Nevertheless, the following results show that the same method can generate new bent functions outside
\({{{\mathcal {M}}}{{\mathcal {M}}}}^\#\) when a single bent function (alternatively a pair of bent functions considered in Theorem
3.2) outside
\({{{\mathcal {M}}}{{\mathcal {M}}}}^\#\) is used.
Now, we investigate another non-trivial selection of bent quadruples (different from \(f=f_1||f_1||f_1||(1\oplus f_1)\), which satisfies the necessary and sufficient condition \(f^*_1\oplus f^*_2\oplus f^*_3\oplus f^*_4=1\). It turns out that the basic concatenation method of using just two bent functions, where at least one of them is outside \({{{\mathcal {M}}}{{\mathcal {M}}}}^\#\), also generates bent functions outside \({{{\mathcal {M}}}{{\mathcal {M}}}}^\#\).
An iterative design of bent functions outside
\({{{\mathcal {M}}}{{\mathcal {M}}}}^\#\) follows easily from Theorem
3.2.
3.3 Semi-bent case of 4-decomposition
The construction of disjoint spectra semi-bent functions was treated in several articles, see [
15] and references therein. In terms of the spectral design method in [
15], constructing quadruples of semi-bent functions
\((f_1,f_2,f_3,f_4)\) on
\({\mathbb {F}}_2^n\) (with
n even), whose Walsh spectral values belong to
\(\{0,\pm 2^{\frac{n+2}{2}}\}\), with pairwise disjoint spectra ( so that
\(f_i\) and
\(f_j\) are disjoint spectra functions for
\(1 \le i \ne j \le 4\)) can be easily achieved by specifying suitable Walsh supports. It has already been observed in [
16,
29] that trivial plateaued functions, having an affine subspace as their Walsh support, essentially correspond to partially bent functions introduced by Carlet in [
5] which admit linear structures. Nevertheless, the selection of these Walsh supports as affine subspaces or subsets will be shown to be irrelevant for the class inclusion of the resulting bent functions, which will be entirely governed by the bent duals.
3.3.1 Known results on the design methods of plateaued Boolean functions
Before proving the main results of this section, we will give a brief overview of some known useful results obtained in [
15] regarding the construction and properties of
s-plateaued Boolean functions. For simplicity, we adopt these results for semi-bent functions, thus
\(s=2\), and employ only the parts relevant for our purposes.
To construct nontrivial semi-bent functions (whose Walsh supports are subsets), one can employ bent functions in the
\({{\mathcal {M}}}{{\mathcal {M}}}\) class defined by
$$\begin{aligned} g(\textbf{x},\textbf{y})=\textbf{x}\cdot \psi (\textbf{y})\oplus t(\textbf{y}); \;\;\textbf{x},\textbf{y}\in {\mathbb {F}}^{n/2}_2, \end{aligned}$$
(15)
where
\(\psi \) is an arbitrary permutation on
\({\mathbb {F}}^{n/2}_2\) and
\(t \in {\mathcal {B}}_{n/2}\) is arbitrary. We give below a slightly modified version of Theorem 4.2 in [
15], since we are interested in semi-bent functions in even dimensions. Therefore, we define the Walsh support as
\(S_f=(\textbf{c}\oplus EM)\wr T_{\mu }\wr T_{\mu }\) rather than
\(S_f=(\textbf{c}\oplus EM)\wr T_{\mu }\) as originally in [
15]. Notice that the use of a nonlinear function
\(\mu : {\mathbb {F}}_2^n \rightarrow {\mathbb {F}}_2\) ensures that
\(S_f\) is not an affine/linear subspace.
3.3.2 Bent functions outside \({{{\mathcal {M}}}{{\mathcal {M}}}}^{\#}\) using semi-bent functions with suitable duals
By employing the above results, the authors in [
15] also proposed a construction method of disjoint spectra plateaued functions, see Theorem 4.4 in [
15], and additionally showed that these functions can be efficiently utilized for the construction of bent functions. For the particular case of specifying four semi-bent functions on
\({\mathbb {F}}_2^{n+2}\), by using a bent dual
\(g \in {\mathcal {B}}_n\), it is convenient to express
\({\mathbb {F}}_2^{n+2}=V \oplus Q\) where for simplicity
\(V={\mathbb {F}}_2^{n} \times \{(0,0)\}\) and
\(Q=\textbf{0}_n \times {\mathbb {F}}_2^2\). Notice that the choice of
V leads to the canonical concatenation/decomposition given by (
9). The main idea is then to specify disjoint Walsh supports of semi-bent functions
\(f_i\) on the cosets of
V in
\({\mathbb {F}}_2^{n+2}\). The reason for selecting
\(S_f(\textbf{c}\oplus {\mathbb {F}}_2^{n}M)\wr T_{t_1}\wr T_{t_2} \) in Theorem
3.5 as a non-affine subspace is to demonstrate a somewhat harder design rationale that employs Theorem
3.3(i), which requires that the set
\(\Phi _f\) is at bent distance to the bent dual
g. Again, the use of a suitable bent dual
\(g \in {\mathcal {B}}_n\) (taken outside
\({{{\mathcal {M}}}{{\mathcal {M}}}}^\#\)) is decisive when the design of bent functions outside
\({{{\mathcal {M}}}{{\mathcal {M}}}}^{\#}\) is considered.
We note the following notion of the so-called relaxed linearity index introduced in [
22].
Since
\(g \in {\mathcal {B}}_n\) is supposed to be a bent function outside
\({{{\mathcal {M}}}{{\mathcal {M}}}}^{\#}\) (with additional restriction that
r-ind
\((g) <n/2-2\)), we can employ the class
\({{\mathcal {D}}}_0\) of Carlet [
4] or certain families of bent functions in
\( {{\mathcal {C}}}\) and
\({{\mathcal {D}}}\) that are provably outside
\({{{\mathcal {M}}}{{\mathcal {M}}}}^\#\) [
18,
26,
28]. Alternatively
g can be taken from the recent classes
\( {{\mathcal {S}}}{{\mathcal {C}}}\) and
\({{\mathcal {C}}}{{\mathcal {D}}}\) [
1,
2], which are specified in Corollary
3 below. Notice that the subspaces
\(L, E_1, E_2\) used to define
g in Corollary
3 below, satisfy certain conditions with respect to the permutation
\(\pi \), see [
4,
26,
28]. However, there exist efficient design methods for specifying bent functions in the above classes that are provably outside
\({{{\mathcal {M}}}{{\mathcal {M}}}}^{\#}\) [
1,
2,
18,
26,
28]. On the other hand, for
\(t_1,t_2 \in {\mathcal {B}}_n\) we use certain indicators that preserve the bentness of
\(g(\textbf{x},\textbf{y})\oplus v_1t_1(\textbf{x},\textbf{y})\oplus v_2t_2(\textbf{x},\textbf{y})\). The results are summarised in the following corollary, where we denote
\(\delta _0(\textbf{x})=\prod _{i=1}^{n/2}(x_i \oplus 1)\) which is the indicator function of
\(\{0_{n/2}\} \times {\mathbb {F}}_2^{n/2}\). Notice again that taking
\(t_1=t_2=0\) in Corollary
3, it is sufficient to take any bent function
g outside
\({{{\mathcal {M}}}{{\mathcal {M}}}}^\#\).
In the following example, we take
\(g\in {{\mathcal {D}}}_0\setminus {{{\mathcal {M}}}{{\mathcal {M}}}}^{\#}\) in 8 variables (satisfying the condition
r-ind
\((g)<8/2-2=2\)) to construct a bent function in 12 variables outside
\({{{\mathcal {M}}}{{\mathcal {M}}}}^{\#}\) by means of Theorem
3.5. The result was also confirmed using our algorithm in Sect.
3.1.
The following remarks are important with respect to the cardinality of bent functions outside \({{{\mathcal {M}}}{{\mathcal {M}}}}^{\#}\) or the presence of linear structures of the constituent semi-bent functions.
3.4 Four bent decomposition in terms of 5-valued spectra functions
To specify 5-valued spectra Boolean functions, the authors in [
14] provided a sufficient and necessary condition that the Walsh spectra of
\(f_i\) (corresponding to two different amplitudes) must satisfy, see Sect.
2.2. The notion of totally disjoint spectra functions was also introduced in [
14], which can be regarded as a sufficient condition so that the Walsh spectrum specified by (
6) is a valid spectrum of a Boolean function.
Furthermore, a generic method of specifying totally disjoint spectra functions was also given in [
14].
Now, we need to specify a quadruple of 5-valued spectra functions in
\({\mathcal {B}}_{n-2}\) by means of Construction
1, which additionally satisfies the condition given by item (iii) of Theorem
2.2. More precisely:
(a)
The sets \(S^{[1]}_{f_i}=\{{\varvec{\vartheta }}\in {\mathbb {F}}^{n-2}_2:|W_{f_i}({\varvec{\vartheta }})|=2^{\frac{n}{2}}\}\) \((i\in [1,4])\) are pairwise disjoint;
(b)
All \(S^{[2]}_{f_i}=\{{\varvec{\vartheta }}\in {\mathbb {F}}^{n-2}_2:|W_{f_i}({\varvec{\vartheta }})|=2^{\frac{n-2}{2}}\}\) are equal \((i\in [1,4])\), and for \(f^*_{[2],i}:S^{[2]}_{f_i}\rightarrow {\mathbb {F}}_2\) it holds that \(f^*_{[2],1}\oplus f^*_{[2],2}\oplus f^*_{[2],3}\oplus f^*_{[2],4}=1\).
When
\(k=2\), Construction
1 can generate suitable quadruples of 5-valued spectra functions (which are individually totally disjoint spectra functions) as shown below. Notice that the subspaces
\(S_{f_i}^{[1]}\) will correspond to
\(E_2^{(i)}\) and
\(S_{f_i}^{[2]}\) to
\(E_1^{(i)}\) in Theorem
3.6.
The following examples illustrate the details of this construction and the possibility of getting bent functions outside \({{{\mathcal {M}}}{{\mathcal {M}}}}^\#\). Notice that the dual h used to specify f is not necessarily in \({{{\mathcal {M}}}{{\mathcal {M}}}}^\#\).
On the other hand, the following two examples illustrate that selecting the dual
h to be outside
\({{{\mathcal {M}}}{{\mathcal {M}}}}^\#\), the resulting bent functions (constructed using Theorem
3.6) are outside
\({{{\mathcal {M}}}{{\mathcal {M}}}}^\#\).
The above examples indicate that the conclusions (related to the dual) given in Sect.
3.2 seem to be applicable in this case as well. More precisely, the class belongingness of
f in Theorem
3.6 is strongly related to the choice of the dual bent functions.
4 5-valued spectra functions from the generalized MM class
Another method of specifying 5-valued spectra functions, also given in [
14], uses the generalized Maiorana-McFarland class (GMM) of Boolean functions. For convenience and ease of notation, we use the variable set
\(x_0, \ldots , x_{n-1}\) instead of
\(x_1,\ldots ,x_n\) for functions on
\({\mathbb {F}}_2^n\).
As a generalization of the previous example, we give the following result.
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.