1. Introduction
Boolean functions are fundamental components of a cryptographic algorithm. Designing boolean functions with desired cryptographic properties is an important problem. Boolean functions should have some properties like balancedness, high non-linearity, algebraic immunity, correlation immunity and propagation criterion to be used in a symmetric algorithm. These properties make the cipher resistant against attacks like differential and linear cryptanalysis, correlation and algebraic attacks and statistical tests. Correlation immune functions were introduced by Siegenthaler [
1] to resist against a class of divide and conquer attacks on certain models of stream ciphers. Algebraic attacks [
2,
3] have become a powerful tool that can be used for almost all types of cryptographic systems. Algebraic attacks will be more efficient if boolean functions have low degrees. All cryptographic properties can be measured by the Walsh spectrum of a boolean function. Hence, constructing boolean functions with desired Walsh spectrum can help designers to use practical boolean functions. In this paper, we aim to propose four new methods to construct larger boolean functions from smaller ones with predictable cryptographic properties.
In 1999 Bernasconi et al. made a new characterization for boolean functions exploiting the graph theoretic approach. They proved that any boolean function can be represented by a Cayley graph and eigenvalues of this Cayley graph correspond to its Walsh spectrum. The authors defined a Cayley graph on the boolean function as
, where
where
is the support of
f and two vertices
are incident if
Since for all elements
we have
, any subset of
is symmetric. The adjacency matrix of a boolean function
is the adjacency matrix of its associated Cayley graph and
. The following theorem is the main result of [
4] where the function
is the Walsh transform of the boolean function
f.
Theorem 1. Let , and let be the eigenvalues of its associated Cayley graph.
(i) For any
(ii) The multiplicity of the largest spectral coefficient of f, is equal to
In [
5] Stanica investigated some cryptographic properties of boolean functions in terms of their eigenvalues and adapted some graph theory concepts with cryptographic properties of these functions. In the following we state some of these results.
Corollary 1. Let f be a boolean function and the eigenvalues of be ordered as .
Let g be the multiplicity of the lowest eigenvalue of and , in this case where is the chromatic number of .
A boolean function f depends linearly on a variable if and only if the eigenvalues for Cayley graph satisfy and if i-th component of binary representation of equals to 0, then
For an unbalanced correlation immune function f on of order l, there are zero eigenvalues of .
In
Section 2, we first start with some definitions and basic properties of boolean functions and their cryptographic properties. Next we state some algebraic graph theory that will be used throughout the paper. In
Section 3, we first present some related works to our subject and next we propose our methods to construct new boolean functions. Finally, we present some theorems to investigate their cryptographic properties.
2. Definitions and Preliminaries
2.1. Boolean Functions
Consider the field
with elements
. Let
n be a positive integer and
be the binary representation of the positive integer set
Here, we show addition in integer sets by +, and addition by module 2 by
For
, define
and
. We also define the Hamming weight of a vector
as
Now an
n-variable boolean function
is a map from
to
The set of all boolean functions over
is denoted by
. An
n-variable boolean function
can be represented as a multivariate polynomial over
called algebraic normal form (ANF) as
The algebraic degree of a boolean function f is the number of variables in the most existing variables of its multiplicative terms with nonzero coefficient in its ANF and denoted by . A boolean function of the form is called affine and if , is called linear.
The binary vector of length as is said to be the truth table of f. We also denote the support of f by as . Clearly and also the hamming weight of f is .
One can see that the ANF of a boolean function
with support
is
where
. So we have
The distance between two boolean functions is defined as For each boolean function , the sign function is where
The Walsh transform of a boolean function is a function
from
to
where
It is clear that
and the Walsh spectrum of a boolean function can be defined as
Also the relation between
and
is as follows
where
if
and
, otherwise.
Any cryptographical property comes from a concrete attack or a potential security threat to cryptosystems. A lot of cryptographic properties of boolean functions can be described by their Walsh spectrum. The Walsh spectrum has been mostly employed for analysis and generalization of desired cryptographic boolean functions [
6,
7,
8].
A boolean function f is called balanced if the number of outputs 0 is equal to the number of outputs 1 or .
The nonlinearity of a boolean function f denoted by is an important criterion to measure the distance of the boolean function with the set of all affine functions. This criterion is a security property to measure how resistant a boolean function is against linear cryptanalysis which is a common and strong attack. If a boolean function has low nonlinearity, an attacker can approximate it by an affine function. A boolean function with high nonlinearity cannot be approximated by linear or affine functions. The nonlinearity of a boolean function can be measured by the following lemma.
Lemma 1. [9] For an n-variable boolean function By Lemma 1 and Equation (3), one can deduce the following lemma.
If a boolean function
f is a statistically independent of any
k of its input variables, then we call
f is the correlation immune of order
k or
k-CI which is a security measure about how resistant a boolean function is against a correlation attack. If a boolean function is balanced and correlation immunity is of order
k, then it is said to be
k-resilient. Correlation immune (CI) boolean functions were introduced by Siegenthaler [
1] to introduce a criterion to resist against certain types of divide and conquer cryptanalysis on some kind of stream ciphers. In 1985, Chor et al. [
10] conjectured that the only one-resilient symmetric functions are the exclusive- or of all
n-variable and its negation. This conjecture was disproved by Gopalakrishnan, Hoffman and Stinson in [
11] in 1993 by presenting a class of infinite counter examples, and they noted that it does not seem to extend any further in an obvious way. Maitra et al. [
12] in 1999 proved that the number of
n-variable CI boolean functions with Hamming weight
is strictly greater than the number of these functions with Hamming weight
for which
.
The relation of correlation immunity of a boolean function with its Walsh spectrum can be interpreted as follows.
Lemma 3. A boolean function is correlation immune of order k if and only if for any with
The algebraic immunity is a cryptographic property that measures the resistance of a boolean function against the algebraic attack proposed by Courtois in 2003 in [
2] for stream ciphers and also for block ciphers in [
3]. Constructing boolean functions with the best algebraic immunity is a very hard task. The algebraic immunity is an important property of boolean functions that causes resistance against algebraic attack. An algebraic attack is a powerful attack which might threaten the security of both blocks and stream ciphers. The idea is to set up an algebraic system of equations verified by the key bits and trying to solve it. This raises the fundamental issue of determining whether or not a given function has non-trivial low degree multiples. Further, the algebraic immunity of the boolean function
is defined as follows:
The problem of finding boolean functions with high algebraic immunity is equivalent to the problem of resisting against algebraic attack. There is a theorem from [
13] that characterizes the relation between the support of a boolean function and its algebraic immunity as the following:
Theorem 2. If the support of a boolean function f on n variables is a k-dimensional subspace of , then the algebraic degree of f is .
2.2. Graph Theory
Since we use some results in graph theory and algebraic graph theory, we now recall some concepts and results in these field in the following.
The set of vertices and edges of a graph G are denoted by and , respectively. A graph with n vertices and m edges is called -graph. Two vertices are adjacent if there is an edge between them. A graph is called r-regular if every vertex is adjacent to exactly r vertices.
The adjacency matrix of G is a (0,1)-matrix the rows and columns of which are labeled by vertices and if then and , otherwise. The determinant is a polynomial of degree n which is called characteristic polynomial of G. The roots of this polynomial are called the eigenvalues of G. If are distinct eigenvalues of G with multiplicities respectively, we denote the spectrum of G by
Now we define the Cayley graph from [
14]. Let
A be a group and
be a subset of
A such that
and if
then
(symmetric subset of the group), the Cayley graph
is a simple graph where
The Cayley graph
is a
-regular graph. Here, we use [
15] to introduce four graph products namely, the Cartesian product, tensor product, strong product and lexicographic product and then we investigate some algebraic approachs for the Walsh spectrum of regarded boolean functions. The main question is under which conditions, the product of two Cayley graphs, is again a Cayley graph.
The Cartesian product of two graphs
and
denoted by
is the graph with vertex set
and edge set
If and are the eigenvalue multisets of and (respectively), then is the eigenvalue multiset of . In the following theorem, the conditions which shows when a Cartesian product of two Cayley graphs is again a Cayley graph, is investigated.
Theorem 3. [16] Let A and B be two groups. If and are two Cayley graphs, then the Cartesian product of two graphs is also a Cayley graph and where Let be an -graph and an -graph. The tensor product is a graph with vertex set and Suppose and are respectively the eigenvalue multisets of , then is the eigenvalue multiset of More generally, we have the following theorem.
Theorem 4. [16] Let A and B be two groups whose related Cayley graphs are and . Then the tensor product is also a Cayley graph where and The strong product of two graphs and denoted by is a graph with vertex set and edge set If and are respectively the eigenvalue multisets of and , then is the eigenvalue multiset of
Theorem 5. [16] Let A and B be two groups. If and are two Cayley graphs, then the strong product is also a Cayley graph and , where The lexicographic product
of two graphs
and
is one with vertex set
and
Theorem 6. [17] Let be a graph of order with spectrum and let be a p-regular graph of order with spectrum Then Theorem 7. [16] Let A and B be two groups. If and are two Cayley graphs, then the lexicographic product is also a Cayley graph in which and 3. Main Results
Constructing cryptographic boolean functions with different methods is a prevalent research field.
Here, we construct four new families of boolean functions by means of graph products with predictable Walsh spectrum and then we verify their correlation immunity, algebraic immunity and nonlinearity. For a given boolean function f, we suppose or the associated Cayley graph is simple. Let and be two boolean functions with associated Cayley graphs and , respectively. In the following, suppose .
First construction. The Cartesian product of two boolean functions can be defined as
with
Clearly,
and by Equation (1), one can conclude that the ANF of
is
The spectrum of the related Cayley graph on
is
Second construction. The tensor product of two boolean functions can be defined as
with
One can conclude that the ANF of
is
where, on the other hand, the spectrum of the related Cayley graph on
is
Third construction. In this construction we define the strong product of two boolean functions as
with
By Equation (1), it is easy to verify that the ANF of
is
where
The spectrum of the related Cayley graph on
is
Fourth construction. Here we define the lexicographic product of two boolean functions as
with
where
By Equation (1), one can see that the ANF of
is
The spectrum of the related Cayley graph on
is
Now we verify the cryptographic properties of these constructions. In the following theorems, let and be as above.
Theorem 8. In construction one, if and are correlation immune of order l, then is correlation immune of order l. Also if and are correlation immune of order l such that then is resilient.
Proof. Let
and
in which
Let
, then
Since and and are CI, we can verify that and hence □
Theorem 9. In the second construction, if and are l-CI, then is l-CI, and if then is l-resilient.
Proof. For any
with
and
, where
we prove
. This yields that
Since and and are CI, we have and hence □
Theorem 10. If and are l-CI, then is l-CI, and if then is l-resilient.
Proof. Since then for any with and we have On the other hand, are CI and which yields that and . This means that □
Theorem 11. For two boolean functions , the boolean function is not correlation immune.
Proof. Consider the element
such that
and
, where
In this case we have
In other words, if then and if then □
The algebraic immunity of these constructions is presented in the following:
Theorem 12. Let and be two boolean functions. Then
(i)
(ii)
(iii)
(iv)
Proof. (i)
is an annihilator of
so
(ii) If and are annihilators of and respectively, then and are annihilators of too.
(iii) If and are annihilators of and respectively, then and are annihilators of too.
(iv) If is an annihilator of , then is an annihilator of □
In the following theorem, we investigate nolinearity of these constructions.
Theorem 13. Let and . Then Proof. It is a straight result from Lemma 2 and the following conditions
(i)
(ii)
(iii)
(iv) □