Carlet - 2013 - Boolean Functions For Cryptography and Error-Correcting Codes-Annotated
Carlet - 2013 - Boolean Functions For Cryptography and Error-Correcting Codes-Annotated
Correcting Codes
Claude Carlet∗
∗
LAGA, University of Paris 8, France; e-mail: [email protected].
1
Contents
1 Introduction 5
6 Bent functions 78
6.1 The dual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
6.2 Bent functions of low algebraic degrees . . . . . . . . . . . . . 82
6.3 Bound on algebraic degree . . . . . . . . . . . . . . . . . . . . 84
6.4 Constructions . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
6.4.1 Primary constructions . . . . . . . . . . . . . . . . . . 85
2
6.4.2 Secondary constructions . . . . . . . . . . . . . . . . . 91
6.4.3 Decompositions of bent functions . . . . . . . . . . . . 99
6.5 On the number of bent functions . . . . . . . . . . . . . . . . 99
6.6 Characterizations of bent functions . . . . . . . . . . . . . . . 100
6.6.1 characterization through the NNF . . . . . . . . . . . 100
6.6.2 Geometric characterization . . . . . . . . . . . . . . . 101
6.6.3 characterization by second-order covering sequences . 102
6.7 Subclasses: hyper-bent functions . . . . . . . . . . . . . . . . 103
6.8 Superclasses: partially-bent functions, partial bent functions
and plateaued functions . . . . . . . . . . . . . . . . . . . . . 105
6.9 Normal and non-normal bent functions . . . . . . . . . . . . . 109
6.10 Kerdock codes . . . . . . . . . . . . . . . . . . . . . . . . . . 111
6.10.1 Construction of the Kerdock code . . . . . . . . . . . 111
3
9.1.5 Relationship between algebraic immunity, weight and
nonlinearity . . . . . . . . . . . . . . . . . . . . . . . . 138
9.2 The problem of finding functions achieving high algebraic im-
munity and high nonlinearity . . . . . . . . . . . . . . . . . . 139
9.3 The functions with high algebraic immunity found so far and
their parameters . . . . . . . . . . . . . . . . . . . . . . . . . 139
4
1 Introduction
A fundamental objective of cryptography is to enable two persons to commu-
nicate over an insecure channel (a public channel such as internet) in such
a way that any other person is unable to recover their message (called the
plaintext) from what is sent in its place over the channel (the ciphertext).
The transformation of the plaintext into the ciphertext is called encryption,
or enciphering. Encryption-decryption is the most ancient cryptographic
activity (ciphers already existed four centuries B. C.) but its nature has
deeply changed with the invention of computers, because the cryptanalysis
(the activity of the third person, the eavesdropper, who aims at recovering
the message) can use their power.
The encryption algorithm takes as input the plaintext and an encryption
key KE , and it outputs the ciphertext. If the encryption key is secret, then
we speak of conventional cryptography, of private key cryptography or of
symmetric cryptography. In practice, the principle of conventional cryptog-
raphy relies on the sharing of a private key between the sender of a message
(often called Alice in cryptography) and its receiver (often called Bob). If,
on the contrary, the encryption key is public, then we speak of public key
cryptography. Public key cryptography appeared in the literature in the late
seventies.
The decryption (or deciphering) algorithm takes as input the ciphertext and
a secret1 decryption key KD . It outputs the plaintext.
5
encryption keys and n decryption keys, when conventional cryptosystems
will need n2 = n(n−1)
2 keys. But all known public key cryptosystems are
much less efficient than conventional cryptosystems (they allow a much lower
data throughput) and they also need much longer keys to ensure the same
level of security. This is why conventional cryptography is still widely used
and studied nowadays. Thanks to public key cryptosystems, the share-out
of the necessary secret keys can be done without using a secure channel (the
secret keys for conventional cryptosystems are strings of a few hundreds of
bits only and can then be encrypted by public key cryptosystems). Proto-
cols specially devoted to key-exchange can also be used.
6
length n, to the finite field with two elements4 F2 ) play roles:
- every code of length 2n , for some positive integer n, can be interpreted
as a set of Boolean functions, since every n-variable Boolean function can
be represented by its truth table (an ordering of the set of binary vectors
of length n being first chosen) and thus associated with a binary word of
length 2n , and vice versa; important codes (Reed-Muller, Kerdock codes)
can be defined this way as sets of Boolean functions;
- the role of Boolean functions in conventional cryptography is even more
important: cryptographic transformations (pseudo-random generators in
stream ciphers, S-boxes in block ciphers) can be designed by appropriate
composition of nonlinear Boolean functions.
In both frameworks, n is rarely large, in practice. The error correcting
codes derived from n-variable Boolean functions have length 2n ; so, tak-
ing n = 10 already gives codes of length 1024. For reason of efficiency, the
S-boxes used in most block ciphers are concatenations of sub S-boxes on at
most 8 variables. In the case of stream ciphers, n was in general at most
equal to 10 until recently. This has changed with the algebraic attacks (see
[113, 117, 150] and see below) but the number of variables is now most often
limited to 20.
Despite the fact that Boolean functions are currently used in cryptog-
raphy and coding with low numbers of variables, determining and studying
those Boolean functions satisfying the desired conditions (see Subection 4.1
below) is not feasible through an exhaustive computer investigation: the
n
number |BF n | = 22 of n-variable Boolean functions is too large when n ≥ 6.
We give in table 1 below the values of this number for n ranging between 4
and 8.
n 4 5 6 7 8
|BF n | 216 232 264 2128 2256
≈ 6 · 104 4 · 109 1019 1038 1077
7
functions satisfying the desired conditions by simply picking up functions
at random is also impossible for these values of n, since visiting a non-
negligible part of all Boolean functions in 7 or more variables is not feasible,
even when parallelizing. The study of Boolean functions for constructing or
studying codes or ciphers is essentially mathematical. But clever computer
investigation is very useful to imagine or to test conjectures, and sometimes
to generate interesting functions.
8
2.1 Representation of Boolean functions
Among the classical representations of Boolean functions, the one which is
most usually used in cryptography and coding is the n-variable polynomial
representation over F2 , of the form
!
M Y M
f (x) = aI xi = aI xI , (1)
I∈P(N ) i∈I I∈P(N )
where P(N ) denotes the power set of N = {1, · · · , n}. Every coordinate xi
appears in this polynomial with exponents at most 1, because every bit in F2
equals its own square. This representation belongs to F2 [x1 , · · · , xn ]/(x21 ⊕
x1 , · · · , x2n ⊕ xn ). It is called the Algebraic Normal Form (in brief the ANF).
x1 x2 x3 f (x)
0 0 0 0
0 0 1 1
0 1 0 0
0 1 1 0
1 0 0 0
1 0 1 1
1 1 0 0
1 1 1 1
9
can be obtained by expanding the product (1 ⊕ x1 )(1 ⊕ x2 ) x3 . After similar
observations on f2 and f3 , we see that the ANF of f equals (1 ⊕ x1 )(1 ⊕
x2 ) x3 ⊕ x1 (1 ⊕ x2 ) x3 ⊕ x1 x2 x3 = x1 x2 x3 ⊕ x2 x3 ⊕ x3 . 2
Relationship
Q between a Boolean function and its ANF The prod-
uct xI = i∈I xi is nonzero if and only if xi is nonzero (i.e. equals 1) for
every i ∈ I, thatL
is, if I is included in the support of x; hence, the Boolean
function f (x) = I∈P(N ) aI xI takes value
M
f (x) = aI , (2)
I⊆supp(x)
where supp(x) denotes the support of x. IfLwe use the notation f (x) =
au xu , we obtain the relation f (x) = ux au , where u x means
L
u∈Fn
2
that supp(u) ⊆ supp(x) (we say that u is covered by x). A Boolean func-
tion f ◦ can be associated to the ANF of f : for n ◦
Levery x ∈u F2 ,◦ we set f (x) =
asupp(x) , that is, with the notation f (x) = u∈Fn au x : f (u) = au . Re-
2
◦
lation (2) shows that f is the image of f by the so-called binary Möbius
6
Another argument is that this mapping is a linear mapping from a vectorspace over F2
of dimension 2n to a vectorspace of the same dimension.
10
transform.
The converse is also true:
and thus
M M
g(x) = f (y) 1 .
y∈Fn
2 I∈P(N )/ supp(y)⊆I⊆supp(x)
L
The sum I∈P(N )/ supp(y)⊆I⊆supp(x) 1 is null if y 6= x, since the set {I ∈
P(N )/ supp(y) ⊆ I ⊆ supp(x)} contains 2wH (x)−wH (y) elements if supp(y) ⊆
supp(x), and none otherwise. Hence, g = f and, by uniqueness of the ANF,
bI = aI for every I. 2
Hence if, in the truth-table of f , the binary vectors are ordered in lexico-
graphic order, with the bit of higher weight on the right, the table of the
ANF equals the concatenation of the ANFs of the (n − 1)-variable functions
f (x1 , · · · , xn−1 , 0) and f (x1 , · · · , xn−1 , 0)⊕f (x1 , · · · , xn−1 , 1). We deduce the
following algorithm:
11
1. write the truth-table of f , in which the binary vectors of length n are
in lexicographic order as decribed above;
When the algorithm ends (i.e. when it arrives to functions in one variable
each), the global table gives the values of the ANF of f . The complexity of
this algorithm is of n 2n XORs.
Remark.
The algorithm works the same if the vectors are ordered in standard lex-
icographic order, with the bit of higher weight on the left (indeed, this
corresponds to applying it to f (xn , xn−1 , · · · , x1 )).
The algebraic degree is an affine invariant (it is invariant under the action
x1
x2
of the general affine group): for every affine isomorphism L : ... ∈
xn
x1 a1
x2 a2
Fn2 →
7 M × n
... ⊕ ... ∈ F2 (where M is a nonsingular n × n matrix
xn an
7
The truth-table of f0 (resp. f1 ) corresponds to the upper (resp. lower) half of the
table of f .
12
over F2 ), we have d◦ (f ◦ L) = d◦ f . Indeed, the composition by L clearly
cannot increase the algebraic degree, since the coordinates of L(x) have de-
gree 1. Hence we have d◦ (f ◦ L) ≤ d◦ f (this inequality is more generally
valid for every affine homomorphism). And applying this inequality to f ◦ L
in the place of f and to L−1 in the place of L shows the inverse inequality.
Two functions f and f ◦ L where L is an F2 -linear automorphism of Fn2 (in
the case case a1 = a2 = · · · = an = 0 above) will be called linearly equivalent
and two functions f and f ◦ L, where L is an affine automorphism of Fn2 ,
will be called affinely equivalent.
The algebraic degree being an affine invariant, Proposition 2 implies that
it also equals the maximum dimension of all the affine subspaces of Fn2 on
which f takes value 1 an odd number of times.
It is shown in [297] that, for every nonzero n-variable Boolean function f ,
denoting by g the binary Möbius transform of f , we have d◦ f + d◦ g ≥ n.
This same paper deduces characterizations and constructions of the func-
tions which are equal to their binary Möbius transform, called coincident
functions.
Remarks.
1. Every atomic function has algebraic degree n, since its ANF equals (x1 ⊕
1 )(x2 ⊕ 2 ) · · · (xn ⊕ n ), where i ∈ F2 . Thus, a Boolean function f has
algebraic degree n if and only if, in its decomposition as a sum of atomic
functions, the number of these atomic functions is odd, that is, if and only
if wH (f ) is odd. This property will have an important consequence on the
Reed-Muller codes and it will be also useful in Section 3.
2. If we know that the algebraic degree of an n-variable Boolean func-
tion f is bounded above by d < n, then the whole function can be recovered
from some of its restrictions (i.e., a unique function corresponds to this
partially defined Boolean function). Precisely, according to the existence
and uniqueness of the ANF, the knowledge of the restriction f|E of the
Boolean function f (of algebraic degree at most d) to a set E implies the
knowledge Lof the whole function if and only if the system of the equations
f (x) = a x I , with indeterminates a ∈ F , and where x
I∈P(N )/ |I|≤d I I 2
ranges over E (this makes |E| equations), has a unique solution8 . This
happens with the set Ed of all words of Hamming weights smaller than or
equal to d, since Relation (3) gives the value of aI (when I ∈ P(N ) has size
8
Taking f|E null leads to determining the so-called annihilators of the indicator of E
(the function 1E , also called characteristic function of E, defined by 1E (x) = 1 if x ∈ E
and 1E (x) = 0 otherwise); this is the core analysis of Boolean functions from the viewpoint
of algebraic attacks, see Subsection 4.1.
13
|I| ≤ d). Notice that Relation (2) allows then to express the value of f (x)
for every x ∈ Fn2 by means of the values taken by f at all words of Hamming
weights smaller than or equal to d. We have (using the notation au instead
of aI , see above):
M M M
f (x) = au = au = f (y) |{u ∈ Ed / y u x|
ux ux yx
u∈Ed y∈Ed
d−wH (y)
M X wH (x) − wH (y)
= f (y) [mod 2] .
i
yx i=0
y∈Ed
More generally, the whole function f can be recovered from f|E for every
set E affinely equivalent to Ed , according to the affine invariance of the
algebraic degree. This also generalizes to “pseudo-Boolean” (that is, real-
valued) functions, if we consider the numerical degree (see below) instead of
the the algebraic degree, cf. [350]. 2
The simplest functions, from the viewpoint of the ANF, are those Boolean
functions of algebraic degrees at most 1, called affine functions:
f (x) = a1 x1 ⊕ · · · ⊕ an xn ⊕ a0 .
They are the sums of linear and constant functions. Denoting by a · x the
usual inner product a · x = a1 x1 ⊕ · · · ⊕ an xn in Fn2 , or any other inner
product (symmetric and such that, for every a 6= 0, the function x → a · x
is a nonzero linear form on Fn2 ), the general form of an n-variable affine
function is a · x ⊕ a0 (with a ∈ Fn2 ; a0 ∈ F2 ).
Affine functions play an important role in coding (they are involved in the
definition of the Reed-Muller code of order 1, see Subsection 3.1) and in cryp-
tography (the Boolean functions used as “nonlinear functions” in cryptosys-
tems must behave as differently as possible from affine functions, see Sub-
section 4.1).
14
we choose an F2 -basis (α1 , · · · , αn ) of this vectorspace, then every element
x ∈ Fn2 can be identified with x1 α1 + · · · + xn αn ∈ F2n . We shall still denote
by x this element of the field.
1. It is shown in the chapter “Vectorial Boolean Functions for Cryptogra-
phy” (see another proof below) that every mapping from F2n into F2n admits
a (unique) representation as a polynomial
n −1
2X
f (x) = δi xi (4)
i=0
15
3. We come back to the univariate representation. Let us see how it can
be obtained from the truth table of the function and represented in a con-
venient way by using the notation trn . Denoting by α a primitive element
n
of the field F2n (that is, an element such that F2n = {0, 1, α, α2 , · · · , α2 −2 },
which always exists [248]), the Mattson-Solomon polynomial of the vector
n
(f (1), f (α), f (α2 ), · · · , f (α2 −2 )) is the polynomial [258]
n −1
2X n −2
2X
2n −1−j
A(x) = Aj x = A−j xj
j=1 j=0
with: n −2
2X
Aj = f (αk )αkj .
k=0
16
useful to distinguish the different expressions by different names. We shall
call globally “trace representations” the three expressions (4), (5) and (6).
Trace representations and the algebraic normal form are closely related. Let
us see how the ANF can be Pnobtained from the univariate representation:
we express x in the form i=1 xi αi , where (α1 , · · · , αn ) is a basis of the
F2 -vectorspace F2 . Recall P
n that, for every j ∈ Z/(2n − 1)Z, the binary
expansion of j has the form s∈E 2s , where E ⊆ {0, 1, · · · , n − 1}. The size
of E is often called the 2-weight of j and written w P2 (j). We write more
n−1 s
conveniently the binary expansion of j in the form: s=0 js 2 , js ∈ {0, 1}.
We have then:
n −1
2X n
!j
X
f (x) = δj xi αi
j=0 i=1
2n −1 n
!Pn−1
s=0 js 2
s
X X
= δj xi αi
j=0 i=1
n −1
2X n−1 n
!js
s
Y X
= δj xi αi2 .
j=0 s=0 i=1
Proposition 3 [51] Let a be any element of F2n and k any integer [mod
2n − 1]. If f (x) = trn (axk ) is not the null function, then it has algebraic
degree w2 (k).
Proof. Let nk be again the size of the cyclotomic class containing k. Then
the univariate representation of f (x) equals
nk 2nk n−nk
n 2n n−n
2
a + a2 + a2 + · · · + a2 xk + a + a2 k + a2 k + · · · + a2 k x2k
n 2n n−n
2nk −1 n −1
+ · · · + a + a2 k + a2 k + · · · + a2 k x2 k k .
17
All the exponents of x have 2-weight w2 (k) and their coefficients are nonzero
if and only if f is not null. 2
The representation over the reals has proved itself to be useful for
characterizing several cryptographic criteria [63, 87, 88] (see Sections 6 and
7). It represents Boolean functions, and more generally real-valued functions
on Fn2 (that are called n-variable pseudo-Boolean functions) by elements of
R [x1 , · · · , xn ]/(x21 −x1 , · · · , x2n −xn ) (or of Z [x1 , · · · , xn ]/(x21 −x1 , · · · , x2n −xn )
for integer-valued functions). We shall call it the Numerical Normal Form
(NNF).
The existence of this representation for every pseudo-Boolean function is
easy to show with the same arguments as for the ANFs of Boolean functions
(writing 1 − xi instead of 1 ⊕ xi ). The linear mapping from every element of
the 2n -th dimensional R-vectorspace R [x1 , · · · , xn ]/(x21 − x1 , · · · , x2n − xn ) to
the corresponding pseudo-Boolean function on Fn2 being onto, it is therefore
one to one (the R-vectorspace of pseudo-Boolean functions on Fn2 having
also dimension 2n ). We deduce the uniqueness of the NNF.
We call the degree of the NNF of a function its numerical degree. Since
the ANF is the mod 2 version of the NNF, the numerical degree is always
bounded below by the algebraic degree. It is shown in [286] that, if a Boolean
function f has no ineffective variable (i.e. if it actually depends on each of
its variables), then the numerical degree of f is greater than or equal to
log2 n − log2 log2 n.
The numerical degree is not an affine invariant. But the NNF leads to an
affine invariant (see a proof of this fact in [88]; see also [191]) which is more
discriminant than the algebraic degree:
18
the NNF of f is a multiple of 2i .
Example: the generalized degree of any nonzero affine function is the se-
quence of all positive integers.
xI
P
Similarly as for the ANF, a (pseudo-) Boolean function f (x) = I∈P(N ) λI
takes value: X
f (x) = λI . (7)
I⊆supp(x)
But, contrary to what we observed for the ANF, the reverse formula is not
identical to the direct formula:
X
∀I ∈ P(N ), λI = (−1)|I| (−1)wH (x) f (x). (8)
x∈Fn
2 | supp(x)⊆I
Thus, function f and its NNF are related through the Möbius transform
over integers. X
Proof. Let us denote the number (−1)|I| (−1)wH (x) f (x) by µI
x∈Fn2 | supp(x)⊆I
I
P
and consider the function g(x) = I∈P(N ) I x . We have
µ
X X X
g(x) = µI = (−1)|I| (−1)wH (y) f (y)
I⊆supp(x) I⊆supp(x) y∈Fn
2 | supp(y)⊆I
and thus
X X
g(x) = (−1)wH (y) f (y) (−1)|I| .
y∈Fn
2 I∈P(N )/ supp(y)⊆I⊆supp(x)
X
The sum (−1)|I| is null if supp(y) 6⊆ supp(x). It
I∈P(N )/ supp(y)⊆I⊆supp(x)
is also null if supp(y) is included in supp(x), but different. Indeed, de-
PwH (x)−wH (y) wH (x)−wH (y)
noting |I| − wH (y) by i, it equals ± i=0 i (−1)i =
±(1 − 1)wH (x)−wH (y) = 0. Hence, g = f and, by uniqueness of the NNF, we
have µI = λI for every I. 2
19
We have seen that the ANF of any Boolean function can be deduced from
its NNF by reducing it modulo 2. Conversely, the NNF can be deduced from
the ANF since we have
I
M Y
f (x) = aI xI ⇐⇒ (−1)f (x) = (−1)aI x
I∈P(N ) I∈P(N )
Y
⇐⇒ 1 − 2 f (x) = (1 − 2 aI xI ).
I∈P(N )
Expanding this last equality gives the NNF of f (x) and we have [87]:
2n
X X
λI = (−2)k−1 aI1 · · · aIk , (9)
k=1 {I1 ,...,Ik } |
I1 ∪···∪Ik =I
some Boolean function if and only if we have P 2 (x) = P (x), for every x ∈ Fn2
(which is equivalent to P = P 2 in R [x1 , · · · , xn ]/(x21 − x1 , · · · , x2n − xn )), or
equivalently, denoting supp(x) by I:
2
X X
∀I ∈ P(N ), λJ = λJ . (10)
J⊆I J⊆I
Remark.
Imagine that we want to generate a random Boolean function through its
NNF (this can be useful, since we will see below that the main cryptographic
criteria, on Boolean functions, can be characterized, in simple ways, through
their NNFs). Assume that we have already chosen the values λJ for every
J ⊆ I (whereP I ∈ P(N ) is some multi-index) except for I itself. Let us de-
note the sum J⊆I | J6=I λJ by µ. Relation (10) gives (λI +µ)2 = λI +µ. This
equation of degree 2 has two solutions (it has same discriminant as the equa-
tion λI 2 = λI , that is 1). One solution corresponds to the choice P (x) = 0
(where I = supp(x)) and the other one corresponds to the choice P (x) = 1.
2
Thus, verifying that a polynomial P (x) = I∈P(N ) λI xI with real coeffi-
P
cients represents a Boolean function can be done by checking 2n relations.
But it can also be done by verifying a simple condition on P and checking
a single equation.
20
Proposition 5 Any polynomial P ∈ R [x1 , · · · , xn ]/(x21 − x1 , · · · , x2n − xn )
is the NNF of an integer-valued function if and only if all of its coefficients
are integers. Assuming that thisPcondition is satisfied, P is the NNF of a
2
P
Boolean function if and only if: x∈Fn P (x) = x∈Fn P (x).
2 2
Proof. The first assertion is a direct consequence of Relations (7) and (8).
If all the coefficients of P are integers, then we have P 2 (x) ≥ P (x) for
every x; this implies that the 2n equalities, expressing that P
the correspond-
ing function is Boolean, can be reduced to the single one x∈Fn P 2 (x) =
2
2
P
x∈F2n P (x).
The translation of this characterization in terms of the coefficients of P is
given in Relation (32) below.
where x · u is some chosen inner product (for instance the usual inner prod-
uct x · u = x1 u1 ⊕ · · · ⊕ xn un ).
21
Hence, if in the tables of values of the functions, the vectors are ordered
in lexicographic order with the bit of highest weight on the right, the table
of ϕ
b equals the concatenation of those of the discrete Fourier transforms of
the (n−1)-variable functions ψ0 (x) = ϕ(x1 , · · · , xn−1 , 0)+ϕ(x1 , · · · , xn−1 , 1)
and ψ1 (x) = ϕ(x1 , · · · , xn−1 , 0)−ϕ(x1 , · · · , xn−1 , 1). We deduce the following
algorithm:
1. write the table of the values of ϕ (its truth-table if ϕ is Boolean), in
which the binary vectors of length n are in lexicographic order as de-
cribed above;
9
The table of values of ϕ0 (resp. ϕ1 ) corresponds to the upper (resp. lower) half of the
table of ϕ.
10
The symbol χ is used here because the sign function is the image of f by the non-
trivial character over F2 (usually denoted by χ); to be sure that the distinction between
the discrete Fourier transforms of f and of its sign function is easily done, we change
the font when we deal with the sign function; many other ways of denoting the discrete
Fourier transform can be found in the literature.
22
x1 x2 x3 x4 x1 x2 x3 x1 x4 f (x) fχ (x) fbχ (x)
0 0 0 0 0 0 0 1 2 4 0 0
1 0 0 0 0 0 0 1 0 0 0 0
0 1 0 0 0 0 1 -1 -2 -4 8 8
1 1 0 0 0 0 1 -1 0 0 0 8
0 0 1 0 0 0 0 1 2 0 0 0
1 0 1 0 0 0 0 1 0 0 0 0
0 1 1 0 0 0 1 -1 -2 0 0 0
1 1 1 0 1 0 0 1 0 0 0 0
0 0 0 1 0 0 0 1 0 0 0 4
1 0 0 1 0 1 1 -1 2 4 4 -4
0 1 0 1 0 0 1 -1 0 0 0 4
1 1 0 1 0 1 0 1 -2 0 4 -4
0 0 1 1 0 0 0 1 0 0 0 -4
1 0 1 1 0 1 1 -1 2 0 -4 4
0 1 1 1 0 0 1 -1 0 0 0 4
1 1 1 1 1 1 1 -1 2 -4 4 -4
We shall call Walsh transform 11 of f the Fourier transform of the sign func-
tion fχ . We give in Table 2 an example of the computation of the Walsh
transform, using the algorithm recalled above.
Notice that fχ being equal to 1 − 2f , we have
fbχ (0)
wH (f ) = 2n−1 − . (13)
2
11
The terminology is not much more settled in the literature than is the notation; we take
advantage here of the fact that many authors, when working on Boolean functions, use the
term of Walsh transform instead of discrete Fourier transform: we call Fourier transform
the discrete Fourier transform of the Boolean function itself and Walsh transform (some
authors write “Walsh-Hadamard transform”) the discrete Fourier transform of its sign
function.
23
Relation (13) applied to f ⊕ `a , where `a (x) = a · x, gives:
fbχ (a)
dH (f, `a ) = wH (f ⊕ `a ) = 2n−1 − . (14)
2
The mapping f 7→ fbχ (0) playing an important role, and being applied in the
sequel to various functions deduced from f , we shall also use the specific
notation X
F(f ) = fbχ (0) = (−1)f (x) . (15)
x∈Fn
2
24
Proof. For every u ∈ Fn2 , we have 1c u·x . If the linear
P
E (u) = x∈E (−1)
form x ∈ E 7→ u · x is not null on E (i.e. if u 6∈ E ⊥ ) then 1cE (u) is null,
⊥
according to Lemma 1. And if u ∈ E , then it clearly equals |E|. 2
We apply this last equality to the function (−1)a·x ϕ(x + b), whose Fourier
transform’s value at (−1)b·(a+u) ϕ(a
P u equalsb·(a+u) b + u),Paccording to Proposi-
tion 6. We deduce u∈E (−1) b + u) = |E| x∈E ⊥ (−1)a·x ϕ(x + b),
ϕ(a
which is equivalent to Equality (17). 2
25
takes null value at every nonzero vector; since the Fourier transform of a
function null at every nonzero vector is constant, Corollary 2 implies that
a function is constant if and only if its Fourier transform is null at every
nonzero vector. Similarly, ϕ is constant on Fn2 \ {0} if and only if ϕ b is
constant on Fn2 \ {0}.
A classical property of the Fourier transform is to be an isomorphism
from the set of pseudo-Boolean functions on Fn2 , endowed with the so-called
convolutional product (denoted by ⊗), into this same set, endowed with the
usual (Hadamard) product (denoted by ×). We recall the definition of the
convolutional product between two functions ϕ and ψ:
X
(ϕ ⊗ ψ)(x) = ϕ(y)ψ(x + y)
y∈Fn
2
Proof. We have
X X X
\
ϕ ⊗ ψ(u) = (ϕ ⊗ ψ)(x) (−1)u·x = ϕ(y)ψ(x + y) (−1)u·x
x∈Fn
2 x∈Fn n
2 y∈F2
X X
= ϕ(y)ψ(x + y) (−1)u·y⊕u·(x+y) .
x∈Fn
2 y∈Fn
2
Thus
X X
\
ϕ ⊗ ψ(u) = ϕ(y)(−1)u·y ψ(x + y) (−1)u·(x+y)
y∈Fn
2 x∈Fn
2
X X
= ϕ(y)(−1)u·y ψ(x) (−1)u·x = ϕ(u)
b ψ(u).
b
y∈Fn
2 x∈Fn
2
26
same corollary, we deduce Relation (21). 2
This is why, when dealing with Boolean functions, we shall most often pre-
fer using the Walsh transform of f (that is, the Fourier transform of the
function fχ = (−1)f (x) ) instead of the Fourier transform of f .
27
Applied at vector 0, this gives
X
F(Db f ) = F 2 (f ). (26)
b∈Fn
2
Corollary 1 and Relation (25) imply that, for every vector subspace E of Fn2
and every vectors a and b (cf. [42]):
X 2 X
(−1)b·u fbχ (u) = |E|(−1)a·b (−1)a·e F(De f ) . (27)
u∈a+E e∈b+E ⊥
Another interesting relation has been also shown in [42] (see also [250]):
Proof. Every element of Fn2 can be written in a unique way in the form x +
a where x ∈ E and a ∈ E 0 . For P every e ∈ E, we have F(De f ) =
f (x+a)⊕f (x+e+a) =
P
x∈E;a∈E 0 (−1) a∈E 0 F(De ha ). We deduce from Rela-
⊥
tion (27), applied with E instead of E, and with a = b = 0, that
!
X 2 X X X
⊥ ⊥
f (u) = |E |
b
χ F(De f ) = |E | F(De ha )
u∈E ⊥ e∈E e∈E a∈E 0
!
X X
= |E ⊥ | F(De ha ) .
a∈E 0 e∈E
Thus, according to Relation (26) applied with E in the place of Fn2 (re-
call that E can be identified with Fk2 where k is the dimension of E):
P b2 ⊥
P 2 2
u∈E ⊥ fχ (u) = |E | a∈E 0 F (ha ).
28
Proposition 10 Let ϕ be any pseudo-Boolean function on Fn2 . Let M be a
x1
x2
... 7→
nonsingular n×n binary matrix and L the linear isomorphism L :
xn
x1
x2 0 −1 and by L0 the
M ×
... . Let us denote by M the transpose of M
xn
x1 x1
x 2 x
linear isomorphism L0 : 7→ M 0 × .2 (note that L0 is the adjoint
.
.. ..
xn xn
operator of L−1 , that is, satisfies u · L−1 (x) = L0 (u) · x for every x and u).
Then
ϕ[◦L=ϕ b ◦ L0 . (29)
29
if k = 2, since the n-variable Boolean functions of degrees at most n − 1
are those Boolean functions of even Hamming weights, and f (x) ⊕ u · x
has degree at most n − 1 too for every u, since n ≥ 2. It is finally also
valid for k = n, since the affine functions are characterized by the fact that
their Walsh transforms take values ±2n and 0 only (more precisely, their
Walsh transforms take value ±2n once, and all their other values are null,
because of Parseval’s relation). The converse is false for any other value of
k. Indeed, we shall see below that it is false for k = n − 1 (n ≥ 4), since
there exist quadratic functions f whose Walsh transforms take values ±2n/2
for n even, ≥ 4, and ±2(n+1)/2 for n odd, ≥ 5. It is then an easy task to
deduce that the converse of Proposition 11 is also false for any value of k
such that 3 ≤ k ≤ n − 1: we choose a quadratic function g in 4 variables,
whose Walsh transform value at 0 equals 22 , that is, whose weight equals
23 − 2 = 6, and we take f (x) = g(x1 , x2 , x3 , x4 ) x5 · · · xl (5 ≤ l ≤ n). Such
function has algebraic degree l − 2 and its weight equals 6; hence its Walsh
transform value at 0 equals 2n − 12 and is therefore not divisible by 2k with
k = n − (l − 2) + 1 = n − l + 3 ≥ 3.
It is possible to characterize the functions whose Walsh transform values are
divisible by 2n−1 : they are the affine functions and the sums of an indicator
of a flat – an affine space – of co-dimension 2 and of an affine function (they
have degree at most 2 according to Proposition 11 and the characteriza-
tion follows from the results of subsection 5.2). Determining those Boolean
functions whose Walsh transform is divisible by 2k is an open problem for
3 ≤ k ≤ n − 2.
Note that it is possible to characterize the fact that a Boolean function
has degree at most d by means of its Fourier or Walsh transform: since a
Boolean function has algebraic degree at most d if and only if its restriction
to any (d + 1)-dimensional flat has an even weight, we can apply Poisson
summation formula (17).
30
that is ϕ ⊗ ϕ = 22n δ0 . But these characterizations are not easy to use
mathematically and they are neither easily computable: they need to check
2n divisibilities by 2n for the Fourier transforms of integer-valued functions,
and 2n equalities for the Walsh transforms of Boolean functions.
Since the main cryptographic criteria on Boolean functions will be char-
acterized below as properties of their Walsh transforms, it is important to
have characterizations which are as simple as possible. We have seen that
characterizing the NNFs of integer-valued (resp. Boolean) functions is easy
(resp. easier than with Fourier transform). So it is useful to clarify the
relationship between these two representations.
31
than D and that the converse is true, according P to Relation (31)
Applying Relation (30) to ϕ(x) = P (x) = I∈P(N ) λI xI and to ϕ(x) =
P
P 2 (x) = I∈P(N ) xI , with u = 0, we deduce
P
0
J,J ∈P(N ) | I=J∪J 0 λ J λJ 0
2.2.2 The size of the support of the Fourier transform and its
relationship with Cayley graphs
Let f be a Boolean function and let Gf be the Cayley graph associated
to f : the vertices of this graph are the elements of Fn2 and there is an edge
between two vertices u and v if and only if the vector u + v belongs to the
support of f . Then (see [18]), if we multiply by 2n the values fb(a), a ∈ Fn2 ,
of the Fourier spectrum of f , we obtain the eigenvalues of the graph Gf
(that is, by definition, the eigenvalues of the adjency matrix (Mu,v )u,v∈Fn2
of Gf , whose term Mu,v equals 1 if u + v belongs to the support of f , and
equals 0 otherwise).
As a consequence, the cardinality Nfb of the support {a ∈ Fn2 / fb(a) 6= 0} of
the Fourier transform of any n-variable Boolean function f is greater than
or equal to the cardinality Ngb of the support of the Fourier transform of
any restriction g of f , obtained by keeping constant some of its input bits.
Indeed, the adjency matrix Mg of the Cayley graph Gg is a submatrix of
the adjency matrix Mf of the Cayley graph Gf ; the number Ngb equals the
rank of Mg , and is then smaller than or equal to the rank Nfb of Mf .
This property can be generalized to any pseudo-Boolean function ϕ. More-
over, a simpler proof is obtained by using the Poisson summation for-
32
mula (17): let I be any subset of N = {1, · · · , n}; let E be the vector sub-
space of Fn2 equal to {x ∈ Fn2 / xi = 0, ∀i ∈ I}; we have E ⊥ = {x ∈ Fn2 / xi =
0, ∀i ∈ N \ I} and the sum ofP E and of E ⊥ is direct; then, for every a ∈ E ⊥
and every b ∈ E, the equality u∈a+E (−1)b·u ϕ(u) b = |E| (−1)a·b ψ(a),
b where
⊥
ψ is the restriction of ϕ to b + E , implies that, if Nfb = k, that is, if ϕ(u)
b
is nonzero for exactly k vectors u ∈ Fn , then clearly ψ(a)
2
b is nonzero for at
most k vectors a ∈ E ⊥ .
If ϕ is chosen to be a Boolean function of algebraic degree d and if we choose
for I a multi-index of size d such that xI is part of the ANF of ϕ, then the re-
striction ψ has odd weight and its Fourier transform takes therefore nonzero
values only. We deduce (as proved in [18]) that Nϕb ≥ 2d . Notice that Nϕb
equals 2d if and only if at most one element (that is, exactly one) satisfying
ϕ(u)
b 6= 0 exists in each coset of E, that is, in each set obtained by keeping
constant the coordinates xi such that i ∈ I.
The number Nϕb is also bounded above by D n
P
i=0 i , where D is the numer-
ical degree of ϕ. This is a direct consequence of Relation (30) and of the
observation which follows Relation (31).
The graph viewpoint also gives insight on the Boolean functions whose
Fourier spectra have at most three values (see [18]).
A hypergraph can also be related to the ANF of a Boolean function f . A
related (weak) upper bound on the nonlinearity of Boolean functions (see
definition in Subsection 4.1) has been pointed out in [364].
33
from y, and this is equivalent to saying that the Hamming distance between
any two different codewords is greater than or equal to 2t+1. This necessary
condition is also sufficient13 . Thus, the problem of generating a good code
consists in finding a set C of binary words of the same length whose mini-
mum distance mina6=b∈C dH (a, b) (where dH (a, b) = |{i/ ai 6= bi }|) is high14 .
34
codewords cover the whole space, i.e. the minimum integer t such that every
binary word of length N lies at Hamming distance at most t from at least one
codeword, i.e. the maximum multiplicity of errors that have to be corrected
when maximum likelihood decoding is used on a binary symmetric channel.
The covering radius of a code is an important parameter [111], which can be
used for analyzing and improving the decoding algorithms devoted to this
code.
35
Cyclic codes over F2 can also be considered in terms of the trace function
and therefore viewed as sets of Boolean functions (when their length is 2n −1,
recall we assume this). Any codeword of a cyclic code with non-zeroes αi
for
Pl i in the cyclotomic classes containing u1 , · · · , ul can be represented as
tr (a x −ui ), a ∈ F n .
i=1 n i i 2
The functions of Hamming weight 2n−r and degree r have been charac-
terized, see a proof in [258]. We give below a proof which brings a little
more insight on the reasons of this characterization.
36
have
Qr linearly independent linear parts, and the ANF of its indicator equals
i=1 `i (x). Conversely, Qlet f be a function of algebraic degree r and of Ham-
ming weight 2n−r . Let i∈I xi be a monomial of degree r in the ANF of f
and let J = {1, · · · , n} \ I. For every vector α ∈ FJ2 , let us denote by fα the
restriction of f to the flat {x ∈ Fn2 ; ∀j ∈ J, xj = αj }. According to the proof
of Theorem 1, and since f has Hamming weight 2n−r , each function fα is
the indicator of a singleton {aα }. Let us prove that the mapping a : α → aα
is affine, i.e. that, for every α, β, γ ∈ FJ2 , we have aα+β+γ = aα + aβ + aγ
(this will complete the proof of the proposition since, denoting by xJ the
vector of FJ2 whose coordinates match the corresponding coordinates of x,
the support of f equals the set {x ∈ Fn2 / xI = axJ } and that the equality
xI = axJ is equivalent to r linearly independent linear equations). Proving
this is equivalent to proving that the function of Hamming weight at most
4 equal to fα+β+γ ⊕ fα ⊕ fβ ⊕ fγ has algebraic degree at most r − L2. But
more generally, for every k-dimensional flat A of FJ2 , the function α∈A fα
has degree at most r − k (this can be easily proved by induction on k, using
that f has degree r). 2
Remark. Q
1. The proof of Theorem 1 shows in fact that, if a monomial Q i∈I xi has
coefficient 1 in the ANF of f , and if every other monomial i∈J xi such that
I ⊂ J has coefficient 0, then the function has weight at least 2n−|I| . Apply-
ing this observation to the Möbius transform f ◦ of f - whose definition has
been given after Relation (2) - shows that, if there exists a vector x ∈ Fn2
such that f (x) = 1 and f (y) = 0 for every vector y 6= x whose support
contains supp(x), then the ANF of f has at least 2n−wH (x) terms (this has
been first observed in [364]). Indeed, the Möbius transform of f ◦ is f .
2. The d-dimensional subspace E = {x ∈ Fn2 / xi = 0, ∀i 6∈ I}, in the proof
of Theorem 1, is a maximal odd weighting subspace: the restriction of f to
E has odd weight, and the restriction of f to any of its proper superspaces
has even weight (i.e. the restriction of f to any coset of E has odd weight).
Similarly as above, it can be proved, see [364], that any Boolean function
admitting a d-dimensional maximal odd weighting subspace E has weight
at least 2n−d .
37
n n
sion 1+n+ 2 +· · ·+
(since this is the number of monomials of degrees at
r
n n
most r, which constitute a basis of R(r, n)) and thus, it has 21+n+( 2 )+···+( r )
elements.
For r = 1, it equals the set of all affine functions. Notice that the weight of
any non-constant affine function being equal to the size of an affine hyper-
plane, it equals 2n−1 .
Historic note: the Reed-Muller code R(1, 5) was used in 1972 for trans-
mitting the first black-and-white photographs of Mars. It has 26 = 64 words
of length 25 = 32, with mutual distances at least 24 = 16. Each codeword
corresponded to a level of darkness (this made 64 different levels). Up to
= 7 errors could be corrected in the transmission of each codeword. 2
16−1
2
(the first row corresponds to the constant function 1 and the other rows
correspond to the coordinate functions x1 , · · · , x4 )15 .
The duals of Reed-Muller codes are Reed-Muller codes:
Theorem 2 The dual
M
R(r, n)⊥ = {f ∈ BF n / ∀g ∈ R(r, n), f · g = f (x) g(x) = 0}
x∈Fn
2
38
r, the product function f g (whose value at any x ∈ Fn2 equals f (x)g(x)) has
algebraic degree at most n − 1. This is clearly equivalent to the fact that f
has algebraic degree at most n − r − 1. 2
n j
If the vector-space F2 is identified with the field F2n , the functions trn (ax )
such that w2 (j) ≤ n − r − 1 being a generating family of R(n − r − 1, n)
(according to what we have seen on the trace representation of Boolean
functions), we have that a Boolean function f belongsP to R(r, n) if and only
if, for every j such that w2 (j) ≤ n − r − 1, we have x∈F2n f (x) trn (axj ) = 0
for every a ∈ F2n , that is, x∈F2n f (x) xj = 0.
P
The Reed-Muller codes are invariant under the action of the general
affine group. More precisely, it is a simple matter to show that, for any
1 ≤ r ≤ n − 1, the automorphism group of R(r, n) (that is, the group of
all permutations σ of Fn2 such that f ◦ σ ∈ R(r, n) for every f ∈ R(r, n))
equals the general affine group. The sets R(r, n) or R(r, n)/R(r0 , n) have
been classified under this action for some values of r, of r0 < r and of n,
see [183, 185, 30, 259, 341, 342].
The Reed-Muller code R(r, n) is an extended cyclic code for every r <
n (see [258]): the zeroes of the corresponding cyclic code (R∗ (r, n), the
punctured Reed-Muller code of order r) are the elements αi such that 1 ≤ i ≤
2n −2 and such that the 2-weight of i is at most equal to n−r−1. Indeed, the
n
codewords of R∗ (r, n) are the vectors of the form (g(1), g(α), · · · , g(α2 −2 ))
where g is a Boolean function ofPalgebraic degree at most r; such function
has univariate polynomial form 0≤j≤2n −2 gj xj and we have
w2 (j)≤r
X X X
g(αl )αli = gj αl(i+j)
0≤l≤2n −2 0≤j≤2n −2 0≤l≤2n −2
w2 (j)≤r
39
or equivalently the possible weights in R(r, n) (or better, the weight distri-
bution of R(r, n))? The answer, which is useful for improving the efficiency
of the decoding algorithms and for evaluating their complexities, is known
for every n if r ≤ 2: see Subsection 5.2. For r ≥ n − 3, it can also be
deduced from the very nice relationship, due to F. J. MacWilliams, existing
between every linear code and its dual: let C beP any binary linear code of
length N ; consider the polynomial WC (X, Y ) = N i=0 Ai X
N −i Y i where A
i
is the number of codewords of weight i. This polynomial is called the weight
enumerator of C and describes16 the weight distribution (Ai )0≤i≤N of C.
Then (see [258, 298])
greater than or equal to u - and buc denotes the integer part (this can also be
shown by using the properties of the NNF, see [87]). Moreover,l if f mhas de-
h n−d0 i
gree d and g has degree d0 ≤ d, then dH (f, g) ≡ wH (f ) mod 2 d [209]
(see also [195]). In [36], A. Canteaut gives further properties of the weights
16
WC is a homogeneous version of the classical generating series for the weight distri-
bution of C.
40
in f ⊕ R(1, n). Kasami and Tokura [207] have shown that the only weights
in R(r, n) occuring in the range [2n−r ; 2n−r+1 [ are of the form 2n−r+1 −2i for
some i; and they have completely characterized the codewords with these
weights (and computed their number). The functions whose weights are
between the minimum distance 2n−r and 2.5 times the minimum distance
have also been characterized, in [208].
The principle of MacWilliams’ identity can also be applied to nonlinear
codes. When C is not linear, the weight distribution of C has no great
relevance. The distance distribution has morePinterest. We consider the
1 N N −i Y i , where B
distance enumerator of C: DC (X, Y ) = |C| i=0 Bi X i
is the size of the set {(x, y) ∈ C 2 / dH (x, y) = i}. Note that, if C is
linear, then D QCN = 1−(x
WC . Similarly as above, we see that DC (X, Y ) =
1 P
X i ⊕yi ) Y xi ⊕yi ; we deduce that the polynomial D (X+
|C| (x,y)∈C 2 i=1 C
1 P QN x ⊕y
Y, X − Y ) equals |C| (x,y)∈C 2 i=1 (X + (−1) i i Y ). Expanding these
QN
1 P
X 1−bi ((−1)xi ⊕yi Y )bi , that
P
products, we obtain |C| (x,y)∈C 2 b∈FN i=1
2
is
!2
1 X N −wH (b) wH (b) X b·x
DC (X + Y, X − Y ) = X Y (−1) (34)
|C|
b∈F2 N x∈C
It is shown in [52] (see the remark of Subsection 5.2 in the present chap-
ter) that for every Boolean function f on Fn2 , there exists an integer m and
a Boolean function g of algebraic degree at most 3 on Fn+2m2 whose Walsh
transform satisfies: gc (0) = 2 m fb (0). This means that the weight of f is
χ χ
related to the weight of a function of degree at most 3 (but in a number of
variables which can be exponentially larger) in a simple way. This shows
that the distances in R(3, n) can be very diverse, contrary to those in R(2, n).
2
41
4 Boolean functions and cryptography
Stream ciphers are based on the so-called Vernam cipher (see Figure 1) in
which the plaintext (a binary string of some length) is bitwise added to a
(binary) secret key of the same length, in order to produce the ciphertext.
The Vernam cipher is also called the one time pad because a new random
secret key must be used for every encryption. Indeed, the bitwise addition
of two ciphertexts corresponding to the same key equals the addition of the
corresponding plaintexts, which gives much information on these plaintexts
(it is often enough to recover both plaintexts; some secret services and spies
learned this at their own expenses!).
Key Key
The Vernam cipher, which is the only known cipher offering uncondi-
tional security (see [332]) if the key is truly random and if it is changed for
every new encryption, was used for the communication between the heads of
USA and USSR during the cold war (the keys being carried by diplomats)
and by some secret services.
In practice, since the length of the private key must be equal to the
length of the plaintext, pseudo-random generators are most often used in
order to minimize the size of the private key (but the unconditional security
is then no longer ensured): a method is chosen for producing long pseudo-
random sequences from short random secret keys (only the latter are actually
shared; the method is supposed to be public; according to the Kerckhoffs
principle, only the parameters which can be used by the attacker to break
the system must be kept secret). The pseudo-random sequence is used in
the place of the key in a Vernam cipher. For this reason, it is also called
the keystream. If the keystream only depends on the key (and not on the
plaintext), the cipher is called synchronous 17 . Stream ciphers, because they
operate on data units as small as a bit or a few bits, are suitable for fast
17
There also exist self-synchronous stream ciphers, in which each keystream bit depends
42
telecommunication applications. Having also a very simple construction,
they are easily implemented both in hardware and software.
The first method for generating a pseudo-random sequence from a secret
key has used Linear Feedback Shift Registers (LFSR). In such an LFSR
L L L
Figure 2: LFSR
43
the values of the feedback coefficients ci (these must be kept secret; otherwise,
the observation of L consecutive bits of the key would allow recovering all
the subsequent sequence).
But these LFSRs are cryptographically weak because of the Berlekamp-
Massey algorithm [269]: let L be the length of a minimum length LFSR
producing the same sequence (this length, called the linear complexity of
the sequence, is assumed to be unknown from the attacker; note that it
equals L if and only if the polynomials F and G above are co-prime), then
if we know at least 2L consecutive bits, Berlekamp-Massey algorithm recov-
ers the values of L and of the feedback coefficients of an LFSR of length
L generating the sequence, and the initialization of this LFSR in O(L2 )
elementary operations. A modern way of avoiding this attack is by using
Boolean functions. The first model which appeared in the litterature for
using Boolean functions is the combiner model (see Figure 3).
x1
LFSR 1
@
@
x2 R
@
LFSR 2 - output si
f -
..
.
xn
LFSR n
Notice that the feedback coefficients of the n LFSRs used in such a generator
can be public. The Boolean function is also public, in general, and the short
secret key gives only the initialization of the n LFSRs: if we want to use
for instance a 128 bit long secret key, this allows using n LFSRs of lengths
L1 , · · · , Ln such that L1 + · · · + Ln = 128.
Such system clearly outputs a periodic sequence whose period is at most
the LCM of the periods of the sequences output by the n LFSRs (assuming
that cL = 1 in each LFSR; otherwise, the sequence is ultimately periodic).
So, this sequence is also recurrent and can therefore be produced by a single
LFSR. However, as we shall see, well-chosen Boolean functions allow the
linear complexity of the sequence to be much larger than the sum of the
lengths of the n LFSRs. Nevertheless, choosing LFSRs producing sequences
44
of large periods19 , choosing these periods pairwise co-prime so that to have
then the largest possible global period, and choosing f such that the lin-
ear complexity is large enough too are not sufficient. As we shall see, the
combining function should also not leak information about the individual
LFSRs and behave as differently as possible from affine functions, in several
different ways.
The combiner model is only a model, useful for studying attacks and related
criteria. In practice, the systems are more complex (see for instance at URL
http://www.ecrypt.eu.org/stream/ how are designed the stream ciphers of
the eSTREAM Project).
An alternative model is the filter model , which uses a single LFSR (of a
longer length). A filtered LFSR outputs f (x1 , · · · , xn ) where f is some n-
variable Boolean function, called a filtering function, and where x1 , · · · , xn
are the bits contained in some flip-flops of the LFSR, see Figure 4.
L L L
6 6 6
- si+L−1 ··· si+1 si
x1 xi xn
? ? ?
f (x1 , x2 , · · · , xn )
output
?
45
the two models and we shall have to distinguish between the two models
when describing the attacks and the related criteria.
Plaintext: x1 xn
···
? ?
Key
- E
···
? ?
Ciphertext: y1 ym
But the number n of variables of these Boolean functions being large (most
often, more than a hundred), these functions can not be analyzed. Boolean
functions on fewer variables are in fact involved in the ciphers. All known
block ciphers are the iterations of a number of rounds.
We give in Figures 6 and 7 a description of the rounds of the DES and of
the AES. The input to a DES round is a binary string of length 64, divided
into two strings of 32 bits each (in the figure, they enter the round, from
above, on the left and on the right); confusion (see below what this term
46
Round key
+l +l
? ?
P S E ?
? ?
47
? ?
S1 S16
···
? ?
linear permutation
?
Round key - +
?
48
the case of combining functions, if n LFSRs having lengths L1 , · · · , Ln are
combined by the function
!
M Y
f (x) = aI xi ,
I∈P(N ) i∈I
where P(N ) denotes the power set of N = {1, · · · , n}, then (see [318]) the
sequence produced by f has linear complexity
!
X Y
L≤ aI Li
I∈P(N ) i∈I
(and L equals this number under the sufficient condition that the sequences
output by the LFSRs are m-sequences and the lengths of these LFSRs are
pairwise co-prime), see [367]. In the case of the filter model, we have a
less precise result [317]: if L is the length of the LFSR and if the feedback
polynomial is primitive, then the linear complexity of the sequence satisfies:
d◦ f
X L
L≤ .
i
i=0
Moreover, if L is a prime, then
L
L≥ ,
d◦ f
and the fraction of functions f of given Pdalgebraic
◦f
degree which output a
L
sequence of linear complexity equal to i=0 i is at least e−1/L . In both
models, the algebraic degree of f (recall that this is the largest size of I such
that aI = 1) has to be high so that L can have high value (the number of
those nonzero coefficients aI , in the ANF of f , such that I has large size,
can also play a role, but clearly a less important one). In the case of block
ciphers, using Boolean functions of low degrees makes the higher order dif-
ferential attack [215, 227] effective.
When n tends to infinity, random Boolean functions have almost surely
algebraic degrees at least n − 1 since the number of Boolean functions of
Pn−2 n
algebraic degrees at most n − 2 equals 2 i=0 ( i ) = 22 −n−1 and is negligible
n
n
with respect to the number 22 of all Boolean functions. But we shall see
that the functions of algebraic degrees n − 1 or n do not allow achieving
some other characteristics (balancedness, resiliency, ...).
We have seen in Subsection 2.1 that the algebraic degree is an affine invari-
ant.
49
4.1.2 The nonlinearity
In order to provide confusion, cryptographic functions must lie at large Ham-
ming distance to all affine functions. Let us explain why. We shall say that
there is a correlation between a Boolean function f and a linear function ` if
dH (f, `) is different from 2n−1 . Because of Parseval’s Relation (23) applied
to the sign function fχ and of Relation (14), any Boolean function has cor-
relation with some linear functions of its input. But this correlation should
be small: the existence of affine approximations of the Boolean functions in-
volved in a cryptosystem allows in various situations (block ciphers, stream
ciphers) to build attacks on this system (see [173, 271]).
In the case of stream ciphers, these attacks are the so-called fast correla-
tion attacks [47, 109, 156, 200, 201, 202, 275]: let g be a linear approximation
of f (or f ⊕ 1, then we change f into f ⊕ 1) whose distance to f is smaller
than 2n−1 . Then, denoting by P r[E] the probability of an event E:
dH (f, g) 1
p = P r[f (x1 , · · · , xn ) 6= g(x1 , · · · , xn )] = n
= − ,
2 2
where > 0. The pseudo-random sequence s corresponds then to the trans-
mission with errors of the sequence σ which would be produced by the
same model, but with g instead of f . Attacking the cipher can be done
by correcting the errors as in the transmission of the sequence σ over a
noisy channel. Assume that we have N bits su , · · · , su+N −1 of the pseudo-
random sequence s, then P r[si 6= σi ] ≈ p. The set of possible sequences
σu , · · · , σu+N −1 is a vectorspace, that is, a linear code of length N and dimen-
sion at most L. We then use a decoding algorithm to recover σu , · · · , σu+N −1
from su , · · · , su+N −1 and since g is linear, the linear complexity of the se-
quence σ is small and we obtain by the Berlekamp-Massey algorithm the
initialisation of the LFSR. We can then compute the whole sequence s.
There are several ways for performing the decoding. The method exposed in
[275] and improved by [109] P is as follows. We call a parity check polynomial
any polynomial a(x) = 1 + rj=1 aj xj (ar 6= 0) which is a multiple of the
feedback polynomial of an LFSR P generating the sequence σi . Denoting by
i
σ(x) the generating function i≥0 σi x , the product a(x) σ(x) is a polyno-
mial of degree less than r. We use for the decoding a set of parity check
polynomials satisfying three conditions: their degrees are bounded by some
integer m, the number of nonzero coefficients aj in each of them is at most
some number t (i.e., each polynomial has Hamming weight at most t+1) and
for every j = 1, · · · , m, at most one polynomial has nonzero coefficient aj .
Each parity check polynomial a(x) = 1 + rj=1 aj xj gives a linear relation
P
50
σi = rj=1 aj σi−j = j=1,···,r / aj 6=0 σi−j for every i ≥ m and the relations
P P
corresponding to different polynomials involve different indices i − j. If we
replace the (unknown) σi ’s by the si ’s then some of these relations become
false but it is possible by using the method of Gallager [160] to compute a
sequence zi such that P r(zi = σi ) > 1 − p. Then it can be proved that iter-
ating this process converges to the sequence σ (with a speed which depends
on m, t and p).
In the case of block ciphers, we shall see in the chapter “Vectorial Boolean
Functions for Cryptography” that the Boolean functions involved in their S-
boxes must also lie at large Hamming distances to affine functions, to allow
resistance to the linear attacks.
The nonlinearity of f is the minimum Hamming distance between f and
affine functions. The larger is the nonlinearity, the larger is p in the fast
correlation attack and the less efficient is the attack. Hence, the nonlinearity
must be high (in a sense that will be clarified below) and we shall see that
this condition happens to be necessary against other attacks as well. A high
nonlinearity is surely one of the most important cryptographic criteria.
The nonlinearity is an affine invariant, by definition, since dH (f ◦ L, ` ◦ L) =
dH (f, `), for every functions f and `, and for every affine automorphism L,
and since ` ◦ L ranges over the whole set of affine functions when ` does.
It can be computed through the Walsh transform: let `a (x) = a1 x1 ⊕ · · · ⊕
an xn = a · x be any linear function; according to Relation (14), we have
dH (f, `a ) = 2n−1 − 12 fbχ (a) and we deduce dH (f, `a ⊕ 1) = 2n−1 + 12 fbχ (a); the
nonlinearity of f is therefore equal to:
1
nl(f ) = 2n−1 − max |fb (a)|. (35)
2 a∈Fn2 χ
Hence a function has high nonlinearity if all of its Walsh values have low
magnitudes.
Parseval’s Relation (23) applied to fχ gives a∈Fn fbχ 2 (a) = 22n , and implies
P
2
that the mean of fbχ 2 (a) equals 2n . The maximum of fbχ 2 (a) being greater
than or equal to its mean (equality occurs if and only if fbχ 2 (a) is constant),
we deduce that maxa∈Fn |fb (a)| ≥ 2n/2 . This implies
2 χ
This bound, valid for every Boolean function and tight for every even n,
as we shall see, will be called the covering radius bound (since this is the
value of the covering radius of the Reed-Muller code of order 1 if n is even;
51
indeed, in the case of the Reed-Muller code of order 1, the covering radius
coincides with the maximum nonlinearity of Boolean functions). The cover-
ing radius bound can be improved when we restrict ourselves to sub-classes
of functions (e.g. resilient and correlation-immune functions, see Section 7).
A Boolean function will be considered as highly nonlinear if its nonlinearity
lies near the upper bound corresponding to the class of functions to which it
belongs. The meaning of “near” depends on the framework, see [203]. Olejár
and Stanek [289] have shown that, when n tends to infinity, random Boolean
√ n−1
functions on Fn2 have almost surely nonlinearity greater than 2n−1 − n 2 2
(this is easy to prove by counting – or more precisely by upper bound-
ing – the number of functions whose nonlinearities are bounded above by
a given number, see [66]). Rodier [311] has shown later more precisely
that, asymptotically, almost all Boolean functions have nonlinearity between
√ √ 4 ln n
√ √
2 n−1 −2 n/2−1 n 2 ln 2 + n and 2 n−1 −2 n/2−1 n 2 ln 2 − 5 ln
n
n
√
and therefore located in the neighbourhood of 2n−1 − 2n/2−1 2n ln 2.
Equality occurs in (36) if and only if |fbχ (a)| equals 2n/2 for every vector a.
The corresponding functions are called bent functions. They exist only for
even values of n, because 2n−1 − 2n/2−1 must be an integer (in fact, they
exist for every n even, see Section 6). The whole Section 6 is devoted to
bent functions.
For n odd, Inequality (36) cannot be tight. The maximum nonlinearity
n−1
of n-variable Boolean functions lies then between 2n−1 − 2 2 (which can
always be achieved e.g. by quadratic functions, see Subsection 5.2) and
n−1
2n−1 − 2n/2−1 . It has been shown in [177, 284] that it equals 2n−1 − 2 2
when n = 1, 3, 5, 7, and in [295, 296], by Patterson and Wiedemann22 , that
n−1
it is strictly greater than 2n−1 −2 2 if n ≥ 15 (a review on what was known
in 1999 on the best nonlinearities of functions on odd numbers of variables
n−1
was given in [154], see also [29, 237]). This value 2n−1 − 2 2 is called the
quadratic bound because, as we already mentioned, such nonlinearity can
be achieved by quadratic functions. It is also called the bent-concatenation
bound since it can also be achieved by the concatenation of two bent func-
tions in n − 1 variables. Very recently it has been proved in [210] (see also
[262]) that the best nonlinearity of Boolean functions in odd numbers of
variables is strictly greater than the quadratic bound for any n > 7.
22
It has been later proved (see [328, 141] and [267, 216]) that balanced functions with
n−1
nonlinearity strictly greater than 2n−1 −2 2 , and with algebraic degree n−1, or satisfying
P C(1), exist for every odd n ≥ 15.
52
The nonlinearity of a Boolean function f equals the minimum distance
of the linear code R(1, n) ∪ (f ⊕ R(1, n)). More generally, the minimum
distance of a code defined as the union of cosets f ⊕ R(1, n) of the Reed-
Muller code of order 1, where f ranges over a set F, equals the minimum
nonlinearity of the functions f ⊕ g, where f and g are distinct and range
over F. This observation allows constructing good nonlinear codes such as
Kerdock codes (see Subsection 6.10).
Bent functions being not balanced (i.e. their values being not uniformly
distributed, see below), they are improper for use in cryptosystems23 (see
below). For this reason, even when they exist (for n even), it is also necessary
to study those functions which have large but not optimal nonlinearities, say
n−1
between 2n−1 − 2 2 and 2n−1 − 2n/2−1 , among which some balanced func-
tions exist. The maximum nonlinearity of balanced functions is unknown
for any n ≥ 8.
Two relations have been first observed in [360, 363] between the nonlinear-
ity and the derivatives of Boolean functions (we give here simpler proofs):
applying Relation (27), relating the values of the Walsh transform of a func-
tion on a flat a + E to the autocorrelation coefficients of the function on a
flat b + E ⊥ , to all linear hyperplanes E = {0, e}⊥ , e 6= 0, to all vectors a
2 2
and to b = 0, and using that maxu∈E fb (u) ≥ 1
P
χ |E|fb (u), we deduce:
u∈E χ
1r n
nl(f ) ≤ 2n−1 − 2 + max |F(De f )|.
2 e6=0
And the obvious relation wH (f ) ≥ 12 wH (De f ), valid for every e ∈ Fn2 , leads
when applied to the functions f ⊕ `, where ` is affine, to the lower bound:
1
nl(f ) ≥ 2n−2 − min |F(De f )|. (37)
4 e6=0
53
2n−d .
The r-th order nonlinearity: changing one or a few bits in the output
to a low degree Boolean function (that is, in its truth-table) gives a function
with high degree and does not fundamentally modify the robustness of the
system using this function (explicit attacks using approximations by low de-
gree functions exist for block ciphers but not for all stream ciphers however,
see e.g. [219]). A relevant criterion is the nonlinearity profile, that is, the
sequence of the Hamming distances to the Reed-Muller code of order r, for
all values of r < n. This distance is called the r-th order nonlinearity (and if
r is not specified, the higer order nonlinearity) of f and denoted by nlr (f ).
This criterion is related to the maximum correlation of the Boolean function
with respect to a subset of variables, or equivalently, to the minimal distance
of the function to functions depending on a subset of variables (which plays
a role with respect to the correlation attack, see below in Subsection 4.1.7)
since a function depending on k variables has algebraic degree at most k.
Hence the r-th order nonlinearity is a lower bound to the distance to func-
tions depending of at most k variables. The former is much more difficult
to study than the latter.
The best known asymptotic upper bound on nlr (f ) is
√
n−1 15 √
2 − · (1 + 2)r−2 · 2n/2 + O(nr−2 )
2
(see [92], where a non-asymptotic - and more complex - bound is also
given). Counting the number of functions whose r-th order nonlinearities
are bounded above by a given number allows proving that, when n tends
to infinity,
qPthere exist functions with r-th order nonlinearity greater than
r n n−1
n−1
2 − i=0 i 2 2 . But this does not help obtaining explicit func-
tions with non-weak r-th order nonlinearity.
Computing the r-th order nonlinearity of a given function with algebraic
degree strictly greater than r is a hard task for r > 1 (in the case of the first
order, we have seen that much is known in theory and also algorithmically
since the nonlinearity is related to the Walsh transform, which can be com-
puted by the algorithm of the Fast Fourier Transform; but for r > 1, very
little is known). Even the second order nonlinearity is known only for a few
peculiar functions and for functions in small numbers of variables. A nice
algorithm due to G. Kabatiansky and C. Tavernier and improved and im-
plemented by Fourquet and Tavernier [157] works well for r = 2 and n ≤ 11
(in some cases, n ≤ 13), only. It can be applied for higher orders, but it is
54
then efficient only for very small numbers of variables. No better algorithm
is known. Proving lower bounds on the r-th order nonlinearity of functions
(and therefore proving their good behavior with respect to this criterion) is
also a quite difficult task, even for the second order. Until recently, there
had been only one attempt, by Iwata-Kurosawa [198], to construct func-
tions with lower bounded r-th order nonlinearity. But the obtained value,
2n−r−3 (r + 5), of the lower bound was small. Also, lower bounds on the r-th
order nonlinearity by means of the algebraic immunity of Boolean functions
have been derived (see Section 9) but they are small too. In [73] is introduced
a method for efficiently bounding below the nonlinearity profile of a given
function in the case lower bounds exist for the (r − 1)-th order nonlinearities
of the derivatives of f :
and
1
s X
n−1
nlr (f ) ≥ 2 − 22n − 2 nlr−1 (Da f ).
2
a∈Fn
2
The first bound is easy to prove and the second one comes from the equalities
n−1 1 X f (x)⊕h(x)
nlr (f ) = 2 − max (−1) and:
2 h∈BF n / d f ≤r n
◦
x∈F 2
2
X X X
(−1)f (x)⊕h(x) = (−1)Da f (x)⊕Da h(x) .
x∈Fn
2 a∈Fn n
2 x∈F2
Lower bounds for the second order nonlinearities of some functions (known
for being highly nonlinear) are deduced in [73], as well as bounds for the
n
whole nonlinearity profile of the multiplicative inverse function trn (x2 −2 )
(used in the S-box of the AES with n = 8, see the chapter “Vectorial Boolean
Functions for Cryptography”): the r-th order nonlinearity of this function
−r
is approximately bounded below by 2n−1 − 2(1−2 ) n and therefore asymp-
totically equivalent to 2n−1 , for every fixed r. Note that the extension of the
Weil bound recalled in Subsection 5.6 is efficient for lower bounding the r-th
order nonlinearity of the inverse function only for r = 1. Indeed, already for
r = 2, the univariate degree of a quadratic function in trace representation
55
form can be bounded above by 2bn/2c + 1 only and this gives a bound in
2n on the maximum magnitude of the Walsh transform and therefore no
information on the nonlinearity.
56
balanced.
We give here a first direct proof of this fact: we apply Relation (28) to
E = {x ∈ Fn2 / xi = 0, ∀i ∈ I} where I is any set of indices of size m; the
sum of E and E ⊥ = {x ∈ Fn2 / xi = 0, ∀i 6∈ I} is direct and equals Fn2 ; hence
26
The term of resiliency was, in fact, introduced in [110], in relationship with another
cryptographic problem.
27
This attack has no equivalent for the filter model, where first order resiliency seems
sufficient; see more precisely in [170] the status of resiliency in the filter generator.
57
we can take E 0 = E ⊥ and we get
P b2 ⊥
P 2
u∈E ⊥ fχ (u) = |E | a∈E ⊥ F (ha ),
where ha is the restriction of f to a + E, that is, the restriction obtained by
fixing the coordinates of x whose indices belong to I to the corresponding
coordinates of a. The number F(ha ) is null if and only if ha is balanced
and clearly, all the numbers F(ha ), a ∈ E ⊥ are null if and only if all the
numbers fbχ (u), u ∈ E ⊥ are null. Since this is valid for every muti-index I
of size m, this completes the proof.
An alternate proof of this same result is obtained by applying the Poisson
summation formula (17) to ϕ = fχ , a = 0 and E = {x ∈ Fn2 / xi = 0, ∀i 6∈ I},
b ranging over Fn2 . We obtain that f is m-resilient if and only if, for every b
and every I of size m, we have u∈Fn / ui =0, ∀i6∈I (−1)b·u fbχ (u) = 0 and it can
P
2
easily be shown that this is equivalent to fb (u) = 0 for every u of weight at
χ
most m.
Theorem 3 shows that f is m-resilient if and only if its support has size 2n−1
and dual distance at least m + 1. Indeed, if C denotes the Psupport of f , the
dual distance of C equals the number min{wH (b); b 6= 0, x∈C (−1)b·x 6= 0},
according to RelationP(34) and to the observation which follows it; we have,
for every vector b: b·x = fb(b) and therefore, for every b 6= 0:
x∈C (−1)
b·x = − 1 fb (b). More generally, f is m-th order correlation im-
P
x∈C (−1) 2 χ
mune if and only if its support has dual distance at least m + 1. This had
been observed by Delsarte in [129, 130] (see also in a paper by J. Massey [270]
a generalization of this result to arrays over finite fields and other related
nice results).
An easily provable related property is that, if G is the generator matrix of
an [n, k, d] linear code, then for every k-variable balanced function g, the
n-variable function f (x) = g(x × Gt ) is (d − 1)-resilient [128] (but such func-
tion has nonzero linear structures, see below).
Contrary to the algebraic degree, to the nonlinearity and to the balanced-
ness, the resiliency order is not an affine invariant, except for the null order
(and for the order n, but the set of n-resilient functions is empty, because
of Parseval’s relation). It is invariant under any translation x 7→ x + b,
according to Proposition 6 and Theorem 3. The symmetry group of the set
of m-resilient functions and the orbits under its action have been studied
in [194]).
The whole Section 7 is devoted to resilient functions.
58
4.1.4 Strict avalanche criterion and propagation criterion
The Strict Avalanche Criterion (SAC) was introduced by Webster and
Tavares [352] and this concept was generalized into the Propagation Cri-
terion (P C) by Preneel et al. [300] (see also [301]). The SAC, and its gen-
eralizations, are based on the properties of the derivatives of Boolean func-
tions. These properties describe the behavior of a function whenever some
coordinates of the input are complemented. Thus, they are related to the
property of diffusion of the cryptosystems using the function. They concern
the Boolean functions involved in block ciphers. Let f be a Boolean function
on Fn2 and E ⊂ Fn2 . The function f satisfies the propagation criterion P C
with respect to E if, for all a ∈ E, the derivative Da f (x) = f (x) ⊕ f (a + x)
(see Definition 2) is balanced. It satisfies P C(l) if it satisfies P C with re-
spect to the set of all nonzero vectors of weights at most l. In other words,
f satisfies P C(l) if the auto-correlation coefficient F(Da f ) is null for every
a ∈ Fn2 such that 1 ≤ wH (a) ≤ l. Criterion SAC corresponds to P C(1).
It is needed, for some cryptographic applications, to have Boolean functions
which still satisfy P C(l) when a certain number k of coordinates of the input
x are kept constant (whatever are these coordinates and whatever are the
constant values chosen for them). We say that such functions satisfy the
propagation criterion P C(l) of order k. This notion, introduced in [300], is
a generalization of the strict avalanche criterion of order k, SAC(k) (which
is equivalent to P C(1) of order k), introduced in [155]. Obviously, if a func-
tion f satisfies P C(l) of order k ≤ n − l, then it satisfies P C(l) of order k 0
for any k 0 ≤ k.
There exists another notion, which is similar to P C(l) of order k, but
stronger [300, 302] (see also [61]): a Boolean function satisfies the extended
propagation criterion EP C(l) of order k if every derivative Da f , with a 6= 0
of weight at most l, is k-resilient.
All of these criteria are not affine invariants, in general.
A weakened version of the PC criterion has been studied in [222].
59
of nonzero (involuntary) linear structures, for the functions implemented in
stream ciphers, is a potential risk that should also be avoided, despite the
fact that such existence could not be used in attacks, so far.
This is a direct consequence of the relation above deduced from (27), with
a · e = 1 if De f is null and a · e = 0 if De f = 1. Notice that, if De f is
the constant function 1 for some e ∈ Fn2 , then f is balanced (indeed, the
relation f (x + e) = f (x) ⊕ 1 implies that f takes the values 0 and 1 equally
often). Thus, a non-balanced function f has no nonzero linear structure if
and only if there is no nonzero vector e such that De f is null. According
to Proposition 15, this is equivalent to saying that the support of its Walsh
60
transform has rank n. A similar characterization exists for balanced func-
tions by replacing the function f (x) by a non-balanced function f (x) ⊕ b · x.
It is deduced in [105] (see more in [347]) that resilient functions of high or-
ders must have linear structures.
The existence/non-existence of nonzero linear structures is clearly an affine
invariant. But, contrary to the other criteria, it is an all-or-nothing crite-
rion. Meier and Staffelbach introduced in [276] a related criterion, leading
to a characteristic (that is, a criterion which can be satisfied at levels quan-
tified by numbers): a Boolean function on Fn2 being given, its distance to
linear structures is its distance to the set of all Boolean functions admitting
nonzero linear structures (among which we have all affine functions – hence,
this distance is bounded above by the nonlinearity – but also other functions,
such as all non bent quadratic functions). This distance is always bounded
above by 2n−2 . More precisely, it equals28 : 2n−2 − 14 maxe∈Fn2 ∗ |F(De f )|,
since a function g, which admits some nonzero vector e as a linear structure,
and which lies at minimum distance from f among all such functions, can
be obtained by choosing an affine hyperplane H such that Fn2 = H ∪ (e + H),
and defining g(x) = f (x) for every x ∈ H and g(x) = f (x + e) ⊕ for every
x ∈ (e + H), where is chosen in F2 ; the Hamming distance between f and
this function g equals |{x ∈ e + H/ De f (x) = ⊕ 1}| = 12 |{x ∈ Fn2 / De f (x) =
⊕ 1}| = 12 2n−1 − (−1) 2 F(De f ) . Recall that ∆f (e) = F(De f ) is the
auto-correlation function of f . We see (according to Theorem 8) that the
distance of f to linear structures equals 2n−2 if and only if f is bent.
61
in the case of the combiner model, the single LFSR in the case of the filter
model) of size N and with an n-variable Boolean function f as combining
or filtering function; then there exists a linear permutation L : FN
2 7→ F2
N
The number of equations can then be much larger than the number of un-
knowns. This makes less complex the resolution of the system by using
Groebner basis (see [150]), and even allows linearizing the system (i.e. ob-
taining a system of linear equations by replacing every monomial of degree
greater than 1 by a new unknown); the resulting linear system has however
too many unkwnowns and cannot be solved. Nevertheless, Courtois and
Meier have had a simple but very efficient idea. Assume that there exist
functions g 6= 0 and h of low degrees (say, of degrees at most d) such that
f × g = h (where f × g denotes the Hadamard product of f and g, whose
support is the intersection of the supports of f and g, we shall omit writing
× in the sequel). We have then, for every i ≥ 0:
62
Pn
Let g be a function of degree
P P d. Let the ANF of g equal a0 + i=1 ai xi +
1≤i<j≤n ai,j xi xj + ... + 1≤i1 ≤...≤id ≤n ai1 ,...id xi1 ...xid . Note that g is an
annihilator of f if and only if f (x) = 1 implies g(x) = 0. Hence, g is an
annihilator of f if and only if the coefficients in its ANF satisfy the system
of homogeneous
Pd linear equations which translates this fact. In this system,
n
we have i=0 i number of variables (the coefficients of the monomials of
degrees at most d) and wH (f ) many equations.
The minimum degree of g 6= 0 such that f g = 0 (i.e. such that g is an
annihilator of f ) or (f ⊕ 1)g = 0 (i.e. such that g is a multiple of f ) is
called the (standard) algebraic immunity of f and denoted by AI(f ). This
important characteristic is an affine invariant. More precisely, its auto-
morphism group (that is, the group of all permutations σ of Fn2 such that
AI(f ◦ σ) = AI(f ) for every Boolean function f ) equals the general affine
group. Indeed, denoting by AN (f ) the set of annihilators of f , we have
AN (f ◦ σ) = AN (f ) ◦ σ. Hence this automorphism group equals the auto-
morphism group of the Reed-Muller codes.
As shown in [117], the algebraic immunity of any n-variable function is
bounded above29 by dn/2e. Indeed, the sum of the number of monomials of
degrees at most dn/2e and of the (equal) number of the products between f
and these monomials being greater than 2n , these functions are necessarily
linearly dependent elements of the 2n -dimensional vectorspace of all Boolean
functions. This linear dependence gives two functions g and h of degrees at
most dn/2e such that f g = h and (g, h) 6= (0, 0), i.e. g 6= 0.
Let us see now what are the consequences of the existence of this attack
on the design of stream ciphers: let an n-variable function f , with alge-
braic immunity dn/2e be used for instance as a filtering function on an
LFSR) of length N ≥ 2k, where k is the length of the key (otherwise, it is
known that the system is not robust against an attack called time-memory-
data trade-off attack). Then the complexity of an algebraic attack using
log2 7
one annihilator of degree dn/2e is roughly 7 N0 + · · · + dn/2e N
≈
2.8
7 N0 + · · · + dn/2e N
(see [117]). Let us choose k = 128 (which is usual)
and N = 256, then the complexity of the algebraic attack is at least 280
(which is considered nowadays as a just sufficient complexity) for n ≥ 13;
and it is greater than the complexity of an exhaustive search, that is 2128 ,
29
Consequently, it is bounded above by dk/2e if, up to affine equivalence, it depends
only on k variables, and by dk/2 + 1e if it has a linear kernel of dimension n − k, since it
is then equivalent, according to Proposition 14, to a function in k variables plus an affine
function.
63
for n ≥ 15. If the attacker knows several linearly independent annihilators
of degree dn/2e, then the number of variables must be enhanced! In prac-
tice, the number of variables will have to be near 20 (but this poses then a
problem of efficiency of the stream cipher).
A high value of AI(f ) is not a sufficient property for a resistance to
algebraic attacks, because of fast algebraic attacks, which work if one can
find g of low degree and h 6= 0 of reasonable degree such that f g = h, see
[113, 176] (note however that fast algebraic attacks need more data than
standard ones). This has been exploited in [115] to present an attack on
a stream cipher called SFINKS. Similarly as above, when the number of
monomials of degrees at most e, plus the number of monomials of degrees
at most d, is strictly greater than 2n – that is, when e + d ≥ n – there exist
g 6= 0 of degree at most e and h of degree at most d such that f g = h. An
n-variable function f is then optimal with respect to fast algebraic attacks if
there do not exist two functions g 6= 0 and h such that f g = h, d◦ g < dn/2e
and d◦ g + d◦ h < n. Since f g = h implies f h = f f g = f g = h, we see
that h is then an annihilator of f ⊕ 1, and if h 6= 0, its degree is then
at least equal to the algebraic immunity of f . This means that having a
high algebraic immunity is not only a necessary condition for a resistance to
standard algebraic attacks but also for a resistance to fast algebraic attacks.
The pseudo-random generator must also resist algebraic attacks on the
augmented function [153], that is (considering now f as a function in N
variables, to simplify description), the vectorial function F (x) whose output
equals the vector (f (x), f (L(x)), · · · , f (Lm−1 (x))), where L is the (linear)
update function of the linear part of the generator. Algebraic attacks can
be more efficient when applied to the augmented function rather than to the
function f itself. The efficiency of the attack depends not only on the func-
tion f , but also on the update function (and naturally also on the choice of
m), since for two different update functions L and L0 , the vectorial functions
F (x) and F 0 (x) = (f (x), f (L0 (x)), ..., f (L0 m−1 (x)) are not linearly equiva-
lent (neither equivalent in the more general sense called CCZ-equivalence,
that is, affine equivalence of the graphs of the functions, see the chapter
“Vectorial Boolean Functions for Cryptography”). Testing the behavior of
a function with respect to this attack is therefore a long term work (all
possible update functions have to be investigated).
Finally, a powerful attack on the filter generator has been introduced by
S. Rønjom and T. Helleseth in [313], which also adapts the idea of algebraic
attacks due to Shannon, but in a different way. The complexity of the at-
tack is in about di=0 Ni operations, where d is the algebraic degree of the
P
64
filter function and N is the length of the LFSR. It needs about di=0 Ni
P
has been introduced by Zhang and Zheng [359] for measuring the global ava-
lanche criterion (GAC), and also called the sum-of-squares indicator . The
absolute indicator is by definition maxe∈Fn2 , e6=0 | F(De f ) |. Both indicators
are clearly affine invariants. In order to achieve good diffusion, cryptographic
functions should have low sum-of-squares indicators and absolute indicators.
Obviously, we have V(f ) ≥ 22n , since F 2 (D0 f ) = 22n . Note that every lower
bound of the form V(f ) ≥ V straightforwardly
q implies that the absolute
V −22n
indicator is bounded below by 2n −1 . The functions achieving V(f ) =
22nare those functions whose derivatives De f (x), e 6= 0, are all balanced.
We shall see in Section 6 that these are the bent functions. If f has a k-
dimensional linear kernel, then V(f ) ≥ 22n+k (with equality if and only if f
30
As already seen, it can be taken equal to log2 7 ≈ 2.8 and the coefficient in the O
can be taken equal to 7, according to Strassen [340]; a still better exponent is due to
Coppersmith and Winograd but the multiplicative constant is then inefficiently high for
our framework.
65
is partially bent, see below).
Note that, according to Relation (26) applied to De f for every e, we have
X
V(f ) = F(Da De f ),
a,e∈Fn
2
2
as shown in [42] (indeed, the Fourier transform of ϕ equals fbχ , according to
Relation (25)), and thus, for a = 0:
X 4
fbχ (e) = 2n V(f ). (39)
e∈Fn
2
X 4 X 2 2 4
We have: fbχ (e) ≤ fχ (e)
b max f (e) ≤ 2n max
b
n χ
fb (e).
n χ
e∈F2 e∈F2
e∈Fn
2 e∈Fn
2
2
fbχ (e) = 22n , we deduce, using Rela-
P
According to Parseval’s relation e∈Fn
2
2
tion (39): maxe∈Fn2 fbχ (e) ≥ V(f ) p
2n ≥ V(f ); thus, according to Relation (35)
relating the nonlinearity to the Walsh transform, we have (as first shown
in [360, 363]):
1p
nl(f ) ≤ 2n−1 − 2−n/2−1
p
V(f ) ≤ 2n−1 − 4 V(f ).
2
Denoting again by Nfb the cardinality of the support {a ∈ Fn2 / fbχ (a) 6= 0}
χ
of the Walsh transform of f , Relation (39) also implies the following re-
lation, first observed in [363]: V(f ) × Nfb ≥ 23n . Indeed, using for in-
χ
2
b 2 (a)
P
stance the Cauchy-Schwartz inequality, we see that n f
a∈F2 χ ≤
4 2
P
2n
P
a∈Fn fχ (a) × Nfb and we have a∈Fn fχ (a) = 2 , according to Par-
b b
2 χ 2
seval’s Relation (23). Clearly, the functions satisfying nl(f ) = 2n−1 −
2−n/2−1 V(f ) (resp. V(f ) × Nfb = 23n ) are the functions whose Walsh
p
χ
transforms take at most one nonzero magnitude. These functions are called
66
plateaued functions (see Subsection 6.8 for further properties
p of plateaued
functions). The functions satisfying nl(f ) = 2n−1 − 12 4 V(f ) are (also
clearly) the bent functions.
Constructions of balanced Boolean functions with low absolute indicators
and high nonlinearities have been studied in [260].
or equivalently:
1
2
1 X 2 |I|
dH (f, BF I,n ) ≥ 2n−1 − n−1
− 2 2 −1 maxn fbχ (u)|.
≥2
fbχ (u)
2 u∈Fn
u∈F2
2 /
supp(u)⊆I
67
An affine invariant criterion related to the maximum correlation and also
related to the “distance to linear structures” is the following: the distance to
the Boolean functions g such that the space {e ∈ Fn2 / De g = 0} has dimen-
sion at least k (the functions of BF I,n can be viewed as n-variable functions
N \I
g such that the set {e ∈ Fn2 / De g = 0} contains F2 ). The results on the
maximum correlation above generalize to this criterion [38].
68
need for this that there exist n linearly independent vectors at which the
Walsh transform vanishes). First-order resiliency is useful for resisting some
distinguishing (less dreadful) attacks.
69
it also equals the kernel {x ∈ Fn2 / ∀y ∈ Fn2 , ϕf (x, y) = 0} of the symplectic
(i.e. bilinear, symmetric, and null over the diagonal) form associated to f :
ϕf (x, y) = f (0) ⊕ f (x) ⊕ f (y) ⊕ f (x + y). The restriction of the function
b 7→ Db f (0) = f (b) ⊕ f (0) to this vectorspace is linear, as can be easily
checked; we deduce that F 2 (f ) equals 2n |Ef | if this linear form on Ef is
null, that is, if f is constant on Ef , and is null otherwise. According to
Relation (13), this proves the following:
Theorem 4 Any quadratic function f is balanced if and only if its restric-
tion to its linear kernel Ef ( i.e. the kernel of its associated symplectic form)
n+k
is not constant. If it is not balanced, then its weight equals 2n−1 ± 2 2 −1
where k is the dimension of Ef .
Note that Theorem 4 implies that f is balanced if and only if there exists
b ∈ Fn2 such that the derivative Db f (x) = f (x)⊕f (x+b) equals the constant
function 1 (take b in Ef such that f (b) 6= f (0)). For general Boolean func-
tions, this condition is sufficient for f being balanced, but it is not necessary.
Theorem 4 applied to f ⊕ `, where ` is a linear function such that f ⊕ ` is
not balanced (such function ` always exists, according to Parseval’s relation)
shows that the co-dimension of Ef must be even (this co-dimension is the
rank of ϕf ).
The weight of aquadratic function can be any element of the set {2n−1 } ∪
n−1 i n
{2 ± 2 ; i = 2 − 1, · · · , n − 1}. Its nonlinearity can be any element of
the set {2n−1 − 2i ; i = n2 − 1, · · · , n − 1}, and if f has weight 2n−1 ± 2i , then
for every affine function l, the weight of the function f ⊕ l belongs to the
set {2n−1 − 2i , 2n−1 , 2n−1 + 2i }.
Determining whether the weight is 2n−1 − 2i or 2n−1 + 2i (when the func-
tion is not balanced), and more generally studying the sign of the Walsh
transform is in general much more difficult than determining the value of i,
or equivalently the magnitude of the Walsh transform. In [226] is studied
the sign of the values of the Walsh transform of Gold and Kasami func-
tions. The former are quadratic (the latter are not but they are related to
quadratic functions, see the chapter “Vectorial Boolean Functions for Cryp-
tography”). In [164], the result of [226] is generalized: for every AB power
function xd over F2n (see definition in the chapter “Vectorial Boolean Func-
tions for Cryptography”) whose restriction to any subfield of F2n is also AB,
d n+1 n+1
the value x∈F2n (−1)trn (x +x) equals 2 2 if n ≡ ±1 [mod 8] and −2 2 if
P
n ≡ ±3 [mod 8].
Any quadratic non-affine function f having a monomial of degree 2 in
its ANF, we can assume without loss of generality that, up to a non-
singular linear transformation, this monomial is x1 x2 . The function has
70
then the form x1 x2 ⊕ x1 f1 (x3 , · · · , xn ) ⊕ x2 f2 (x3 , · · · , xn ) ⊕ f3 (x3 , · · · , xn )
where f1 , f2 are affine functions and f3 is quadratic. Then, f (x) equals
(x1 ⊕ f2 (x3 , · · · , xn ))(x2 ⊕ f1 (x3 , · · · , xn )) ⊕ f1 (x3 , · · · , xn )f2 (x3 , · · · , xn ) ⊕
f3 (x3 , · · · , xn ) and is therefore affinely equivalent to the function x1 x2 ⊕
f1 (x3 , · · · , xn )f2 (x3 , · · · , xn ) ⊕ f3 (x3 , · · · , xn ). Applying this method recur-
sively shows:
Theorem 5 Every quadratic non-affine function is affinely equivalent to
x1 x2 ⊕ · · · ⊕ x2l−1 x2l ⊕ x2l+1 (where l ≤ n−1 2 ) if it is balanced, to x1 x2 ⊕
· · · ⊕ x2l−1 x2l (where l ≤ n/2) if it has weight smaller than 2n−1 and to
x1 x2 ⊕ · · · ⊕ x2l−1 x2l ⊕ 1 (where l ≤ n/2) if it has weight greater than 2n−1 .
This allows describing precisely the weight distribution of R(2, n) [258].
X X
= (−1)y1 y2 ⊕f1 (x)f2 (x)⊕f3 (x) = 2 (−1)f1 (x)f2 (x)⊕f3 (x) .
x∈Fn
2 / y1 ,y2 ∈F2
x∈Fn
2
71
functions of this kind have been given and studied in [197, 217].
Concatenating quadratic functions gives a super-class of the class of Maiorana-
McFarland functions, studied in [64], and presented in Section 7 (Subsection
7.5.2) below.
72
2
(indeed, the maximum of fbχ (u) is greater than or equal to its mean). Hence
2
we have: maxu∈Fn fb (u) ≥ F 2 (ha ) for every a. Applying this property to
2 χ
f ⊕ `, where ` is any linear function, and using Relation (35) relating the
nonlinearity of a function to the maximum magnitude of its Walsh transform,
we deduce:
∀a ∈ E 0 , nl(f ) ≤ 2n−1 − 2k−1 + nl(ha ). (42)
This bound was first proved (in a different way) by Zheng et al. in [364].
The present proof is from [42]. Relation (42) can also be deduced from the
Poisson summation formula (17) applied to the sign function of f , and in
P the roles
which of E and
E ⊥ are exchanged: let us choose b ∈ Fn2 such that
f (x)⊕b·x is maximum, that is, equals 2k − 2nl(h ) . Then
x∈a⊕E (−1) a
X a·u b
⊥ k
(−1) fχ (u)
= |E | 2 − 2nl(ha ) .
u∈b⊕E ⊥
Then the mean of (−1)a·u fbχ (u), when u ranges over b ⊕ E ⊥ , is equal to
± 2k − 2nl(ha ) . Thus, the maximum magnitude of fbχ (u) is greater than
73
not constant on flats defined by equations xi1 = a1 , ..., xin/2 = an/2 . As the
proof still works when composing the function by an affine automorphism,
it implies the result.
There are also explicit constructions which work for dimensions (1/2 − ) n,
for some small > 0 very recently found by Jean Bourgain [24].
Functions which are nonconstant on flats of dimensions nδ for every δ > 0
are also given in [14]. These constructions are very good asymptotically (but
may not be usable to obtain functions in explicit numbers of variables).
As far as we know, no construction is known below nδ .
74
are equal, the characterization follows,
P thanks to the straightforward rela-
f (x+a)+x·b a·b
P
tion a,x∈Fn λa (−1) = a∈Fn λa (−1) fbχ (b) = λ(b)
b fb (b).
χ
2 2
Knowing a covering sequence (trivial or not) of a function f allows knowing
that all the vectors a such that f (x) ⊕ a · x is non-balanced belong to the set
b−1 (µ), where µ = λ(0)−2ρ
λ b is the constant value of λ b on S b ; hence, if f ad-
χ f
mits a covering sequence λ = (λa )a∈Fn2 with level ρ (resp. with level ρ 6= 0),
then f is k-th order correlation-immune (resp. k-resilient) where k + 1 is
the minimum Hamming weight of nonzero b ∈ Fn2 such that λ(b) b = µ. Con-
versely, if f is k-th order correlation-immune (resp. k-resilient) and if it is
not (k + 1)-th order correlation-immune (resp. (k + 1)-resilient), then there
exists at least one (non-trivial) covering sequence λ = (λa )a∈Fn2 with level
ρ such that k + 1 is the minimum Hamming weight of b ∈ Fn2 satisfying
λ(b)
b = λ(0) b − 2ρ.
A particularly simple covering sequence is the indicator of the set of vectors
of weight one. The functions which admit this covering sequence are called
regular; they are (ρ − 1)-resilient (where ρ is the level); more generally, any
function, admitting as covering sequence the indicator of a set of vectors
whose supports are disjoint, has this same property. See further properties
in [95].
But knowing a covering sequence for f gives no information on the non-
linearity of f , since it gives only information on the support of the Walsh
transform, not on the nonzero values it takes. In [69] is weakened the def-
inition of covering sequence, so that it can help computing the (nonzero)
values of the Walsh transform.
75
Theorem 6 Let (λa )a∈Fn2 be a partial covering sequence of a Boolean func-
tion f , of levels ρ and 0
P ρ.
Let A = {x ∈ F2 / a∈Fn λa Da f (x) = ρ0 } (assuming that ρ0 6= ρ; otherwise,
n
2
when λ is in fact a covering sequence of level ρ, we set A = ∅).
Then, for every vector b ∈ Fn2 , we have:
X
b − λ(0)
λ(b) b + 2 ρ fbχ (b) = 2 (ρ − ρ0 ) (−1)f (x)⊕b·x .
x∈A
and therefore:
X X
λa (−1)Da f (x) = λa (1 − 2 Da f (x))
a∈Fn
2 a∈Fn
2
X
= λa − 2 ρ0 1A (x) − 2 ρ 1Ac (x).
a∈Fn
2
We deduce:
X X
λa (−1)f (x+a) = (−1)f (x) λa − 2 ρ0 1A (x) − 2 ρ 1Ac (x) . (43)
a∈Fn
2 a∈Fn
2
The Fourier transform of the function (−1)f (x+a) maps every vector b ∈ Fn2
to the value x∈Fn (−1)f (x+a)⊕x·b = x∈Fn (−1)f (x)⊕(x+a)·b = (−1)a·b fbχ (b).
P P
2 2
Hence, taking the Fourier transform of both terms of equality (43), we get:
X
λa (−1)a·b fbχ (b) =
a∈Fn
2
X X X
λa fbχ (b) − 2 ρ0 (−1)f (x)⊕b·x − 2 ρ (−1)f (x)⊕b·x ,
a∈Fn
2 x∈A x∈Ac
that is
X
λ(b)
b fb (b) = λ(0)
χ
b fbχ (b) − 2 ρ fbχ (b) + 2 (ρ − ρ0 ) (−1)f (x)⊕b·x .
x∈A
76
Hence:
X
b − λ(0)
λ(b) b + 2 ρ fbχ (b) = 2 (ρ − ρ0 ) (−1)f (x)⊕b·x . 2
x∈A
ρ0 X
n
2 − 2wH (f ) = fχ (0) = 1 −
b (−1)f (x) .
ρ
x∈A
For q = 2n , this Weil’s bound means that, for every nonzero a ∈ F2n :
tr (af (x))
≤ (d − 1) 2n/2 . And since adding a linear function
P
x∈F2n (−1) n
trn (bx) to the function trn (af (x)) corresponds to adding (b/a) x to f (x) and
does not change its univariate degree, we deduce that, if d > 1 is odd and
a 6= 0, then:
nl(trn (af )) ≥ 2n−1 − (d − 1) 2n/2−1 .
An extension of the Weil bound to the character sums of functions of the
n −2
form f (x) + g(1/x) (where 1/x = x2 P takes value 0 at 0), among which
are the so-called Kloosterman sums trn (1/x+ax) , has been first
x∈F2n (−1)
obtained by Carlitz and Uchiyama [97] and extended by Shanbhag, Kumar
and Helleseth [330]: if f and g have odd univariate degrees, then
X
(−1)trn (f (1/x)+g(x)) ≤ (d◦ f + d◦ g)2n/2 .
x∈F2n
77
6 Bent functions
We recall the definition of bent functions:
78
action of the general affine group and the addition of affine functions.
The automorphism group of the set of bent functions is the general affine
group. This is a direct consequence of the property that, given a Boolean
function g, if for every bent function f , function f ⊕ g is also bent, then g
has degree at most 1 (which is easily proved).
Thanks to Relation (25) and to the fact that the Fourier transform of a
function is constant if and only if the function equals δ0 times some constant,
we see that any function f is bent if and only if, for any nonzero vector a,
the Boolean function Da f (x) = f (x) ⊕ f (x + a) is balanced. In other words:
For this reason, bent functions are also called perfect nonlinear functions 34 .
Equivalently, f is bent if and only if the 2n ×2n matrix H = [(−1)f (x+y) ]x,y∈Fn2
is a Hadamard matrix (i.e. satisfies H × H t = 2n I, where I is the identity
matrix), and if and only if the support of f is a difference set 35 of the ele-
mentary Abelian 2-group Fn2 [136, 204] (other types of difference sets exist,
see e.g. [139]). This implies that the Cayley graph Gf (see Subsection 2.2.2)
is strongly regular (see [18] for more precision).
The functions whose derivatives Da f , a ∈ H, a 6= 0 are all balanced, where
H is a linear hyperplane of Fn2 , are characterized in [41, 42] for every n; they
are all bent if n is even. The functions whose derivatives Da f , a ∈ E, a 6= 0
are all balanced, where E is a vector subspace of Fn2 of dimension n − 2, are
also characterized in these two papers.
Bent Pfunctions have the property that, for every even positive integer w,
the sum a∈Fn fbχ w (a) is minimum. Such sums (for even or odd w) play a
2
role with respect to fast correlation attacks [47, 40] (when these sums have
small magnitude for low values of w, this contributes to a good resistance
to fast correlation attacks).
33
In fact, according to the observations above, “n even” is implied by “f satisfies
P C(n)”; functions satisfying P C(n) do not exist for odd n.
34
The characterization of Theorem 8 leads to a generalization of the notion of bent
function to non-binary functions. In fact, several generalizations exist [3, 220, 257] (see [78]
for a survey); the equivalence between being bent and being perfect nonlinear is no more
valid if we consider functions defined over residue class rings (see [80]).
35
Thus, bent functions are also related to designs, since any difference set can be used
to construct a symmetric design, see [11], pages 274-278. The notion of difference set
is anterior to that of bent function, but it had not been much studied in the case of
elementary 2-groups before the introduction of bent functions.
79
A last way of looking at bent functions deals with linear codes: let f be any
n-variable Boolean function (n even). Denote its support {x ∈ Fn2 | f (x) = 1}
by Sf and write Sf = {u1 , · · · , uwH (f ) }. Consider a matrix G whose columns
are all the vectors of Sf , without repetition, and let C be the linear code
generated by the rows of this matrix. Thus, C is the set of all the vectors
Uv = (v · u1 , · · · , v · uwH (f ) ), where v ranges over Fn2 . Then:
is also bent and its own dual is f itself. Indeed, the inverse Fourier transform
property (19) applied to ϕ = fχ (the sign function of f ) gives, for every
vector a: u∈Fn (−1)f (u)⊕a·u = 2n/2 fχ (a) = 2n/2 (−1)f (a) .
P e
2
Let f and g be two bent functions, then Relation (22) applied with ϕ = fχ
and ψ = gχ shows that
80
Thus, f ⊕ g and fe ⊕ ge have the same weight and the mapping f 7→ fe is an
isometry.
According to Proposition 6, for every a, b ∈ Fn2 and for every bent function
f , the dual of the function f (x + b) ⊕ a · x equals fe(x + a) ⊕ b · (x + a) =
fe(x + a) ⊕ b · x ⊕ a · b. Denoting b · x by `b (x), Relation (44), applied with
g(x) = f (x + b) ⊕ a · x, gives F(Da fe⊕ `b ) = (−1)a·b F(Db f ⊕ `a ), and applied
with g(x) = f (x) ⊕ `a (x) and with f (x + b) in the place of f (x), it gives the
following property, first observed in [61] (and rediscovered in [43]):
The NNF of fe can be deduced from the NNF of f . Indeed, using equality
fe
fe = 1−(−1)
2 , we have fe = 21 − 2−n/2−1 fbχ = 12 − 2n/2−1 δ0 + 2−n/2 fb (according
to Relation (12)). Applying now Relation (30) (expressing the value of the
Fourier transform P by meansI of the coefficients of the NNF) to ϕ = f , we
deduce that if I∈P(N ) λI x is the NNF of f then:
1 X
fe(x) = − 2n/2−1 δ0 (x) + (−1)wH (x) 2n/2−|I| λI .
2
I∈P(N ) | supp(x)⊆I
81
Proposition 17 Let f be any n-variable bent function (n even). For every
I 6= N such that |I| > n/2, the coefficient of xI in the NNF of fe (resp. of f )
is divisible by 2|I|−n/2 .
Reducing this equality modulo 2 proves Rothaus’ bound (see below) and
that, for n ≥ 4 and |I| = n/2, the coefficient of xI in the ANF of f˜ equals
the coefficient of xN \I in the ANF of f . Using Relation (9), the equality
above can be related to the main result of [191] (but this result by Hou was
stated in a complex way).
x∈a+E x∈b+E ⊥
82
It is interesting to charaterize quadratic bent functions in the trace repre-
sentation. This leads for instance to the Kerdock code; see Subsection 6.10
where the bent functions leading to this code are given.
i
Let us study for example the case of the Gold function trn (vx2 +1 ), where
gcd(i, n) = 1. It is bent if and only if there is no nonzero x ∈ F2n such that
i i i n−i
trn (vx2 y+vxy 2 ) = 0 for every y ∈ F2n , i.e., the equation vx2 +(vx)2 =0
has no non-zero solution. Raising this equation to the 2i -th power gives
i 2i
v 2 x2 + vx = 0 and 2i − 1 being co-prime with 2n − 1, it is equivalent, after
i
dividing by vx (when x 6= 0) and taking the (2i − 1)th root, to vx2 +1 ∈ F2 .
i
Hence, the function trn (vx2 +1 ) is bent if and only if v is not the (2i + 1)-th
power of an element of F2n , that is (since gcd(2i +1, 2n −1) = 3), v is not the
third power of an element of F2n . The same result exists with the Kasami
2i i
function trn (x2 −2 +1 ), gcd(i, n) = 1 (this is proved in [139, Theorem 11]
for n not divisible by 3 and true also for n divisible by 3 as seen by Leander
[240]).
Another example of quadratic bent function in the trace representation uses
two trace functions, the trace function trn on the whole field F2n and the
P n2 −1 2i +1
trace function tr n2 on the subfield F2n/2 , is: f (x) = trn ( i=1 x )⊕
n/2
tr n2 (x2 +1 ).
A third example did not appear yet in the literature (as far as we know): let
n be coprime with 3 and i be coprime with n, then the function f (x, y) =
i i
tr n2 (x2 +1 + y 2 +1 + xy), x, y ∈ F2n/2 is bent. Indeed, its associated symplec-
tic form equals the function ((x, y), (x0 , y 0 )) → f (0, 0) ⊕ f (x, y) ⊕ f (x0 , y 0 ) ⊕
i i i i
f (x + x0 , y + y 0 ) = tr n2 (x2 x0 + xx0 2 + y 2 y 0 + yy 0 2 + xy 0 + x0 y). The kernel of
( ( i n−i
)
2 x2 + x2 +y =0
this symplectic form equals (x, y) ∈ F2n/2 / i n−i ; this
y2 + y2 +x=0
i n−i
set is reduced to {(0, 0)}, since denoting z = x+y we have z 2 +z 2 +z = 0
2i i 3i
which implies z 2 = z 2 + z and therefore z 2 = z, that is z ∈ F23i , and
therefore z ∈ F2 and since 1 is not solution z = 0. Then x and y must be null.
83
Hans Dobbertin (with G. Leander) has presented in the posthumous paper
[143] a nice approach for generating new bent functions by recursively gluing
so-called Z-bent functions.
In the case that n = 2, the bent functions have degree 2, since they have
odd weight (in fact, they are the functions of odd weights).
The bound of Proposition 18 (which is obviously also true for fe) was first
proved in [315] and will be called Rothaus’ bound in the sequel. It can
also be proved (see below) by using a similar method as in the proof of
Proposition 11. This same method also allows obtaining a bound, shown
in [192], relating the gaps between n/2 and the algebraic degrees of f and
fe:
84
equivalent to (47). 2
Using Relation (7) instead of Relation (3) gives a more precise result than
Proposition 18, first shown in [87], which will be given in Subsection 6.6.
Proposition 19 can also be deduced from Proposition 17 and from some
divisibility properties, shown in [87], of the coefficients of the NNFs of
Boolean functions of algebraic degree d.
More on the algebraic degree of bent functions can be said for homoge-
neous functions (whose ANF contain monomials of fixed degree), see [279].
6.4 Constructions
There does not exist for n ≥ 10 a classification of bent functions under the
action of the general affine group. In order to understand better the struc-
ture of bent functions, we can try to design constructions of bent functions.
It is useful also to deduce constructions of highly nonlinear balanced func-
tions. Some of the known constructions of bent functions are direct, that is,
do not use as building blocks previously constructed bent functions. We will
call primary constructions these direct constructions. The others, sometimes
leading to recursive constructions, will be called secondary constructions.
36
It is, because the input has been cut in two pieces x and y of the same length; it
is also possible to cut them in pieces of different lengths, see Proposition 20 below, and
bentness is then obviously not characterized by the bijectivity of π.
85
n/2 P f (x,a)⊕u·x ∈ {0, ±2n/2 }. Clearly,
every a, u ∈ F2 , we have n/2 (−1)
x∈F2
having “ x∈Fn/2 (−1)f (x,a)⊕u·x = 0 for every u” for some a is impossi-
P
2
n/2
ble because of Parseval’s relation. Then, for every a ∈ F2 , there exists
n/2
u ∈ F2 such that x∈Fn/2 (−1)f (x,a)⊕u·x = ±2n/2 that is f (x, a) = u · x or
P
2
f (x, a) = u · x ⊕ 1.
The dual function fe(x, y) equals: y · π −1 (x) ⊕ g(π −1 (x)), where π −1 is the
inverse permutation of π. The completed class of M (that is, the small-
est possible complete class including M) contains all the quadratic bent
functions (according to Alinea 4 of the characterization of quadratic bent
functions given in Subsection 6.2; take π = id and g constant in (48)) and
all bent functions in at most 6 variables [135].
As we saw already in Subsection 5.1, the fundamental idea of Maiorana-
McFarland’s construction consists in concatenating affine functions. If we
order all the binary words of length n in lexicographic order, with the bit of
higher weight on the right, then the truth-table of f is the concatenation of
the restrictions of f obtained by setting the value of y and letting x freely
n/2
range over F2 . These restrictions are affine. In fact, Maiorana-McFarland’s
construction is a particular case of a more general construction of bent func-
tions [65] (see the next proposition), which is properly speaking a secondary
construction for r < n/2 and which is the original Maiorana-McFarland
construction for r = n/2 (this is why we give it in this subsection).
Proof. This is a direct consequence of the equality (valid for every φ and
every g): X
r
fd
φ,g χ (a, b) = 2 (−1)g(y)⊕b·y , (49)
y∈φ−1 (a)
which comes from the fact that every function x 7→ fφ,g (x, y) ⊕ a · x ⊕ b · y
being affine, and P
thus constant or balanced, it contributes for a nonzero
value in the sum x∈Fr ,y∈Fs (−1)fφ,g (x,y)⊕x·a⊕y·b only if φ(y) = a. Accord-
2 2
ing to Relation (49), the function fφ,g is bent if and only if r ≤ n/2 and
86
g(y)⊕b·y = ±2n/2−r for every a ∈ Fr2 and every b ∈ Fs2 . The
P
y∈φ−1 (a) (−1)
hypothesis in Proposition 20 is a sufficient condition for that (but it is not
a necessary one). 2
This construction is pretty general: the choice of any partition of F2 in 2r
s
2. The Partial Spreads class PS, introduced in [136] by J. Dillon, is the set
of all the sums (modulo 2) of the indicators of 2n/2−1 or 2n/2−1 +1 “disjoint”
n/2-dimensional subspaces of Fn2 (“disjoint” meaning that any two of these
spaces intersect in 0 only, and therefore that their sum is direct and equals
Fn2 ). The bentness of such function is a direct consequence of Theorem 12
below. This is why we omit the proof of this fact here. According to this
same theorem, the dual of such a function has the same form, all the n/2-
dimensional spaces E being replaced by their orthogonals. Note that the
Boolean functions equal to the sums of the indicators of “disjoint” n/2-
dimensional subspaces of Fn2 share with quadratic functions the property of
being bent if and only if they have the weight of a bent function (which is
2n−1 ± 2n/2−1 ). J. Dillon denotes by PS − (resp. PS + ) the class of those
bent functions for which the number of n/2-dimensional subspaces is 2n/2−1
(resp. 2n/2−1 + 1). All the elements of PS − have algebraic degree n/2
exactly (indeed, by applying a linear isomorphism of Fn2 , we may assume
87
n/2
that F2 × {0} is among the 2n/2−1 “disjoint” spaces defining the function,
and since the function vanishes at 0, Relation (3) shows that the monomial
x1 · · · xn/2 appears in its ANF), but not all those of PS + (which contains for
instance all the quadratic functions, if n/2 is even, see below). It is an open
problem to characterize the algebraic normal forms of the elements of class
PS, and it is not a simple matter to construct, practically, elements of this
class. J. Dillon exhibits in [136] a subclass of PS − , denoted by PS ap , whose
elements (that we shall call Dillon’s functions) are defined in an explicit
n/2
form: F2 is identified to the Galois field F2n/2 (an inner product in this field
being defined as x·y = tr n2 (xy), where tr n2 is the trace function from F2n/2 to
F2 ; we know that the notion of bent function is independent of the choice of
the inner product); the space Fn2 ≈ F2n/2 ×F2n/2 , viewed37 as a 2-dimensional
F2n/2 -vectorspace, is equal to the “disjoint” union of its 2n/2 +1 lines through
the origin; these lines are n/2-dimensional F2 -subspaces of Fn2 . Choosing any
2n/2−1 of the lines, and taking them different from those of equations x = 0
and y = 0, leads, by definition,
of PS ap , that is, to a function
toan element
n/2 −2 x x
of the form f (x, y) = g x y 2 , i.e. g y with y = 0 if y = 0, where g is
n/2
a balanced
Boolean function on F2 which vanishes at 0. The complements
x
g y ⊕ 1 of these functions are the functions g( xy ) where g is balanced and
does not vanish at 0; they belong to the class PS + . In both cases, the dual
of g( xy ) is g( xy ) (this is a direct consequence of Theorem 12). Any function
n/2
f (x, y) = g x y 2 −2 can be represented as a function of a single variable
n/2 n/2
X belonging to F2n : we have x = aX + (aX)2 and y = bX + (bX)2
∗ n/2
a, b ∈ F2n linearly
for some elements
independent over F2 , and
2n/2 −2
we have
n/2 n/2 n/2 n/2
then f (X) = g a + a2 X 2 −1 b + b2 X 2 −1 , for every
X 6= 0.
Given a primitive element α of F2n , we have then for i = 0, · · · , 2n/2 and
j = 0, · · · , 2n/2 − 2:
n/2
n/2 n/2 n/2
f αi+j(2 +1) = g (a + a2 β i ) (b + b2 β i )2 −2 ,
n/2
where β = α2 −1 . The elements of the class PS # ap , of those Boolean func-
tions over F2n which can be obtained from those of PS ap by composition by
the transformations x ∈ F2n 7→ δx, δ 6= 0, and by addition of a constant38
37
Let ω be an element of F2n \ F2n/2 ; the pair (1, ω) is a basis of the F2n/2 -vectorspace
F2n ; hence, we have F2n = F2n/2 + ωF2n/2 .
38
The functions of PS ap are among them those satisfying f (0) = f (1) = 0.
88
are those Boolean functions f of weight 2n−1 ± 2n/2−1 on F2n such that,
n/2
denoting by α a primitive element of this field, f (α2 +1 x) = f (x) for every
x ∈ F2n . It is proved in [136, 82] that these functions
Pr are the functions of
weight 2 n−1 ±2 n/2−1 which can be written as i=1 trn (ai xji ) for ai ∈ F2n
and ji a multiple of 2 n/2 − 1 with ji ≤ 2n − 1.
Dillon [136] shows that, when n/2 is even, all quadratic bent functions
are equal to PS + functions or to their complements (while they cannot
be affinely equivalent to PS # ap functions because their degree does not equal
n/2): by affine equivalence we can restrict ourselves to the function (x, , y, η) ∈
F2n/2−1 × F2 × F2n/2−1 × F2 → tr(xy) + η + 1, where tr is the trace func-
tion from F2n/2−1 to F2 ; the support of this function equals the union of the
2n/2−1 + 1 n/2-dimensional vector spaces (very much related to the Ker-
dock code) S∞ = {0} × {0} × F2n/2−1 × F2 and Sa = {(x, , a2 x + atr(ax) +
a, tr(ax)); (x, ) ∈ F2n/2−1 × F2 } for a ∈ F2n/2−1 .
3. Dobbertin gives in [141] the construction of a class of bent functions which
contains both PS ap and M. Theelements of this class are the functions f
defined by f (x, φ(y)) = g x+ψ(y)
y , where g is a balanced Boolean function
on F2n/2 and φ, ψ are two mappings from F2n/2 to itself such that, if T
denotes the affine subspace of F2n/2 spanned by the support of the function
gc g
χ (where gχ = (−1) ), then, for any a in F2n/2 , the functions φ and ψ are
affine on aT = {ax, x ∈ T }. The mapping φ must additionally be one to
one. The elements of this class do not have an explicit form, but Dobbertin
gives two explicit examples of bent functions constructed this way. In both,
φ is a power function (see below).
5. Some infinite classes of bent functions have also been obtained, thanks
to the identification between the vectorspace Fn2 and the field F2n , as power
89
functions (which can also be called monomial functions), that is, functions
of the form trn (axi ), where trn is the trace function on F2n and where a 6= 0
and x belong to this same field. Obviously, a power function trn (axi ) can
be bent only if the mapping x → xi is not one to one (otherwise, the func-
tion would be balanced, a contradiction), that is, if i is not co-prime with
2n − 1. It has been proved in [240] that i must be co-prime either with
2n/2 − 1 or with 2n/2 + 1: it is a simple matter to show that fbχ (0) equals
1 modulo gcd(i, 2n − 1), and this implies that fbχ (0) = 2n/2 if and only if
gcd(i, 2n/2 + 1) = 1 and fbχ (0) = −2n/2 if and only if gcd(i, 2n/2 − 1) = 1
(this is easy to show by using that 2n/2 − 1 and 2n/2 + 1 are co-prime). The
known values of i for which there exists at least one a such that trn (axi ) is
bent are (up to conjugacy i → 2i [mod 2n − 1]):
n
- the Gold exponents i = 2j + 1, where gcd(j,n) is even (the corresponding
i i
function trn (ax ) is bent if and only if a 6∈ {x , x ∈ F2n }; the condition“
n
gcd(j,n) even” is for allowing existence of such a; the function belongs to the
Maiorana-McFarland class);
- the Dillon exponents [135] of the form j · (2n/2 − 1), where gcd(j, 2n/2 +
1) = 1 (the function trn (axi ), where a ∈ F2n/2 without loss of general-
ity, and i = j (2n/2 − 1) is then bent if and only if the Kloosterman sum
tr n (1/x+ax)
is null39 , where 1/0 = 0 and where tr n2 is the trace
P
x∈F2n/2 (−1)
2
function on the field F2n/2 ; this equivalence has been first proved by Dillon
[136]; more recently, Leander [240] has found another proof which gives more
insight; a small error in his proof has been corrected in [102]; the function
trn (axi ) belongs then to the PSap class);
- the Kasami exponents i = 22j − 2j + 1, where gcd(j, n) = 1 (the corre-
sponding function trn (axi ) is bent if and only if a 6∈ {x3 , x ∈ F2n }, see [139]
and [240]);
- and two exponents more recently found: i = (2n/4 + 1)2 where n is di-
visible by 4 but not by 8 (see [240], where the Gold and Dillon exponents
are also revisited, see also [104] where (at page 2) the set of all a’s such
that the corresponding function trn (axi ) is bent is determined: a = a0 bi ,
a0 ∈ wF2n/4 , w ∈ F4 \ F2 , b ∈ F2n ; the function belongs to the Maiorana-
McFarland class) and i = 2n/3 + 2n/6 + 1, where n is divisible by 6 [44] (the
corresponding function trn (axi ) is bent if and only if a = a0 bi , a0 ∈ F2n/2
39
The existence of a such that the Kloosterman sum is null had been conjectured by
Dillon. It has been proved by Lachaud and Wolfmann [225] who proved that the values
of such Kloosterman sums are all the numbers divisible by 4 in the range [−2n/4+1 +
1; 2n/4+1 + 1].
90
n/6 n/6 2n/6
such that trn/2 (a0 ) := a0 + a02 + a02 = 0, b ∈ F2n ; it belongs to the
Maiorana-McFarland class).
Note that a still simpler bent function (but which is not expressed by
n/2
means of the function trn itself) is f (x) = tr n2 (x2 +1 ), that is, f (x) =
n/2 +1
n/2 2 n/2 22 n/2 2n/2−1
x 2 + x2 +1 + x 2 +1 + · · · + x2 +1 . The symplectic
n/2
form ϕf (x, y) associated to f equals trn (y 2 x); its kernel is therefore trivial
and f is bent.
Some other functions are defined as the sums of a few power functions, see
[136, 139, 144, 145, 102, 197, 239, 242, 357].
Note that power functions and sums of power functions represent for the
designer of the cryptosystem using them the interest of being more eas-
ily computable than general functions (which allows using them with more
variables while keeping a good efficiency). Power functions have the pecu-
liarity that, denoting the set {xi ; x ∈ F∗2n } by U , two functions trn (axi ) and
trn (bxi ) such that a/b ∈ U are linearly equivalent. It is not clear whether
this is more an advantage for the designer or for the attacker of a system
using a nonlinear balanced function derived from such bent function.
Finally, bent functions have been also obtained by Dillon and McGuire [140]
as the restrictions of functions on F2n+1 , with n + 1 odd, to a hyperplane
2k k
of this field: these functions are the Kasami functions trn x2 −2 +1 and
the hyperplane has equation trn (x) = 0. The restriction is bent under the
condition that n + 1 = 3k ± 1.
Remark. The bent sequences given in [355] are particular cases of the
constructions given above (using also some of the secondary constructions
given below).
In [99] are constructed homogeneous bent functions (i.e. bent functions
whose ANFs are the sums of monomials of the same degree) on 12 (and less)
variables by using the invariant theory (which makes feasible the computer
searchs).
91
in [136, 315] is very simple: let f be a bent function on Fn2 (n even) and
n+m
g a bent function on Fm 2 (m even) then the function h defined on F2
by h(x, y) = f (x) ⊕ g(y) is bent. Indeed, we have clearly h c (a, b) =
χ
fbχ (a) × gc
χ (b). This construction, called the direct sum has unfortunately
no great interest from a cryptographic point of view, since it produces de-
composable functions (a Boolean function is called decomposable if it is
equivalent to the sum of two functions that depend on two disjoint subsets
of coordinates; such peculiarity is easy to detect and can be used for design-
ing divide-and-conquer attacks, as pointed out by J. Dillon in [137]).
3. Two classes of bent functions have been derived in [54] from Maiorana-
McFarland’s class, by adding to some functions of this class the indicators
of some vector subspaces:
- the class D0 whose elements are the functions of the form f (x, y) =
x · π(y) ⊕ δ0 (x) (recall that δ0 is the Dirac symbol; the ANF of δ0 (x) is
Qn/2 −1
i=1 (xi ⊕ 1)). The dual of such a function f is the function y · π (x) ⊕
δ0 (y). It is proved in [54] that this class is not included40 in the completed
versions M# and PS # of classes M and PS (i.e. the smallest possible
classes including them) and that every bent function in 6 variables is affinely
equivalent to a function of this class, up to the addition of an affine function.
Class D0 is a subclass of the class denoted by D, whose elements are the
functions of the form f (x, y) = x · π(y) ⊕ 1E1 (x)1E2 (y), where π is any
n/2 n/2
permutation on F2 and where E1 , E2 are two linear subspaces of F2
such that π(E2 ) = E1 ⊥ (1E1 and 1E2 denote their indicators). The dual of f
belongs to the completed version of this same class;
- the class C of all the functions of the form x · π(y) ⊕ 1L (x), where L is
n/2 n/2
any linear subspace of F2 and π any permutation on F2 such that, for
40
It is easy to show that a function f does not belong to M# by showing that there
does not exist an n/2-dimensional vector-subspace E of Fn 2 such that Da Db f is null for
every a, b ∈ E; it is much more difficult to show that it does not belong to PS # .
92
n/2
any element a of F2 , the set π −1 (a + L⊥ ) is a flat. It is a simple matter
to see, as shown in [45], that, under the same hypothesis on π, if g is a
Boolean function whose restriction to every flat π −1 (a + L⊥ ) is affine, then
the function x · π(y) ⊕ 1L (x) ⊕ g(y) is also bent.
The fact that any function in class D or class C is bent comes from the
following theorem proved in [54], which has its own interest:
If f and f ? are bent, then E has dimension greater than or equal to n/2
and the algebraic degree of the restriction of f to b + E is at most dim(E) −
n/2 + 1.
If f is bent, if E has dimension n/2, and if the restriction of f to b + E has
algebraic degree at most dim(E) − n/2 + 1 = 1, i.e. is affine, then conversely
f ? is bent too.
Proof. Recall that a function is bent if and only if it satisfies P C(n). The
equivalence between Condition 1. and the bentness of f ? comes then from
the
P fact that D F(Da f ? ) equals F(Da f ) if a ∈ E, and equals F(Da f ) −
4 x∈b+E (−1) a f (x) otherwise.
We have fbχ (a)− fbχ? (a) = 2 x∈b+E (−1)f (x)⊕a·x . Using Relation (46), applied
P
u∈a+E ⊥
?
and fbχ (a) − fbχ (a) takes value 0 or ±2n/2+1 for every a if and only if Con-
dition 2. is satisfied. So Condition 2. is necessary and sufficient, according
to Lemma 2 (at the beginning of Section 6).
Let us now assume that f and f ? are bent. Then 1b+E = f ? ⊕f has algebraic
degree at most n/2, according to Rothaus’ bound, and thus dim(E) ≥ n/2.
The values of the Walsh transform of the restriction of f to b+E being equal
1 b ?
to those of 2 fχ − fχ , they are divisible by 2n/2 and thus the restriction
c
of f to b + E has algebraic degree at most dim(E) − n/2 + 1, according to
93
Proposition 11.
If f is bent, if E has dimension n/2, and if the restriction of f to b + E is
?
affine, then the relation fbχ (a) − fbχ (a) = 2 x∈b+E (−1)f (x)⊕a·x shows that
P
f ? is bent too, according to Lemma 2. 2
Remarks.
- Relation (46) applied to E ⊥ in the place of E, where E is some n/2-
dimensional subspace, shows straightforwardly that, if f is a bent function
on Fn2 , then f (x) ⊕ a · x is constant on b + E if and only if fe(x) ⊕ b · x
is constant on a + E ⊥ . The same relation shows that f (x) ⊕ a · x is then
balanced on every other coset of E and fe(x)⊕b·x is balanced on every other
coset of E ⊥ . Notice that Relation (46) shows also that f (x) ⊕ a · x cannot be
constant on a flat of dimension strictly greater than n/2 (i.e. that f cannot
be k-weakly-normal with k > n/2).
- Let f be bent on Fn2 . Let a and a0 be two linearly independent elements
of Fn2 . Let us denote by E the orthogonal of the subspace spanned by a and
a0 . According to condition 2. of Theorem 9, the function f ⊕ 1E is bent
if and only if Da Da0 fe is null (indeed, a 2-variable function is constant or
balanced if and only if it has even weight, and fe has even weight on any
coset of the vector subspace spanned by a and a0 if and only if, for every
vector x, we have f (x) ⊕ f (x + a) ⊕ f (x + a0 ) ⊕ f (x + a + a0 ) = 0). This
result has been restated in [43] and used in [45] to design (potentially) new
bent functions.
ϕs : y 7→ fey (s)
94
This very general result is easy to prove, using that, for every s ∈ Fn2 ,
X
(−1)f (x,y)⊕x·s = 2n/2 (−1)fy (s) = 2n/2 (−1)ϕs (y) ,
f
x∈Fn
2
Then h is bent and its dual is obtained from fe1 , fe2 , ge1 and ge2 by the same
formula as h is obtained from f1 , f2 , g1 and g2 .
Proof. For every y, the function hy (x) of Theorem 10 equals f1 (x) plus
the constant g1 (y) if g1 (y) = g2 (y) and f2 (x) plus the constant g1 (y) if
g1 (y) 6= g2 (y); thus it is bent and function ϕs (y) equals fe1 (s) ⊕ g1 (y) if
g1 (y) = g2 (y) and fe2 (s) ⊕ g1 (y) if g1 (y) 6= g2 (y), that is, equals fe1 (s) ⊕
g1 (y) ⊕ (fe1 ⊕ fe2 )(s) (g1 ⊕ g2 )(y). Hence, ϕs (y) is bent too and according to
Theorem 10, h is then bent and its dual equals:
2
What is interesting in this particular case of Theorem 10 (sometimes called
the indirect sum of bent functions) is that we only assume the bentness
of f1 , f2 , g1 , and g2 for deducing the bentness of h; no extra condition is
needed, contrary to the general construction.
Another simple application of Theorem 10, called the extension of Maiorana-
n/2
McFarland type is given in [79]: Let π be a permutation on F2 and
fπ,g (x, y) = x · π(y) ⊕ g(y) a related Maiorana-McFarland bent function.
41
h is the concatenation of the four functions f1 , f1 ⊕ 1, f2 and f2 ⊕ 1, in an order
controled by g1 (y) and g2 (y). This construction (f1 , f2 , g1 , g2 ) 7→ h will appear again
below to construct resilient functions; see Theorem 14.
95
Let (hy )y∈Fn/2 be a collection of bent functions on Fm
2 for some even integer
2
n/2 n/2
m. Then the function (x, y, z) ∈ F2 ×F2 ×Fm
2 → hy (z)⊕fπ,g (x, y) is bent.
Several classes have been deduced from Theorem 10 in [57], and later
in [192].
- Let n and m be two even positive integers. The elements of Fn+m 2 are
n/2
written (x, y, z, τ ), where x, y are elements of F2 and z, τ are elements
m/2 n/2 m/2
of F2 . Let π and π 0 be permutations on F2 and F2 (respectively)
m/2
and h a Boolean function on F2 . Then, the following Boolean function
on Fn+m
2 is bent:
is bent on Fn+m
2 .
- Let r be a positive integer. We identify Fr2 with F2r . Let π and π 0 be
two permutations on F2r and g a balanced Boolean function on F2r . The
following Boolean function on F4r r 4
2 = (F2 ) :
0 x x
f (x, y, z, τ ) = z · π τ + π ⊕ δ0 (z)g
y y
is a bent function.
5. X.-D. Hou and P. Langevin have made in [196] a very simple observation
which leads to potentially new bent functions:
96
Proposition 21 Let f be a Boolean function on Fn2 , n even. Let σ be a
permutation on Fn2 . We denote its coordinate functions by σ1 , · · · , σn and
we assume that, for every a ∈ Fn2 :
n
M
dH (f, ai σi ) = 2n−1 ± 2n/2−1 .
i=1
Then f ◦ σ −1 is bent.
−1 and the linear function
Indeed, the Hamming distanceLn between f ◦ σ
`a (x) = a · x equals dH (f, i=1 ai σi ).
Hou and Langevin deduced that, if h is an affine function on Fn2 , if f1 , f2
and g are Boolean functions on Fn2 , and if the following function is bent:
is bent.
They also deduced that, if f is a bent function on Fn2 whose algebraic degree
is at most 3, and if σ is a permutation on Fn2 such that, for every i = 1, · · · , n,
there exists a subset Ui of Fn2 and an affine function hi such that:
M
σi (x) = (f (x) ⊕ f (x + u)) ⊕ hi (x),
u∈Ui
then f ◦ σ −1 is bent.
n/2
Finally, X.-D. Hou [192] deduced that if f (x, y) (x, y ∈ F2 ) is a Maiorana-
McFarland’s function of the particular form x · y ⊕ g(y) and if σ1 , · · · , σn are
all of the form 1≤i<j≤n/2 ai,j xi yj ⊕ b · x ⊕ c · y ⊕ h(y), then f ◦ σ −1 is bent.
L
He gave several examples of application of this result.
6. Note that the construction of 5. does not increase the number of vari-
ables, contrary to most other secondary constructions. Another secondary
construction without extension of the number of variables was introduced
in [70]. It is based on the following result:
97
the following equality between the Fourier transforms: fb1 + fb2 + fb3 = sb1 + 2sb2
and the similar equality between the Walsh transforms:
fc
1 χ + f2 χ + f3 χ = sc
c c 1 χ + 2 sc
2χ . (50)
Relation (50), is congruent with 2n/2 modulo 2n/2+1 for every a. This is
sufficient to imply that s1 is bent, according to Lemma 2 (at the beginning
of Section 6). 2
98
6.4.3 Decompositions of bent functions
The following theorem, proved in [42], is a direct consequence of Rela-
tion (28), applied to f ⊕ ` where ` is linear, and to a linear hyperplane
E of Fn2 , and of the well-known (easy to prove) fact that, for every even
integer n ≥ 4, the sum of the squares of two integers equals 2n (resp. 2n+1 )
if and only if one of these squares is null and the other one equals 2n (resp.
both squares equal 2n ):
1. f is bent.
2. For every (resp. for some) linear hyperplane E of Fn2 , the Walsh trans-
forms of the restrictions h1 , h2 of f to E and to its complement (viewed
as Boolean functions on Fn−12 ) take values ±2n/2 and 0 only, and the
disjoint union of their supports equals the whole space Fn−1 2 .
99
2n/2 + 1
2n/2
≈ 2√ n/22 functions. However, the number of
PS ap , leads only to 2n/2−1
π2
provably bent Maiorana-McFarland’s functions seems negligible with respect
to the total number of bent functions. The number of (bent) functions which
are affinely equivalent to Maiorana-McFarland’s functions is unknown; it is
at most equal to the number of Maiorana-McFarland’s functions times the
number of affine automorphisms, which equals 2n (2n − 1)(2n − 2) · · · (2n −
2n−1 ). It seems also negligible with respect to the total number of bent func-
tions. The problem of determining an efficient lower bound on the number
of n-variable bent functions is open.
Rothaus’ inequality recalled in Subsection 6.3 (Proposition 18) states that
any bent function has algebraic degree at most n/2. Thus, the number of
bent functions is at most
n n
2
1+n+...+(n/2 ) = 22n−1 + 12 (n/2 ).
We shall call this upper bound the naive bound . For n = 6, the number
of bent functions is known and is approximately equal to 232.3 (see [302]),
which is much less than what gives the naive bound: 242 . For n = 8, the
number is also known: it has been first shown in [234] that it is inferior to
2129.2 ; it has been very recently calculated by Langevin, Leander et al. [233]
and equals approximately 2106.3 (the naive bound gives 2163 ). Hence picking
at random an 8-variable Boolean function of algebraic degree bounded above
by 4 does not allow obtaining bent functions (but more clever methods exist,
see [127, 82]). An upper bound improving upon the naive bound has been
found in [90]. It is exponentially better than the naive bound since it divides
n/2
it by approximately 22 −n/2−1 . But it seems to be still far from the exact
number of bent functions: for n = 6 it gives roughly 238 (to be compared
with 232.3 ) and for n = 8 it gives roughly 2152 (to be compared with 2106.3 ).
100
Conversely, Condition 1. is necessary, according to Proposition 17. Condi-
tion 2. is also necessary since fb(1, · · · , 1) = (−1)n λN (from Relation (30)).
2
Proposition 23 and Relation (9) imply some restrictions on the coefficients
of the ANFs of bent functions, observed and used in [90] (and also partially
observed by Hou and Langevin in [196]).
Proposition 23 can be seen as a (much) stronger version of Rothaus’ bound,
since the algebraic degree of a Boolean function whose NNF is f (x) =
I
P
I∈P(N ) λI x equals the maximum size of I, such that λI is odd.
If we have f (x) = ki=1 mi 1Ei (x) − 2n/2−1 δ0 (x) then the dual of f equals
P
Proof (sketch of). Relation (51) is a sufficient condition for f being bent,
according to Lemma 2 (at the beginning of Section 6) and to Relation (16).
This same Relation (16) also implies the last sentence of Theorem 12. Con-
versely, if f is bent, then Proposition 23 allows to deduce Relation (51), by
expressing all the monomials xI by means of the indicators of subspaces of
dimension at least n − |I| (indeed, the NNFQ of the indicator
P of the subspace
{x ∈ Fn2 / xi = 0, ∀i ∈ I} being equal to i∈I (1 − xi ) = J⊆I (−1)|J| xJ , the
monomial xI can be expressed by means of this indicator and of the monomi-
als xJ , where J is strictly included in I) and by usingQLemma 3 below (note
that d ≥ n − |I| implies |I| − n/2 ≥ n/2 − d and that i∈N (1 − xi ) = δ0 (x)).
2
101
that, for any element x of Fn2 :
k
X h i
2n/2−d 1F (x) ≡ m + mi 1Ei (x) mod 2n/2 if d < n/2, and
i=1
k
X h i
1F (x) ≡ mi 1Ei (x) mod 2n/2 if d > n/2.
i=1
The class of those functions f which satisfy the relation obtained from (51)
by withdrawing “[mod 2n/2 ]” is called Generalized Partial Spread class and
denoted by GPS (it includes
Pk PS), see [55]. The dual fe of such function f
of GPS equaling f (x) = i=1 mi 1E ⊥ (x) − 2
e n/2−1 δ0 (x), it belongs to GPS
i
too.
102
3
∀u ∈ Fn2 , fbχ (u) = 2n fbχ (u) .
Thus, we have a,b∈Fn (−1)Da Db f (x) = 2n if and only if, for every u ∈ Fn2 ,
P
√ 2
fbχ (u) equals ± 2n or 0. According to Parseval’s relation, the value 0 can-
not be achieved by fb and this is therefore equivalent to the bentness of f . 2
χ
It is shown similarly in [93] that the relation similar to (52) but with any
integer in the place of 2n characterizes the class of plateaued functions (see
Subsection 6.8).
103
y0
y = 0 if y = 0. For every a ∈ F2n , we have
y0
“ ”
f (x)⊕trn (a xi ) g ⊕trn (a (y 0 +ωy)i )
X X
(−1) = (−1) y
.
x∈F2n y,y 0 ∈F2n/2
y0
Denoting y by z, we see that:
y0
“ ”
g ⊕trn (a (y 0 +ωy)i ) i (z+ω)i )
X X
(−1) y
= (−1)g(z)⊕trn (a y .
y∈F∗n/2 ,y 0 ∈F2n/2 z∈F2n/2 ,y∈F∗n/2
2 2
0i ) 0
X X
The remaining sum (−1)g(0)⊕trn (a y = (−1)trn (a y ) (this equal-
y 0 ∈F2n/2 y 0 ∈F2n/2
ity being due to the fact that the mapping x → xi is one-to-one) equals 2n/2
if a ∈ FX
2n/2 and is null otherwise.
i
Thus, (−1)f (x)⊕trn (a x ) equals:
x∈F2n
i
X X X
(−1)g(z) (−1)trn (a(z+ω) y)
− (−1)g(z) + 2n/2 1F (a).
2n/2
z∈F2n/2 y∈F2n/2 z∈F2n/2
n/2
Proof. Let j be the inverse of i modulo 2n − 1. We have a(z + ω)i ∈ F2 if
n/2 n/2 n/2
and only if z ∈ ω + a−j × F2 . The sets ω + a−j × F2 and F2 are two
n/2 n/2
flats whose directions a−j × F2 and F2 are subspaces whose sum is direct
and equals F2n . Hence, they have a unique vector in their intersection. 2
104
Relationships between the notion of hyper-bent function and cyclic codes
P every hyper-bent function f : F2 → F2 ,
are studied in [82]. It is proved that n
can be represented as: f (x) = ri=1 trn (ai xti ) ⊕ , where ai ∈ F2n , ∈ F2
and w2 (ti ) = n/2. Consequently, all hyper-bent functions have algebraic
degree n/2.
In [102] is proved that, for every even n, every λ ∈ F∗2n/2 and every r ∈
n
]0; 2 [ such that the cyclotomic cosets of 2 modulo 2n/2 +1 containing respec-
r
tively 2r − 1 and 2r + 1 have size n and such that the function tr n2 λx2 +1
r n/2 r n/2
is balanced on F2n/2 , the function trn λ x(2 −1)(2 −1) + x(2 +1)(2 −1)
r
is bent (i.e. hyper-bent) if and only if the function tr n2 x−1 + λx2 +1 is
Remark. In [56] have been determined those Boolean functions on Fn2 such
that, for a given even integer k (2 ≤ k ≤ n−2), any of the Boolean functions
on Fn−k
2 , obtained by keeping constant k coordinates among x1 , · · · , xn , is
bent (i.e. those functions which satisfy the propagation criterion of degree
n − k and order k, see Section 8). These are the four symmetric bent
functions (see Section 10). They were called hyper-bent in [56] but we keep
this term for the notion introduced by Youssef and Gong.
105
Moreover, N∆f × Nfb = 2n if and only if, for every b ∈ Fn2 , the derivative
χ
Db f is either balanced or constant. This property is also equivalent to the
fact that there exist two linear subspaces E (of even dimension) and E 0
of Fn2 , whose direct sum equals Fn2 , and Boolean functions g, bent on E, and
h, affine on E 0 , such that:
Inequality (53) comes directly from Relation (25): since the value of the
auto-correlation coefficient F(Db f ) lies between −2n and 2n for every b,
2
we have N∆f ≥ 2−n b∈Fn (−1)u·b F(Db f ) = 2−n fbχ (u), for every u ∈ Fn2 ,
P
2
2
P
fχ b 2 (u)
u∈Fn
and thus N∆f ≥ 2−n maxu∈Fn2 fbχ (u). And we have Nfb ≥ 2
2 =
χ maxu∈Fn fbχ (u)
2
22n
2 . This proves Inequality (53). This inequality is an equality
maxu∈Fn fbχ (u)
2
if and only if both inequalities above are equalities, that is, if and only if,
for every b, the auto-correlation coefficient F(Db f ) equals 0 or 2n (−1)u0 ·b ,
2 2
where maxu∈Fn fb (u) = fb (u0 ), and if f is plateaued. The condition that
2 χ χ
Db f is either balanced or constant, for every b, is sufficient to imply that f
has the form (54): E 0 is the linear kernel of f and the restriction of f to E
has balanced derivatives. Conversely, any function of the form (54) is such
that Relation (53) is an equality. 2
These functions such that N∆f × Nfb = 2n are called partially-bent func-
χ
tions. Every quadratic function is partially-bent. Partially-bent functions
share with quadratic functions almost all of their nice properties (Walsh
spectrum easier to calculate, potential good nonlinearity and good resiliency
order), see [53]. In particular, the values of the Walsh transform equal 0 or
0
±2dim(E )+dim(E)/2 .
106
Fn2 : ϕ(u) = x∈Fn 1ϕ (x)ϕ(x)(−1)u·x . Applying then the Cauchy-Schwartz
P
b
2
b2 (u) ≤ Nϕ x∈Fn ϕ2 (x) = 2−n Nϕ v∈Fn ϕ b2 (v) (accord-
P P
inequality gives ϕ
2 2
ing to Parseval’s relation (3)). Hence, ϕ b2 (u) ≤ 2−n Nϕ × Nϕb maxv∈Fn2 ϕb2 (v).
Choosing u such that ϕ 2
b (u) is maximum gives the desired inequality, since,
according to Parseval’s inequality, and ϕ being nonzero, this maximum can-
not be null.
Equality occurs if and only if all of the inequalities above are equalities, that
is, ϕb2 (v) takes only one nonzero value (say µ) and there exists a number λ
such that, for every u such that ϕ b2 (u) = µ, we have ϕ(x) 6= 0 ⇒ ϕ(x) =
u·x
λ(−1) . This is equivalent to the condition stated at the end of Proposi-
tion 27. 2
42
Partial bent functions are the indicators of partial difference sets.
107
the cardinality of the support {a ∈ Fn2 / fbχ (a) 6= 0} of the Walsh transform of
2
a given n-variable Boolean function f , we have N b × maxa∈Fn fb (a) ≥ 22n
fχ 2 χ
108
a quadratic function and the number of its nonzero second-order derivatives.
109
To this aim, a notion more general than normality has been introduced as
follows:
Definition 8 Let U ⊆ V be two vector spaces over F2 . Let β : U → F2 and
f : V → F2 be bent functions. Then we say that f is a normal extension of
β, in symbols β f , if there is a direct decomposition V = U ⊕ W1 ⊕ W2
such that
(i) β(u) = f (u + w1 ) for all u ∈ U, w1 ∈ W1 ,
(ii) dim W1 = dim W2 .
The relation is transitive and if β f then the same relation exists
between the duals: βe fe.
A bent function is normal if and only if f , where ∈ F2 is viewed as a
Boolean functions over the vector space F02 = {0}.
Examples of normal extensions are given in [79] (including the construction
of Theorem 10 and its particular cases, the indirect sum and the extension
of Maiorana-McFarland type).
The clarification about the sum of a normal bent function and of a non-
normal bent function comes from the two following propositions:
Proposition 29 Let fi : Vi → F2 , i = 1, 2, be bent functions. The direct
sum f1 ⊕ f2 is normal if and only if bent functions β1 and β2 exist such that
fi is a normal extension of βi (i = 1, 2) and either β1 and β2 or β1 and
β2 ⊕ 1 are linearly equivalent.
Proposition 30 Suppose that β f for bent functions β and f . If f is
normal, then also β is normal.
Hence, since the direct sum of a bent function β and of a normal bent
function g is a normal extension of β, the direct sum of a normal and a
non-normal bent function is always non-normal.
Normal extension leads to a secondary construction of bent functions:
Proposition 31 Let β be a bent function on U and f a bent function on
V = U × W × W . Assume that β f . Let
β 0 : U → F2
be any bent function. Modify f by setting for all x ∈ U , y ∈ W
f 0 (x, y, 0) = β 0 (x),
while f 0 (x, y, z) = f (x, y, z) for all x ∈ U , y, z ∈ W , z 6= 0. Then f 0 is bent
and we have β 0 f 0 .
110
6.10 Kerdock codes
For every even n, the Kerdock code Kn [211] is a supercode of R(1, n) (i.e.
contains R(1, n) as a subset) and is a subcode of R(2, n). More precisely
Kn is a union of cosets fu ⊕ R(1, n) of R(1, n), where the functions fu are
quadratic (one of them is null and all the others have algebraic degree 2).
The difference fu ⊕ fv between two distinct functions fu and fv being bent,
Kn has minimum distance 2n−1 − 2n/2−1 (n even), which is the best possible
minimum distance for a code equal to a union of cosets of R(1, n), according
to the covering radius bound. The size of Kn equals 22n . This is the best
possible size for such minimum distance (see [129]). We describe now how
the construction of Kerdock codes can be simply stated.
(which can also be defined as f (x) = wH2(x) [mod 2]) is bent43 because
M
the kernel of it associated symplectic form ϕ(x, y) = xi yj equals
1≤i6=j≤n
{0}. Thus, the linear code R(1, n) ∪ (f ⊕ R(1, n)) has minimum distance
2n−1 − 2n/2−1 .
We want to construct a code of size 22n with this same minimum distance.
We use the structure of field to this aim. We have recalled in Subsection 2.1
some properties of the field F2m (where m is any positive integer). In par-
ticular, we have seen that there exists α ∈ F2m (called a primitive element)
m
such that F2m = {0, α, α2 , · · · , α2 −1 }. Moreover, there exists α, primitive
2 m−1
element, such that (α, α2 , α2 , · · · , α2 ) is a basis of the vectorspace F2m .
Such basis is called a normal basis. If m is odd, then there exists a self-dual
i j
normal basis, that is, a normal basis such that: trm (α2 +2 ) = 1 if i = j and
i j
trm (α2 +2 ) = 0 otherwise, where trm is the trace function over F2m .
m−1
Consequence: for all x = x1 α + · · · + xm α2 in F2m , we have
m m
j +1
M M
trm (x) = xi trm (x2 )= xi xi+j ,
i=1 i=1
111
The function f of Relation (56), viewed as a function f (x, xn ) on F2m × F2 ,
where m = n − 1 is odd – say m = 2t + 1 – can now be written as44 :
t
j
X
f (x, xn ) = trm x2 +1 ⊕ xn trm (x) .
j=1
Notice that the associated symplectic form associated to f equals trm (x)trm (y)⊕
trm (xy) ⊕ xn trm (y) ⊕ yn trm (x).
Remark.
The Kerdock codes are not linear. However, they share some nice properties
with linear codes: the distance distribution between any codeword and all
the other codewords does not depend on the choice of the codeword (we say
that the Kerdock codes are distance-invariant; this results in the fact that
their distance enumerators are equal to their weight enumerators); and, as
proved by Semakov and Zinoviev [329], the weight enumerators of the Ker-
dock codes satisfy a relation similar to Relation (33), in which C is replaced
by Kn and C ⊥ is replaced by the so-called Preparata code of the same length
(we say that the Kerdock codes and the Preparata codes are formally dual).
An explanation of this astonishing property has been recently obtained [175]:
44
Obviously, this expression can be taken as the definition of f .
112
the Kerdock code is stable under an addition inherited of the addition in
Z4 = Z/4Z (we say it is Z4 -linear) and the Mac Williams identity still holds
in this different framework. Such an explanation had been an open problem
for two decades.
7 Resilient functions
We have seen in Subsection 4.1 that the combining functions in stream
ciphers must be m-resilient with large m. As any cryptographic functions,
they must also have high algebraic degrees and high nonlinearities.
Notation: by an (n, m, d, N )- function, we mean an n-variable, m-resilient
function having algebraic degree at least d and nonlinearity at least N .
There are necessary trade-offs between n, m, d and N .
113
Proof. Let us denote by g(x) the function f (x) ⊕ x1 ⊕ · · · ⊕ xn . For each
vector a ∈ Fn2 , we denote by a the componentwise complement of a equal
to a + (1, · · · , 1). We have fbχ (a) = gc
χ (a). Thus, f is m-resilient if and only
if, for each vector u of weight greater than or equal to n − m, the number
gcχ (u) is null. Consider the NNF of g:
X
g(x) = λI xI .
I∈P(N )
According to Relations (30), (31) and (12) applied to g, we have for nonzero
u: X
wH (u)+1
gc
χ (u) = (−1) 2n−|I|+1 λI ,
I∈P(N ) | supp(u)⊆I
We deduce that gc χ (u) is null for every vector u of weight greater than or
equal to n − m if and only if the NNF of g has degree at most n − m − 1.2
Proposition 32 has been used by X.-D. Hou in [193] for constructing resilient
functions. Siegenthaler’s bound gives an example of the trade-offs which
must be accepted in the design of combiner generators47 . Sarkar and Maitra
showed in [321] that the values of the Walsh Transform of an n-variable,
m-resilient (resp. m-th order correlation-immune) function are divisible
by 2m+2 (resp. 2m+1 ) if m ≤ n − 2 (a proof of a slightly more precise result
is given in the next subsection, at Theorem 13)48 . This Sarkar-Maitra’s
divisibility bound (which implies in particular that the weight of any m-th
order correlation-immune function is divisible by 2m ) allows also to deduce
Siegenthaler’s bound, thanks to Proposition 11 applied with k = m+2 (resp.
k = m + 1).
47
One approach to avoid such trade-off is to allow memory in the nonlinear combination
generator, that is, to replace the combining function by a finite state machine, see [277].
48
More is proved in [63, 94]; in particular: if the weight of an m-th order correlation-
immune is divisible by 2m+1 , then the values of its Walsh Transform are divisible by
2m+2 .
114
7.2 Bounds on the nonlinearity
Sarkar-Maitra’s divisibility bound, recalled at the end of the previous sub-
section, has provided a nontrivial upper bound on the nonlinearity of re-
silient functions, independently obtained by Tarannikov [345] and by Zheng
and Zhang [366]: the nonlinearity of any m-resilient function (m ≤ n − 2)
is bounded above by 2n−1 − 2m+1 . This bound is tight, at least when
m ≥ 0.6 n, see [345, 346]49 . We shall call it Sarkar et al.’s bound . No-
tice that, if an m-resilient function f achieves nonlinearity 2n−1 − 2m+1 ,
then f is plateaued. Indeed, the distances between f and affine functions
lie then between 2n−1 − 2m+1 and 2n−1 + 2m+1 and must be therefore equal
to 2n−1 − 2m+1 , 2n−1 and 2n−1 + 2m+1 because of the divisibility result of
Sarkar and Maitra. Thus, the Walsh transform of f takes three values 0 and
±2m+2 . Moreover, it is proved in [345] that such function f also achieves
Siegenthaler’s bound (and as proved in [261], achieves minimum sum-of-
squares indicator). These last properties can also be deduced from a more
precise divisibility bound shown later in [63]:
Theorem 13 Let f be any n-variable m-resilient function (m ≤ n − 2)
and let d be its algebraic degree. The values of the Walsh transform of f
n−m−2
are divisible by 2m+2+b d c . Hence the nonlinearity of f is divisible
n−m−2
by 2m+1+b d c .
The approach for proving this result was first to use the numerical normal
form (see [63]). Later, a second proof using only the properties of the Fourier
transform was given in [94]:
Proof. The Poisson summation formula (18) applied to ϕ = fχ and to the
vectorspace E = {u ∈ Fn2 / ∀i ∈ N, ui ≤ vi } where v is some vector of Fn2 ,
whose orthogonal equals E ⊥ = {u ∈ Fn2 / ∀i ∈ N, ui ≤ vi ⊕ 1}, gives
wH (v)
P P
u∈E fχ (u) = 2 x∈E ⊥ fχ (x). It is then a simple matter to prove the
b
result by induction on the weight of v, starting with the vectors of weight
m + 1 (since it is obvious for the vectors of weights at most m), and using
McEliece’s divisibility property (see Subsection 3.1). 2
A similar proof shows that the values of the Walsh transform of any m-
n−m−1
th order correlation-immune function are divisible by 2m+1+b d c (and
n−m−2 n−m−2
by 2m+2+b d c if its weight is divisible 2m+1+b d c , see [94]).
49
Also Zheng and Zhang [366], showed that the upper bound on the nonlinearity of
correlation-immune functions of high orders is the same as the upper bound on the non-
linearity of resilient functions of the same orders. The distances between resilient functions
and Reed-Muller codes of orders greater than 1 have also been studied by Kurosawa et al.
and by Borissov at al. [221, 23].
115
Theorem 13 gives directly a more precise upper bound on the nonlinear-
ity of any m-resilient function of degree d: this nonlinearity is bounded
n−m−2
above by 2n−1 − 2m+1+b d c . This gives a simpler proof that it can
be equal to 2n−1 − 2m+1 only if d = n − m − 1, i.e. if Siegenthaler’s
bound is achieved. Moreover, the proof above also shows that the non-
linearity of any m-resilient n-variable Boolean function is bounded above
n−m−2
by 2n−1 − 2m+1+b d c where d is the minimum algebraic degree of the
restrictions of f to the subspaces {u ∈ Fn2 / ∀i ∈ N, ui ≤ vi ⊕ 1} such that v
has weight m + 1 and fbχ (v) 6= 0.
If 2n−1 − 2m+1 is greater than the best possible nonlinearity of all balanced
functions (and in particular if it is greater than the covering radius bound)
then, obviously, a better bound exists. In the case of n even, the best
possible nonlinearity of all balanced functions being strictly smaller than
2n−1 − 2n/2−1 , Sarkar and Maitra deduce that nl(f ) ≤ 2n−1 − 2n/2−1 −
2m+1 for every m-resilient function f with m ≤ n/2 − 2. In the case of n
odd, they state that nl(f ) is smaller than or equal to the highest multiple
of 2m+1 , which is less than or equal to the best possible nonlinearity of
all Boolean functions. But a potentially better upper bound can be given,
whatever is the parity of n. Indeed, Sarkar-Maitra’s divisibility bound shows
that fbχ (a) = ϕ(a) × 2m+2 where ϕ(a) is integer-valued. But Parseval’s
Relation (23) and the fact that fbχ (a) is null for every vector a of weight ≤ m
imply X
ϕ2 (a) = 22n−2m−4
a∈Fn
2 / wH (a)>m
and, thus,
s
22n−2m−4 2n−m−2
maxn |ϕ(a)| ≥ m n
=q .
2n − i=0 i
P
a∈F2
2n − m n
P
i=0 i
& '
n−m−2
Hence, we have maxa∈Fn2 |ϕ(a)| ≥ q 2 P , and this implies:
n
2n − mi=0 ( i )
2n−m−2
nl(f ) ≤ 2n−1 − 2m+1 q .
(57)
2n − m n
P
i=0
i
116
n−m−2
because q 2 P is strictly greater than 2n/2−m−2 and 2n/2−m−2 is an
n
2n − m
i=0 ( i )
& '
n−m−2
integer, and, thus, q 2 P is at least 2n/2−m−2 + 1. And when
n
2n − m
i=0 ( i )
117
the values of the Walsh transform of a function on a flat a+E to the autocor-
relation coefficients of the function on a flat b + E ⊥ , applied with a = b = 0,
E = {x ∈ Fn2 ; xi = 0, ∀i ∈ I} and E ⊥ = {x ∈ Fn2 ; xi = 0, ∀i 6∈ I}, where I
has size n − m: if l ≥ n − m then the right-hand term of (27) is non-zero
while the left-hand term is null. Equality m + l = n − 1 is possible only if
l = n − 1, n is odd and m = 0 [365, 105]. The known upper bounds on the
nonlinearity (see Section 7) can then be improved with the same argument.
The definition of resiliency has been weakened in [27, 89, 222] in or-
der to relax some of the trade-offs recalled above without weakening the
cryptosystem against the correlation attack.
Resiliency is related to the notion of corrector (useful for the generation
of random sequences having good statistical properties) introduced by P.
Lacharme in [224].
7.5 Constructions
High order resilient functions with high algebraic degrees, high nonlineari-
ties and good immunity to algebraic attacks are needed for applications in
stream ciphers using the combiner model. But designing constructions of
Boolean functions meeting all these cryptographic criteria is still a challenge
nowadays (while we would need numerous such functions in order to be able
choosing among them functions satisfying additional design criteria). The
primary constructions (which allow designing resilient functions without us-
ing known ones) lead potentially to wider classes of functions than secondary
constructions (recall that the number of Boolean functions on n − 1 vari-
ables is only equal to the square root of the number of n-variable Boolean
functions). But the known primary constructions of such Boolean functions
do not lead to very large classes of functions. In fact, only one reasonably
large class of Boolean functions is known, whose elements can be analyzed
with respect to the cryptographic criteria recalled in Subsection 4.1. So we
observe some imbalance in the knowledge on cryptographic functions for
stream ciphers: much is known on the properties of resilient functions, but
little is known on how constructing them. Examples of m-resilient functions
achieving the best possible nonlinearity 2n−1 − 2m+1 (and thus the best al-
gebraic degree) have been obtained for n ≤ 10 in [292, 320, 321] and for
every m ≥ 0.6 n [345, 346] (n being then not limited). But n ≤ 10 is too
small for applications and m ≥ 0.6 n is too large (because of Siegenthaler’s
bound) and almost nothing is known on the immunity of these functions to
algebraic attacks. Moreover, these examples give very limited numbers of
118
functions (they are often defined recursively or obtained after a computer
search) and many of these functions have cryptographic weaknesses such as
linear structures (see [105, 261]). Balanced Boolean functions with high non-
linearities have been obtained by C. Fontaine in [154] and by E. Filiol and
C. Fontaine in [152], who made a computer investigation - but for n = 7, 9
which is too small - on the corpus of idempotent functions. These functions,
whose ANFs are invariant under the cyclic shifts of the coordinates xi , have
been called later rotation symmetric (see Subsection 10.6).
For every a ∈ Fr2 and every b ∈ Fs2 , we have seen in Subsection 6.4 that
X
r
φ,g χ (a, b) = 2
fd (−1)g(y)⊕b·y . (60)
y∈φ−1 (a)
50
These functions have also been studied under the name of linear-based functions
in [1, 355].
119
Degree: The algebraic degree of fφ,g is at most s+1 = n−r+1. It equals s+1
if and only if φ has algebraic degree s (i.e. if at least one of its coordinate
functions has algebraic degree s). If we assume that every element in φ(Fs2 )
has Hamming weight strictly greater than k, then φ can have algebraic de-
gree s only if k ≤ r − 2, since if k = r − 1 then φ is constant. Thus, if m = k
then the algebraic degree of fφ,g reaches Siegenthaler’s bound n − k − 1 if
and only if either k = r − 2 and φ has algebraic degree s = n − k − 2 or
k = r − 1 and g has algebraic degree s = n − k − 1. There are cases where
m > k (see [118, 64, 65]). An obvious one is when each set φ−1 (a) has even
size and the restriction of g to this set is balanced: then m ≥ k + 1.
(where |φ−1 (a)| denotes the size of φ−1 (a)). A more recent upper bound
& '
r
nl(fφ,g ) ≤ 2n−1 − 2r−1 maxr |φ−1 (a)| (62)
a∈F2
equals 2s |φ−1 (a)| (since the sum b∈Fs (−1)b·(y+z) is null if y 6= z). The
P
2
maximum of a set of values being always greater than or equal to its mean,
we deduce
X
p
g(y)+b·y −1
maxs (−1) ≥ |φ (a)|
b∈F2
y∈φ−1 (a)
and thus, according to Relation (60):
& '
r
max |fbχ φ,g (a, b)| ≥ 2r maxr |φ−1 (a)| .
a∈Fr2 ;b∈Fs2 a∈F2
120
Relation (35) completes the proof. 2
121
with x ∈ Fr2 , y ∈ Fs2 , where n = r + s, t = 2r , and where ψ : Fs2 → Ft2 ,
with x ∈ Fr2 , y ∈ Fs2 , where φ1 , φ2 and φ3 are three functions from Fs2 into
Fr2 and g is any Boolean function on Fs2 . The size of this class roughly equals
r 2s 3 s s
(2 ) × 22 = 2(3r+1)2 (the exact number, which is unknown, is smaller
since a same function can be represented in this form in several ways) and is
s s s
larger than the size of the first class, roughly equal to (2t )2 × (2r )2 × 22 =
s
2(t+r+1)2 .
The second construction has been generalized in [68]. The functions of this
generalized class are the concatenations of functions equal to the sums of r-
variable affine functions and of flat-indicators:
ϕ(y)
Y
∀(x, y) ∈ Fr2 × Fs2 , f (x, y) = (x · φi (y) ⊕ gi (y) ⊕ 1) ⊕ x · φ(y) ⊕ g(y),
i=1
where ϕ is a function from Fs2 into {0, 1, · · · , r}, φ1 , · · · , φr and φ are functions
from Fs2 into Fr2 such that, for every y ∈ Fs2 , the vectors φ1 (y), · · · , φϕ(y) (y)
are linearly independent, and g1 , · · · , gr and g are Boolean functions on Fs2 .
There exist formulae for the Walsh transforms of the functions of these
classes, which result in sufficient conditions for their resiliency and in bounds
on their nonlinearities (see [64, 68]).
122
n − r by s; the vectorspace Fr2 is identified to the Galois field F2r . Let g be
any Boolean function on F2r and φ an F2 -linear mapping from Fs2 to F2r ; set
a ∈ F2r and b ∈ Fs2 such that, for every y in Fs2 and every z in F2r , a + φ(y)
is nonzero and φ∗ (z) + b has weight greater than k, where φ∗ is the adjoint
of φ (satisfying u · φ(x) = φ∗ (u) · x for every x and u, that is, having for
matrix the transpose of that of φ). Then, the function
x
f (x, y) = g ⊕ b · y, where x ∈ F2r , y ∈ Fs2 , (63)
a + φ(y)
h
c (u, v) = 0 if u = 0 and h
χ
c (u, v) = fb (u, v) + gc(u) otherwise.
χ χ χ (64)
We deduce that:
max |h
c (u, v)| ≤ max |fb (u, v)| + max |c
χ χ gχ (u)|,
n/2 n/2 n/2
u,v∈F2 u,v∈F2 u∈F2
123
i.e. that 2n − 2nl(h) ≤ 2n − 2nl(f ) + 2n/2 − 2nl(g), that is:
equals ±2n/2 .
124
B. Generalization
If f is an r-variable t-resilient function (t ≥ 0) and if g is an s-variable
m-resilient function (m ≥ 0), then the function:
h(x1 , · · · , xr , xr+1 , · · · , xr+s ) = f (x1 , · · · , xr ) ⊕ g(xr+1 , · · · , xr+s )
Thus:
1. If f and g are m-resilient, then h is m-resilient [336]; moreover, if
for every a ∈ Fr2 of Hamming weight m + 1, we have fbχ (a) + gc χ (a) = 0,
then h is (m + 1)-resilient. Note that the construction recalled in I.A
corresponds to g = f ⊕ 1 and satisfies this condition. Another possible
choice of a function g satisfying this condition (first pointed out in [35])
is g(x) = f (x1 ⊕ 1, · · · , xr ⊕ 1) ⊕ , where = m [ mod 2], since gc χ (a) =
f (x)⊕⊕(x⊕(1,···,1))·a +w (a)
P
x∈Fr2 (−1) = (−1) fχ (a). It leads to a function h
H b
having also a nonzero linear structure (namely, the vector (1, · · · , 1));
2. The value max |h
c (a1 , · · · , ar , ar+1 )| is bounded above by the num-
χ
a1 ,···,ar+1 ∈F2
ber max |fbχ (a1 , · · · , ar )| + max gχ (a1 , · · · , ar )|; this implies 2r+1 −
|c
a1 ,···,ar ∈F2 a1 ,···,ar ∈F2
125
2nl(h) ≤ 2r+1 − 2nl(f ) − 2nl(g), that is nl(h) ≥ nl(f ) + nl(g);
a. if f and g achieve maximum possible nonlinearity 2r−1 − 2m+1 and if h is
(m + 1)-resilient, then the nonlinearity 2r − 2m+2 of h is the best possible;
b. if f and g are such that, for every vector a, at least one of the numbers
fbχ (a), gc
χ (a) is null (in other words, if the supports of the Walsh transforms
g are disjoint), then we have maxa1 ,···,ar+1 ∈F2 |hχ (a1 , · · · , ar , ar+1 )| =
of f and c
max maxa ,···,a ∈F |fb (a1 , · · · , ar )|; maxa ,···,a ∈F |c
1 r 2 χ 1 r 2 g (a1 , · · · , ar )| . Hence we
χ
have 2r+1 − 2nl(h) = 2r− 2 min(nl(f ), nl(g)) and nl(h) equals therefore
2r−1 + min(nl(f ), nl(g)); thus, if f and g achieve best possible nonlinearity
2r−1 − 2m+1 , then h achieves best possible nonlinearity 2r − 2m+1 ;
3. If the monomials of highest degree in the algebraic normal forms of f
and g are not all the same, then d◦ h = 1 + max(d◦ f, d◦ g). Note that this
condition is not satisfied in the two cases indicated above in 1, for which h
is (m + 1)-resilient.
4. For every a = (a1 , · · · , ar ) ∈ Fr2 and every ar+1 ∈ F2 , we have, de-
noting (x1 , · · · , xr ) by x: D(a,ar+1 ) h(x, xr+1 ) = Da f (x) ⊕ ar+1 (f ⊕ g)(x) ⊕
xr+1 Da (f ⊕ g)(x) ⊕ ar+1 Da (f ⊕ g)(x). If d◦ (f ⊕ g) ≥ d◦ f , then D(a,1) h is
non-constant, for every a. And if, additionally, there does not exist a 6= 0
such that Da f and Da g are constant and equal to each other, then h admits
no nonzero linear structure.
This construction allows obtaining:
- from any two m-resilient functions f and g having disjoint Walsh spectra,
achieving nonlinearity 2r−1 − 2m+1 and such that d◦ (f ⊕ g) = r − m − 1, an
m-resilient function h having algebraic degree r − m and having nonlinearity
2r − 2m+1 , that is, achieving Siegenthaler’s and Sarkar et al.’s bounds; note
that this construction increases (by 1) the algebraic degrees of f and g;
- from any m-resilient function f achieving algebraic degree r − m − 1 and
nonlinearity 2r−1 − 2m+1 , a function h having resiliency order m + 1 and
nonlinearity 2r − 2m+2 , that is, achieving Siegenthaler’s and Sarkar et al.’s
bounds and having same algebraic degree as f (but having nonzero linear
structures).
So it allows, when combining these two methods, to keep best tradeoffs be-
tween resiliency order, algebraic degree and nonlinearity, and to increase by
1 the degree and the resiliency order.
Generalization: let (fy )y∈Fs2 be a family of r-variable m-resilient functions;
then the function on Fr+s 2 defined by f (x, y) = fy (x) (x ∈ Fr2 , y ∈ Fs2 ) is
m-resilient. Indeed, we have fbχ (a, b) = y∈Fs (−1)b·y fc
P
y χ (a). The function f
2
corresponds to the concatenation of the functions fy ; hence, this secondary
construction can be viewed as a generalization of Maiorana-McFarland’s
126
construction (in which the functions fy are m-resilient affine functions).
127
Pasalic et al. slightly modified this more complex Tarannikov’s construction
into a construction that we shall call Tarannikov et al.’s construction, which
allowed, when iterating it together with the construction recalled in I.A, to
relax slightly the condition on m into m ≥ 2r−10
3 and m > 2r − 2.
Theorem 14 [67] Let r and s be positive integers and let t and m be non-
negative integers such that t < r and m < s. Let f1 and f2 be two r-variable
t-resilient functions. Let g1 and g2 be two s-variable m-resilient functions.
Then the function
c (a, b) = 1 fc
h i 1 h i
hχ 1 (a) g 1χ (b) + g 2χ (b) + f
c2 (a) g 1χ (b) − g 2χ (b) . (66)
2 χ 2 χ
d d d d
If the Walsh transforms of f1 and f2 have disjoint supports and if the Walsh
transforms of g1 and g2 have disjoint supports, then
nl(h) = min 2r+s−2 + 2r−1 nl(gj ) + 2s−1 nl(fi ) − nl(fi )nl(gj ) . (67)
i,j∈{1,2}
In particular, if f1 and f2 are two (r, t, −, 2r−1 −2t+1 ) functions with disjoint
Walsh supports, if g1 and g2 are two (s, m, −, 2s−1 − 2m+1 ) functions with
disjoint Walsh supports, and if f1 ⊕ f2 has degree r − t − 1 and g1 ⊕ g2 has
algebraic degree s − m − 1, then h is a (r + s, t + m + 1, r + s − t − m −
2, 2r+s−1 − 2t+m+2 ) function, and thus achieves Siegenthaler’s and Sarkar
et al.’s bounds.
Proof. We have:
X X
h
c (a, b) =
χ
(−1)f1 (x)⊕a·x (−1)g1 (y)⊕b·y
y∈Fs2 / g1 ⊕g2 (y)=0 x∈Fr2
128
X X
+ (−1)f2 (x)⊕a·x (−1)g1 (y)⊕b·y
y∈Fs2 / g1 ⊕g2 (y)=1 x∈Fr2
X X
= fc
1 χ (a) (−1)g1 (y)⊕b·y + fc
2 χ (a) (−1)g1 (y)⊕b·y
y∈Fs2/ y∈Fs2/
g1 ⊕g2 (y)=0 g1 ⊕g2 (y)=1
!
X
g1 (y)⊕b·y 1 + (−1)(g1 ⊕g2 )(y)
= fc
1 χ (a) (−1)
2
y∈Fs2
!
X
g1 (y)⊕b·y 1 − (−1)(g1 ⊕g2 )(y)
+ fc
2 χ (a) (−1) .
2
y∈Fs2
and according to Relation (35) relating the nonlinearity to the Walsh trans-
form, this implies:
1
2r+s − 2nl(h) = max ((2r − 2nl(fi ))(2s − 2nl(gj ))) ,
2 i,j∈{1,2}
which is equivalent to Relation (67). 2
This construction is sometimes called the indirect sum of resilient functions
Note that function h, defined this way, is the concatenation of the four func-
tions f1 , f1 ⊕ 1, f2 and f2 ⊕ 1, in an order controled by g1 (y) and g2 (y).
Examples of pairs (f1 , f2 ) (or (g1 , g2 )) satisfying the hypotheses of Theorem
14 can be found in [67].
129
immune (resp. k-resilient) functions. Then the function s1 = f1 ⊕ f2 ⊕ f3 is
k-th order correlation immune (resp. k-resilient) if and only if the function
s2 = f1 f2 ⊕ f1 f3 ⊕ f2 f3 is k-th order correlation immune (resp. k-resilient).
Moreover:
3
!
1 X
nl(s2 ) ≥ nl(s1 ) + nl(fi ) − 2n−1 (68)
2
i=1
and if the Walsh supports of f1 , f2 and f3 are pairwise disjoint (that is, if
at most one value χc
fi (s), i = 1, 2, 3 is nonzero, for every vector s), then
1
nl(s2 ) ≥ nl(s1 ) + min nl(fi ) . (69)
2 1≤i≤3
Proof. Relation (50) and the fact that, for every (nonzero) vector a of weight
at most k, we have fc i χ (a) = 0 for i = 1, 2, 3 imply that sc 1 χ (a) = 0 if and
only if sc
2χ (a) = 0. Relations (68) and (69) are also direct consequences of
Relation (50) and of Relation (35) relating the nonlinearity to the Walsh
transform. 2
Note that this secondary construction is proper to allow achieving high al-
gebraic immunity with s2 , given functions with lower algebraic immunities
f1 , f2 , f3 and s1 , since the support of s2 can be made more complex than
those of these functions. This is done without changing the number of vari-
ables and keeping similar resiliency order and nonlinearity.
Remark. Let g and h be two Boolean functions on Fn2 with disjoint sup-
ports and let f be equal to g ⊕ h = g + h. Then, f is balanced if and
only if wH (g) + wH (h) = 2n−1 . By linearity of the Fourier transform, we
have: fb = gb + b h. Thus, if g and h are m-th order correlation-immune, then
f is m-resilient. For every nonzero a ∈ Fn2 , we have |fbχ (a)| = 2 |fb(a)| ≤
2 |b
g (a)| + 2 |b
h(a)| = |c
gχ (a)| + |h
c (a)|. Thus, assuming that f is balanced, we
χ
have nl(f ) ≥ nl(g) + nl(h) − 2n−1 . The algebraic degree of f is bounded
above by (and can be equal to) the maximum of the algebraic degrees of g
and h.
130
7.6 On the number of resilient functions
It is important to ensure that the selected criteria for the Boolean functions,
supposed to be used in some cryptosystems, do not restrict the choice of the
functions too severely. Hence, the set of functions should be enumerated.
But this enumeration is unknown for most criteria, and the case of resilient
functions is not an exception in this matter. We recall below what is known.
As for bent functions, the class of balanced or resilient functions produced
by Maiorana-McFarland’s construction is far the widest class, compared to
the classes obtained from the other usual constructions, and the number of
provably balanced or resilient Maiorana-McFarland’s functions seems negli-
gible with respect to the total number of functions with the same properties.
For balanced functions, this can be checked: for every positive r, the num-
ber of balanced Maiorana-McFarland’s functions (59) obtained by choosing
s
φ such that φ(y) 6= 0, for every y, equals (2r+1 − 2)2 , and is smaller than
n−1
or equal to 22 (since r ≥ 1). It is quite negligible with respect to the
2n
22n + 12
number 2n−1 ≈ √π2n of all balanced functions on Fn2 . The number of m-
resilient Maiorana-McFarland’s functions obtained by choosing φ such that
2n−r
wH (φ(y)) > m for every y equals 2 ri=m+1 ri
P
, and is probably also
very small compared to the number of all m-resilient functions. But this
number is unknown.
The exact numbers of m-resilient functions is known for m ≥ n − 3 (see [35],
where (n−3)-resilient functions are characterized) and (n−4)-resilient func-
tions have been characterized [75, 26].
As for bent function, an upper bound comes directly from the Siegen-
thaler bound on the algebraic
Pn−m−1 n
degree: the number of m-resilient functions
is bounded above by 2 i=0 ( i ) . This bound is the so-called naive bound.
In 1990, Yang and Guo published an upper bound on the number of first-
order correlation-immune (and thus on resilient) functions. At the same
time, Denisov obtained a much stronger result (see below) but his result
being published in russian, it was not known internationally. His paper was
translated into english two years later but was not widely known either. This
explains why several papers appeared with weaker results. Park, Lee, Sung
and Kim [294] improved upon Yang-Guo’s bound. Schneider [325] proved
that the number of m-resilient n-variable Boolean functions is less than:
n−i−1
2i ( m−1 )
n−m
Y
.
2i−1
i=1
131
but this result was known, see [158]. A general upper bound on the number
of Boolean functions whose distances to affine functions are all divisible
by 2m has been obtained in [90]. It implies an upper bound on the number
of m-resilient functions which improves upon previous bounds for about half
the values of (n, m) (it is better for m large). This bound divides the naive
Pn−m−1 m−1
bound by approximately 2 i=0 ( i )−1 if m ≥ n/2 and by approximately
2m+1 −1
22 if m < n/2.
An upper bound on m-resilient functions (m ≥ n/2 − 1) partially improving
upon this latter bound was obtained for n/2 − 1 ≤ m < n − 2 in [84]: the
number of n-variable m-resilient functions is lower than:
n
n−m
i
(n−i−1
m−1 )
Pn−m−2 n
( ) n−m−1
Y 2
2 i=0 i +
m+1 i−1
.
2(n−m−1)+1 i=1 2
132
8 Functions satisfying the strict avalanche and prop-
agation criteria
In this section, we are interested in the functions (and more particularly, in
the balanced functions) which achieve P C(l) for some l < n (the functions
achieving P C(n) are the bent functions and they cannot be balanced).
8.1.1 Characterizations
There exist characterizations of the propagation criterion. A first obvious
one is that, according to Relation (24), i.e. to the Wiener-Khintchine The-
2
orem, f satisfies P C(l) if and only if u∈Fn (−1)a·u fbχ (u) = 0 for every
P
2
nonzero vector a of weight at most l. A second one is:
133
and only if, for every vector u of weight at least n − l, and every vector v:
X 2
fbχ (w + v) = 2n+wH (u) .
w u
8.1.2 Constructions
Maiorana-McFarland’s construction can be used to produce functions satis-
fying the propagation criterion: the derivative D(a,b) (x, y) of a function of
the form (59) being equal to x · Db φ(y) ⊕ a · φ(y + b) ⊕ Db g(y), the function
satisfies P C(l) under the sufficient condition that:
1. for every nonzero b ∈ Fs2 of weight smaller than or equal to l, and ev-
ery vector y ∈ Fs2 , the vector Db φ(y) is nonzero (or equivalently every set
φ−1 (u), u ∈ Fr2 , either is empty or is a singleton or has minimum distance
strictly greater than l);
2. every linear combination of at least one and at most l coordinate func-
tions of φ is balanced (this condition corresponds to the case b = 0).
Constructions of such functions have been given in [60, 61, 223].
According to Proposition 35, Dobbertin’s construction cannot produce
functions satisfying P C(l) with l ≥ n/2. Indeed, if u is for instance the
vector with n/2 first coordinates equal to 0, and with n/2 last coordinates
equal to 1, we have, according to Relation (64): h c 2 (w) = 0 for every w u.
χ
134
Proposition 37 Any n-variable Boolean function f satisfies EP C(l) (resp.
P C(l)) of order k if and only if, for every vector u of weight at least n − l,
and every vector v of weight at least n − k (resp. of weight at least n − k
and such that v and u have disjoint supports):
X
gχ (w) = 2wH (u)+wH (v) ,
fbχ (w)c
w u
where h is affine.
135
9.1 General properties of the algebraic immunity and its re-
lationship with some other criteria
We have seen that the algebraic immunity of any n-variable Boolean function
is bounded above by dn/2e and that the functions used in stream ciphers
must have an algebraic immunity close to this maximum. Note also that for
any functions f and g depending on distinct variables, we have AI(f ⊕ g) ≤
AI(f ) + AI(g). Indeed, for some , η ∈ F2 , let h be an annihilator of degree
AI(f ) of f ⊕ and k an annihilator of degree AI(g) of g ⊕ η, then the
product of h and k is a nonzero annihilator of degree at most AI(f ) + AI(g)
of f ⊕ g ⊕ ⊕ η.
136
Proposition 38 If an n-variable balanced function f , with n odd, admits
no non-zero annihilator of algebraic degree at most n−1
2 , then it has optimum
algebraic immunity n+1
2 .
This means that we do not need to check also that f ⊕ 1 has no non-zero
annihilator of algebraic degree at most n−1 2 for showing that f has optimum
algebraic immunity. Indeed, consider the Reed-Muller code of length 2n
and of order n−1 2 . This code is self-dual (i.e. is its own dual), according to
Theorem 2. Let G be a generator matrix of this code. Each column of G
is labeled by the vector of Fn2 obtained by keeping its coordinates of indices
2, · · · , n+1. Saying that f has no non-zero annihilator of algebraic degree at
most n−1 2 is equivalent to saying that the matrix obtained by selecting those
columns of G corresponding to the elements of the support of f has full rank
P n−1 2 n
n−1 . By hypothesis, f has weight 2n−1 . Since the order of the
i=0 i = 2
columns in G can be freely chosen, we shall assume for simplicity that the
columns corresponding to the support of f are the 2n−1 first ones. Then
we have G = (A | B) where A is an invertible 2n−1 × 2n−1 matrix (and the
matrix G0 = A−1 × G = (Id | A−1 × B) is also a generator matrix). In terms
of coding theory, the support of the function is an information set. Then
the complement of the support of f is also an information set (i.e. B is also
invertible): otherwise, there would exist a vector (z | 0), z 6= 0, in the code
and this is clearly impossible since G and G0 are also parity-check matrices
of the code.
137
9.1.5 Relationship between algebraic immunity, weight and non-
linearity
PAI(f )−1 n Pn−AI(f ) n
It can be easily shown that i=0 i ≤ wH (f ) ≤ i=0 i : the left-
hand side inequality must be satisfied since, otherwise, the number wH (f ) of
equations in the linear system expressing that a function of algebraic degree
at most AI(f ) − 1 is an annihilator of f would have a number of equations
smaller than its number of unknowns (i.e. the number of coefficients in its
algebraic normal form) and it would therefore have non-trivial solutions, a
contradiction. The right-hand side inequality is obtained from the other
one by replacing f by f ⊕ 1. This implies that a function f such that
AI(f ) = n+12 (n odd) must be balanced.
It has been shown in [121] and [76] that low nonlinearity implies low algebraic
immunity (but high algebraic immunity does not imply high nonlinearity):
it can be easily proved that, for every function h of algebraic degree r, we
have AI(f ) − r ≤ AI(f ⊕ h) ≤ AI(f ) + r, and this implies:
AI(f )−2
X n
nl(f ) ≥
i
i=0
These bounds have been improved in all cases for the first order nonlinearity
into
AI(f )−2
X n−1
nl(f ) ≥ 2
i
i=0
by Lobanov [256] and in most cases for the r-th order nonlinearity into
AI(f )−r−1
X n−r
nlr (f ) ≥ 2
i
i=0
(in fact, the improvement was slightly stronger than this, but more complex)
in [71]. Another improvement:
AI(f )−r−1 AI(f )−r−1
X n X n−r
nlr (f ) ≥ +
i i
i=0 i=AI(f )−2r
138
(which always improves upon the bound of [76] and improves upon the bound
of [71] for low values of r) has been subsequently obtained by Mesnager in
[280].
which is much smaller than the best possible nonlinearity 2n−1 −2n/2−1 and,
more problematically, much smaller than the asymptotic almost sure non-
linearity of Boolean functions, which
√ is, when n tends to ∞, located in the
neighbourhood of 2n−1 − 2n/2−1 2n ln 2 as we saw. Until recently, the best
nonlinearity reached by the known functions with optimum AI was that of
the majority function and of the iterative
construction (see
more details be-
n−1 n−1 n−1 1 n
low on these functions): 2 − n/2 = 2 − 2 n/2 [124]. This was a
little better than what gives Lobanov’s bound but insufficient.
• For n odd and AI(f ) = n+1 2 , Lobanov’s bound gives nl(f ) ≥ 2
n−1 −
n−1 n−1 − 1 n
(n−1)/2 ' 2 2 (n−1)/2 which is a little better than in the n even
case, but still far from the average nonlinearity of Boolean functions. Until
recently, the best known nonlinearity was that of the majority function and
matched this bound.
Efficient algorithms have been given in [5, 134] for computing the algebraic
immunity and tables are given in [5].
139
Infinite classes of functions The majority function (first proposed by
J.D. Key, T.P. McDonough and V.C. Mavron in the context of the erasure
channel [213] - rediscovered by Dalai et al. in the context of algebraic im-
munity [124]), defined as f (x) = 1 if wH (x) ≥ n/2 and f (x) = 0 otherwise,
has optimum algebraic immunity54 . It is a symmetric function (which can
represent a weakness) and its nonlinearity is insufficient. Some variants have
also optimum algebraic immunity.
A nice iterative construction of an infinite class of functions with optimum
algebraic immunity has been given in [122] and further studied in [76]; how-
ever, the functions it produces are neither balanced nor highly nonlinear.
All of these functions are weak against fast algebraic attacks, as shown in
[5].
More numerous functions with optimum algebraic immunity were given in
[72]. Among them are functions with better nonlinearities. However, the
method of [72] did not allow to reach high nonlinearities (see [96]) and some
functions constructed in [246, 247] seem still worse from this viewpoint.
Hence, the question of designing infinite classes of functions achieving all
the necessary criteria remained open after these papers.
A function with optimum algebraic immunity, apparently (according to com-
puter investigations) good immunity to fast algebraic attacks, provably much
better nonlinearity than the functions mentioned above and in fact, accord-
ing to computer investigations, quite sufficient nonlinearity has been exhib-
ited very recently in [151, 81]:
Proof.
Let g bePany Boolean function of algebraic degree at most dn/2e − 1. Let
n
g(x) = 2i=0−1 gi xi be its univariate representation in the field F2n , where
gi ∈ F2n is null if the 2-weight w2 (i) of i is at least dn/2e (which implies in
particular that g2n −1 = 0).
If g is an annihilator of f , then we have g(αi ) = 0 for every i = 0, · · · , 2n−1 −
2, that is, the vector (g0 , · · · , g2n −2 ) belongs to the Reed-Solomon code over
n−1
F2n of zeroes 1, α, · · · , α2 −2 (see [258]). According to the BCH bound,
if g is non-zero, then this vector has Hamming weight at least 2n−1 . We
54
Changing wH (x) ≥ n/2 into wH (x) > n/2 or wH (x) ≤ n/2 or wH (x) < n/2 changes
the function into an affinely equivalent one, up to addition of the constant 1, and therefore
does not change the AI.
140
briefly recall how this lower bound can be simply proved in our framework.
By definition, we have:
g(1) 1 1 1 ··· 1 g0
n
g(α) 1 α α2 ··· α2 −2 g1
n −2)
g(α2 ) 1 α 2 α 4 · · · α 2(2 g2
= ×
.. .. .. .. .. ..
. . . . ··· . .
2 n −2 n −2 n −2) n −2)(2n −2)
g(α ) 1 α 2 α 2(2 ··· α (2 g2n −2
P2n −2
which implies (since k=0 α(i−j)k equals 1 if i = j and 0 otherwise):
···
g0 1 1 1 1 g(1)
n
g1 1 α−1 α−2 ··· α−(2 −2) g(α)
n
g2 =
1 α−2 α−4 ··· α−2(2 −2) ×
g(α2 )
.. .. .. .. .. ..
. . . . ··· . .
n −2) n −2) n n n −2
g2n −2 1 α−(2 α−2(2 · · · α−(2 −2)(2 −2) g(α2 )
n−1
··· g(α2 −1 )
1 1 1
n−1 −1) n−1 n −2)
α−(2 α−2 α−(2
n−1
··· g(α2 )
= ×
.. .. .. ..
. . ··· . .
n−1 n n−1 n n n n −2
α−(2 −1)(2 −2) α−2 (2 −2) · · · α−(2 −2)(2 −2) g(α2 )
n−1 n
Suppose that at least 2n−1 of the gi ’s are null. Then, g(α2 −1 ), · · · , g(α2 −2 )
satisfy a homogeneous system whose matrix is obtained from the latter
matrix above by erasing 2n−1 − 1 rows. This is a 2n−1 × 2n−1 Vander-
monde matrix and its determinant is therefore non-null. This implies that
n−1 n
g(α2 −1 ), · · · , g(α2 −2 ) and therefore g must then be null. Hence the vec-
tor (g0 , · · · , g2n −2 ) has weight at least 2n−1 .
Moreover, suppose that the vector (g0 , · · X · , g2n −2 ) has Hamming weight 2n−1
exactly. Then n is odd and g(x) = xi ; but this contradicts the
0≤i≤2n −2
w2 (i)≤(n−1)/2
fact that g(0) = 0. We deduce that the vector (g0 , · · · , g2n −2 ) has Hamming
weight strictly greater than 2n−1 , leading to a contradiction with the fact
that g has algebraic degree at most dn/2e − 1, since the number of integers
of 2-weight at most dn/2e − 1 is not strictly greater than 2n−1 .
Let g be now a non-zero annihilator of f ⊕ 1. The vector (g0 , · · · , g2n −2 ) be-
n−1 n
longs then to the Reed-Solomon code over F2n of zeroes α2 −1 , · · · , α2 −2 .
According to the BCH bound (which can be proven similarly as above), this
vector has then Hamming weight strictly greater than 2n−1 . We arrive to
141
the same contradiction. Hence, there does not exist a non-zero annihilator
of f or f ⊕1 of algebraic degree at most dn/2e−1 and f has then (optimum)
algebraic immunity dn/2e. 2
It is shown in [81] that the univariate representation of f equals
n −2
2X
αi
1+ xi (70)
i=1
(1 + αi )1/2
n−1
where u1/2 = u2 , which shows that f has algebraic degree n − 1 (which
is optimum for a balanced function), and that we have:
n
nl(f ) ≥ 2n−1 − n · ln 2 · 2 2 − 1.
It could be checked, for small values of n, that the exact value of nl(f ) is
much better than what gives this lower bound and seems quite sufficient for
resisting fast correlation attacks (for these small values of n, it behaves as
2n−1 − 2n/2 ). Finally, the function seems to show good immunity against
fast algebraic attacks: the computer investigations made using Algorithm 2
of [5] suggest the following properties:
• No nonzero function g of algebraic degree at most e and no function
h of algebraic degree at most d exist such that f g = h, when (e, d) =
(1, n − 2) for n odd and (e, d) = (1, n − 3) for n even. This has been
checked for n ≤ 12 and we conjecture it for every n.
• For e > 1, pairs (g, h) of algebraic degrees (e, d) such that e+d < n−1
were never observed. Precisely, the non-existence of such pairs could
be checked exhaustively for n ≤ 9 and e < n/2, for n = 10 and e ≤ 3
and for n = 11 and e ≤ 2. This suggests that this class of functions,
even if not always optimal against fast algebraic attacks, has a very
good behavior.
Hence, the functions of this class gather all the properties needed for al-
lowing the stream ciphers using them as filtering functions to resist all the
main attacks (the Berlekamp-Massey and Rønjom-Helleseth attacks, fast
correlation attacks, standard and fast algebraic attacks). They are the only
functions found so far for which such properties could be shown. There
remains at least one attack against which the resistance of the functions
should be evaluated: the algebraic attack on the augmented function (this
obliges to consider all possible update functions of the linear part of the
pseudo-random generator).
142
The construction of Proposition 22 allows increasing the complexity of
Boolean functions while keeping their high nonlinearities and may allow
increasing their algebraic immunity as well.
10 Symmetric functions
A Boolean function is called a symmetric function if it is invariant under
the action of the symmetric group (i.e. if its output is invariant under per-
mutation of its input bits). Its output depends then only on the Hamming
weight of the input. So, in other words, f is symmetric if and only if there
exists a function f # from {0, 1, · · · , n} to F2 such that f (x) = f # (wH (x)).
Such functions are of some interest to cryptography, as they allow to imple-
ment in an efficient way nonlinear functions on large numbers of variables.
Let us consider for example an LFSR filtered by a 63 variable symmetric
function f , whose input is the content of an interval of 63 consecutive flip-
flops of the LFSR. This device may be implemented with a cost similar to
that of a 6 variable Boolean function, thanks to a 6 bit counter calculating
the weight of the input to f (this counter is incremented if a 1 is shifted in
the interval and decremented if a 1 is shifted out). However, the pseudo-
random sequence obtained this way has correlation with transitions (sums
of consecutive bits), and a symmetric function should not take all its in-
puts in a full interval. In fact, it is not yet completely clarified whether
the advantage of allowing much more variables and the cryptographic weak-
nesses these symmetric functions may introduce result in an advantage for
the designer or for the attacker, in more sophisticated devices.
10.1 Representation
Let r = 0, · · · , n and let ϕr be the Boolean function whose support is the
set of all vectors of weight r in Fn2 . Then, according to Relation (8) relating
the values of the coefficients of the NNF to the values of the function, the
|I|
coefficient of xI , I ∈ P(N ), in the NNF of ϕr is: λI = (−1)|I|−r .
r
Mn
Any symmetric function f being equal to f # (r) ϕr , it is therefore equal
r=0
n
X
to f # (r) ϕr , since the functions ϕr have disjoint supports. The coefficient
r=0
143
n
X |I|
of xI in its NNF equals then f # (r)(−1)|I|−r and depends only
r
r=0
on the size of I. The NNF of f is then
n n
X X
# i−r i
f (x) = ci Si (x), where ci = f (r)(−1) (71)
r
i=0 r=0
Conversely
L (since the Möbius transform is involutive as we saw) f # (i) =
ji λj .
Note that a symmetric
Ln Boolean
Ln function f has algebraic degree 1 if and
only if it equals x
i=1 i or i=1 xi ⊕ 1, that is, if the binary function
#
f (r) equals r [mod L 2] or r + 1 [mod 2], and that it is quadratic if and
only if it equals 1≤i<j≤n xi xj (introduced to generate the Kerdock code)
plus a symmetric function of algebraicrdegree at most 1, rthat is, if the
# r
function
f (r) equals 2 [mod 2] or 2 + r [mod 2] or 2 + 1 [mod 2]
or 2r + r + 1 [mod 2]. Hence, f has algebraic degree 1 if and only if f #
satisfies f # (r + 1) = f # (r) ⊕ 1 and it has degree 2 if and only if f # satisfies
f # (r + 2) = f # (r) ⊕ 1.
As observed in [49], the algebraic degree of a symmetric function f is at most
2t − 1, for some positive integer t, if and only if the sequence (f # (r))r≥0 is
144
periodic with period 2t . This is a direct consequence of (72). Here again,
it is not clear whether this is a greater advantage for the designer of a
cryptosystem using such symmetric function f (since, to compute the image
of a vector x by f , it is enough to compute the number of nonzero coordinates
x1 , · · · , xt only) or for the attacker.
10.3 Nonlinearity
If n is even, then the restriction of every symmetric function f on Fn2 to the
n/2-dimensional flat:
is constant, since all the elements of A have the same weight n/2. Thus, f is
n/2-normal55 (see Definition 4). But Relation (42) gives nothing more than
the covering radius bound (36). The symmetric functions which achieve
this bound, i.e. which are bent, have been first characterized by P. Savicky
in [324]: the bent symmetric functions are the four L symmetric functions of
algebraic degree 2 already described above: f1 (x) = 1≤i<j≤n xi xj , f2 (x) =
55
Obviously, this is more generally valid for every function which is constant on the set
{x ∈ Fn
2 ; wH (x) = n/2}.
145
f1 (x) ⊕ 1, f3 (x) = f1 (x) ⊕ x1 ⊕ · · · ⊕ xn and f4 (x) = f3 (x) ⊕ 1. A stronger
result can be proved in a very simple way [169]:
Proof. Let f be any P C(2) n-variable symmetric function and let i < j
be two indices in the range [1; n]. Let us denote by x0 the following vec-
tor: x0 = (x1 , · · · , xi−1 , xi+1 , · · · , xj−1 , xj+1 , · · · , xn ). Since f (x) is symmet-
ric, it has the form xi xj g(x0 ) ⊕ (xi ⊕ xj ) h(x0 ) ⊕ k(x0 ). Let us denote by ei,j
the vector of weight 2 whose nonzero coordinates stand at positions i and
j. The derivative Dei,j f of f with respect to ei,j equals (xi ⊕ xj ⊕ 1)g(x0 ).
Since this derivative is balanced, by hypothesis, then g must be equal to the
constant function 1 (indeed if g(x0 ) = 1 then (xi ⊕ xj ⊕ 1)g(x0 ) equals 1 for
half of the inputs and otherwise L it equals 1 for none). Hence, the degree-2-
part of the ANF of f equals 1≤i<j≤n xi xj . 2
Some more results on the propagation criterion for symmetric functions can
be found in [49].
Theorem 17 [66] Let n be any positive integer and let f be any symmetric
function on Fn2 . Let l be any integer satisfying 0 < l ≤ n/2. Denote by hl the
symmetric Boolean function on n−2l variables defined by hl (y1 , · · · , yn−2l ) =
f (x1 , · · · , xl , x1 ⊕ 1, · · · , xl ⊕ 1, y1 , · · · , yn−2l ), where the values of x1 , · · · , xl
are arbitrary (equivalently, hl can be defined by h# #
l (r) = f (r + l), for every
0 ≤ r ≤ n − 2l). Then nl(f ) ≤ 2 n−1 −2 n−l−1 l
+ 2 nl(hl ).
Proof: Let A = {(x1 , . . . , xn ) ∈ Fn2 | xi+l = xi ⊕1, ∀i ≤ l}. For every element
x of A, we have f (x) = hl (x2l+1 , · · · , xn ). Let us consider the restriction g
146
of f to A as a Boolean function on Fn−l 2 , say g(x1 , · · · , xl , x2l+1 , · · · , xn ).
Then, since g(x1 , · · · , xl , x2l+1 , · · · , xn ) = hl (x2l+1 , · · · , xn ), g has nonlinear-
ity 2l nl(hl ). According to Relation (42) applied with ha = g, we have
nl(f ) ≤ 2n−1 − 2n−l−1 + 2l nl(hl ). 2
10.4 Resiliency
There exists a conjecture on symmetric Boolean functions and, equivalently,
on functions defined over {0, 1, · · · , n} and valued in F2 : if f is a non-constant
symmetric Boolean function, then the numerical degree of f (that is, the
degree of the polynomial representation in one variable of f # ) is greater
than or equal to n − 3. It is a simple matter to show that this numerical
2
degree is greater than or equal to n/2 (otherwise, the polynomial f # − f #
would have degree at most n, and being null at n + 1 points, it would equal
the null polynomial, a contradiction with the fact that f is assumed not to
be constant), but the gap between n/2 + 1 and n − 3 is open. According
to Proposition 32, the conjecture is equivalent to saying that there does
not exist any symmetric 3-resilient function. And proving this conjecture
is also a problem on binomial coefficients since the numerical degree of f is
bounded above by d if and only if, for every k such that d < k ≤ n:
k
r k
X
(−1) f # (r) = 0. (73)
r
r=0
147
Hence, the conjecture is equivalent to saying that Relation (73), with d =
n − 4, has no binary solution f # (0), · · · , f # (n).
J. von zur Gathen and J. R. Roche [161] observed that all symmetric n-
variable Boolean functions have numerical degrees greater than or equal to
n − 3, for any n ≤ 128 (they exhibited Boolean functions with numerical
degree n − 3; see also [166]).
The same authors observed also that, if the number m = n + 1 is a prime,
then all non-constant n-variable symmetric Boolean functions have numer-
ical degree n (and therefore, considering the function g(x) = f (x) ⊕ x1 ⊕
· · · ⊕ xn and applying Proposition 32, all non-affine n-variable symmetric
Boolean functions are not 0-resilient, that is, are unbalanced): indeed, the
n
congruent with (−1)(−2)···(−r) = (−1)r , modulo
binomial coefficient
Pn r being 1·2···r
n
m, the sum r=0 (−1)r nr f # (r) is congruent with r=0 f # (r), modulo m;
P
and Relation (73) with k = n implies then that f # must be constant.
Notice that, applying Relation (73) with k = p − 1, where p is the largest
prime less than or equal to n + 1, shows that the numerical degree of any
symmetric non-constant Boolean function is greater than or equal to p − 1
(or equivalently that no symmetric non-affine Boolean function is (n−p+1)-
resilient): otherwise, reducing (73) modulo p, we would have that the string
f # (0), · · · , f # (k) is constant, and f # having univariate degree less than or
equal to k, the function f # , and thus f itself, would be constant.
More results on the balancedness and resiliency/correlation immunity of
symmetric functions can be found in [21, 283, 354] and more recent ones in
[49, 323].
148
completed a partial result of [245]). In the case n is even, other symmetric
functions exist (up to the addition of a constant and to the transformation
x → x = (x1 ⊕ 1, · · · , xn ⊕ 1)) with this property; more precisions and more
results on the algebraic immunity of symmetric functions can be found in
[28, 252, 303, 304, 305] and the references therein.
149
Acknowledgement
References
[1] C.M. Adams and S.E. Tavares. Generating and Counting Binary Bent
Sequences, IEEE Trans. Inf. Theory, vol 36, no. 5, pp. 1170-1173, 1990.
[9] G. Ars and J.-C. Faugère. Algebraic immunities of functions over fi-
nite fields. Proceedings of the conference BFCA 2005, Publications des
universités de Rouen et du Havre, pp. 21-38, 2005.
150
[10] E.F. Assmus. On the Reed-Muller codes. Discrete Mathematics
106/107, pp. 25-33, 1992.
[11] E.F. Assmus and J. D. Key. Designs and their Codes, Cambridge Univ.
Press., Cambridge, 1992.
[12] J. Ax. Zeroes of polynomials over finite fields. American Journal on
Mathematics no. 86, pp. 255-261, 1964.
[13] T. Baignères, P. Junod and S. Vaudenay. How far can we go beyond
linear cryptanalysis? Proceedings of ASIACRYPT 2004, Lecture Notes
in Computer Science 3329, pp. 432-450, 2004.
[14] B. Barak, G. Kindler, R. Shaltiel, B. Sudakov and A. Wigder-
son. Simulating Independence: New Constructions of Con-
densers, Ramsey Graphs, Dispersers, and Extractors. Pro-
ceedings of the 37-th ACM STOC, 2005. Preprint available at
http://www.math.ias.edu/ boaz/Papers/BKSSW.html
[15] E. Berlekamp, Algebraic Coding Theory, McGraw-Hill, New York, 1968.
[16] E.R. Berlekamp and N.J.A. Sloane. Restrictions on the weight distri-
butions of the Reed-Muller codes. Information and Control 14, pp. 442-
446, 1969.
[17] E.R. Berlekamp and L.R. Welch. Weight distributions of the cosets of
the (32,6) Reed-Muller code. IEEE Transactions on Information The-
ory, 18(1), pp. 203-207, 1972.
[18] A. Bernasconi and B. Codenotti. Spectral analysis of Boolean functions
as a graph eigenvalue problem. IEEE Transactions on computers 48 (3),
pp. 345-351, 1999.
[19] A. Bernasconi and I. Shparlinski. Circuit complexity of testing square-
free numbers. Proceedings of STACS 99, 16th Annual Symposium on
Theoretical Aspects of Computer Science, Lecture Notes in Computer
Science 1563, pp. 47-56, 1999.
[20] A. Bhattacharyya, S. Kopparty, G. Shoenebeck, M. Sudan and D. Zuck-
erman. Optimal testing of Reed-Muller codes. Electronic Colloquium on
Computational Complexity, report no. 86, 2009.
[21] J. Bierbrauer, K. Gopalakrishnan and D.R. Stinson. Bounds for resilient
functions and orthogonal arrays. Proceedings of CRYPTO’94, Lecture
Notes in Computer Science 839, pp. 247-256, 1994.
151
[22] Y. Borissov, N. Manev and S. Nikova. On the non-minimal codewords
of weight 2dmin in the binary Reed-Muller code. Proceedings of the
Workshop on Coding and Cryptography 2001, published by Electronic
Notes in Discrete Mathematics, Elsevier, vo. 6, pp. 103-110, 2001. A
revised version has been published in Discrete Applied Mathematics 128
(Special Issue “International Workshop on Coding and Cryptography
(2001)”), pp. 65-74, 2003.
152
[30] E. Brier and P. Langevin. Classification of cubic Boolean functions of
9 variables. Proceedings of 2003 IEEE Information Theory Workshop,
Paris, France, 2003.
[31] R. A. Brualdi, N. Cai and V. S. Pless. Orphans of the first order Reed-
Muller codes. IEEE Transactions on Information Theory 36, pp. 399-
401, 1990.
[37] A. Canteaut. Cryptographic functions and design criteria for block ci-
phers. Proceedings of INDOCRYPT 2001, Lecture Notes in Computer
Science 2247, pp. 1-16, 2001.
153
[40] A. Canteaut. Analysis and design of symmetric ciphers. Habilitation for
directing Theses, University of Paris 6, 2006.
154
Carlet, 1644. A manuscript exists at the Bibliothèque Nationale (Très
Grande Bibliothèque), Paris, France.
155
[62] C. Carlet. Recent results on binary bent functions. Proceedings of the
International Conference on Combinatorics, Information Theory and
Statistics; Journal of Combinatorics, Information and System Sciences,
Vol. 25, Nos. 1-4, pp. 133-149, 2000.
156
Notes in Computer Science 3857, pp. 1-28, 2006. This paper is an ex-
tended version of the paper entitled “Improving the algebraic immunity of re-
silient and nonlinear functions and constructing bent function”, IACR ePrint
Archive http://eprint.iacr.org/ 2004/276.
[75] C. Carlet and P. Charpin. Cubic Boolean functions with highest re-
siliency. IEEE Transactions on Information Theory, vol. 51, no. 2, pp.
562-571, 2005.
[77] C. Carlet, L.E. Danielsen, M.G. Parker and P. Solé Self dual bent func-
tions. Proceedings of the conference BFCA 2008, Copenhagen, to ap-
pear in Lecture Notes in Computer Science.
[78] C. Carlet and C. Ding. Highly Nonlinear Mappings. Special Issue “Com-
plexity Issues in Coding and Cryptography”, dedicated to Prof. Harald
Niederreiter on the occasion of his 60th birthday, Journal of Complexity
20, pp. 205-244, 2004.
157
[79] C. Carlet, H. Dobbertin and G. Leander. Normal extensions of bent
functions. IEEE Transactions on Information Theory, vol. 50, no. 11,
pp. 2880-2885, 2004.
[80] C. Carlet and S. Dubuc. On generalized bent and q-ary perfect nonlinear
functions. Proceedings of Finite Fields and Applications Fq5, Augsburg,
Germany, Springer, pp. 81-94, 2000.
[82] C. Carlet and P. Gaborit. Hyper-bent functions and cyclic codes. Jour-
nal of Combinatorial Theory, Series A, 113, no. 3, 466-482, 2006.
[88] C. Carlet and P. Guillot. Bent, resilient functions and the Numerical
Normal Form. DIMACS Series in Discrete Mathematics and Theoretical
Computer Science, 56, pp. 87-96, 2001.
158
[89] C. Carlet, P. Guillot and S. Mesnager. On immunity profile of Boolean
functions. Proceedings of SETA 2006 (International Conference on Se-
quences and their Applications), Lecture Notes in Computer Science
4086, pp. 364-375, 2006.
[92] C. Carlet and S. Mesnager. Improving the upper bounds on the covering
radii of binary Reed-Muller codes. IEEE Transactions on Information
Theory 53, pp. 162-173, 2007.
[97] L. Carlitz and S. Uchiyama. Bounds for exponential sums. Duke Math.
Journal 1, pp. 37-41, 1957.
[98] A.H. Chan and R.A. Games. On the quadratic spans of De Bruijn
sequences. IEEE Transactions on Information Theory, vol. 36, no. 4,
pp. 822-829, 1990.
159
[99] C. Charnes, M. Rötteler and T. Beth. Homogeneous bent functions,
invariants, and designs. Designs, Codes and Cryptography, 26, pp. 139-
154, 2002.
160
[110] B. Chor, O. Goldreich, J. Hastad, J. Freidmann, S. Rudich and R.
Smolensky. The bit extraction problem or t-resilient functions. Proceed-
ings of the 26th IEEE Symposium on Foundations of Computer Science,
pp. 396-407, 1985.
161
[121] D. K. Dalai, K. C. Gupta and S. Maitra. Results on Algebraic Immu-
nity for Cryptographically Significant Boolean Functions. Proceedings
of Indocrypt 2004, Lecture Notes in Computer Science 3348, pp. 92-106,
2004
[125] D. Dalai and S. Maitra. Balanced Boolean functions with (more than)
maximum algebraic immunity. Proceedings of the Workshop on Coding
and Cryptography (in the memory of Hans Dobbertin) WCC 2007, pp.
99-108, 2007.
162
[131] O. Denisov. An asymptotic formula for the number of correlation-
immune of order k Boolean functions. Discrete Mathematics Appl., Vol.
2, No. 4; pp. 407-426, 1992. Translation of a russian article in Diskret-
naya Matematika 3, pp. 25-46, 1990.
[132] O. Denisov. A local limit theorem for the distribution of a part of
the spectrum of a random binary function. Discrete Mathematics and
Applications, V. 10, No 1, pp. 87-102, 2000.
[133] F. Didier. A new upper bound on the block error probability after
decoding over the erasure channel. IEEE Transactions on Information
Theory, vol. 52, pp. 4496- 4503, 2006.
[134] F. Didier. Using Wiedemann’s algorithm to compute the immunity
against algebraic and fast algebraic attacks. Proceedings of Indocrypt
2006, Lecture Notes in Computer Science 4329, pp. 236-250.
[135] J. Dillon. A survey of bent functions. NSA Technical Journal Special
Issue, pp. 191-215, 1972.
[136] J. F. Dillon. Elementary Hadamard Difference sets. Ph. D. Thesis,
Univ. of Maryland, 1974.
[137] J. F. Dillon. Elementary Hadamard Difference sets, Proceedings of the
Sixth S-E Conf. Comb. Graph Theory and Comp., Winnipeg Utilitas
Math, pp. 237-249, 1975.
[138] J. Dillon. More DD difference sets. To appear in Designs, Codes and
Cryptography (on line), 2008.
[139] J. F. Dillon and H. Dobbertin. New cyclic difference sets with Singer
parameters. Finite Fields and Their Applications 10, pp. 342-389, 2004.
[140] J. F. Dillon and G. McGuire. Near bent functions on a hyperplane.
Finite Fields and Their Applications Vol. 14, Issue 3, pp. 715-720, 2008.
[141] H. Dobbertin. Construction of bent functions and balanced Boolean
functions with high nonlinearity. Proceedings of Fast Software Encryp-
tion, Second International Workshop, Lecture Notes in Computer Sci-
ence 1008, pp. 61-74, 1995.
[142] H. Dobbertin, P. Felke, T. Helleseth and P. Rosenthal. Niho type cross-
correlation functions via Dickson polynomials and Kloosterman sums.
IEEE Transactions on Information Theory, vol. 52, no. 2, pp. 613-627,
2006.
163
[143] H. Dobbertin and G. Leander. Bent functions embedded into the recur-
sive framework of Z-bent functions. Designs, Codes and Cryptography,
Vol. 49, no. 1-3, pp. 3-22, 2008.
164
[154] C. Fontaine. On some cosets of the First-Order Reed-Muller code with
high minimum weight. IEEE Transactions on Information Theory, vol.
45, no. 4, pp. 1237-1243, 1999.
[160] R. G. Gallager. Low density parity check codes. Cambridge, MA: MIT
Press, 1963.
[161] J. von zur Gathen and J. R. Roche. Polynomials with two values.
Combinatorica 17(3), pp. 345-362, 1997.
[165] S.W. Golomb. Shift Register Sequences. Aegean Park Press, 1982.
165
[166] K. Gopalakrishnan, D. G. Hoffman and D. R. Stinson. A Note on
a Conjecture Concerning Symmetric Resilient Functions. Information
Processing Letters 47 (3), pp. 139-143, 1993.
[173] Xiao Guo-Zhen, C. Ding and W. Shan. The stability theory of stream
ciphers, Lecture Notes in Computer Science 561, 1991.
166
[177] T. Helleseth, T. Kløve, and J. Mykkelveit. On the covering radius of
binary codes. IEEE Transactions on Information Theory, vol. 24, no.
5, pp. 627-628, 1978.
[178] T. Helleseth and H.F. Mattson Jr. On the cosets of the simplex code.
Discrete Mathematics 56, pp. 169-189, 1985.
[181] I. Honkala and A. Klapper. Bounds for the multicovering radii of Reed-
Muller codes with applications to stream ciphers. Designs, Codes and
Cryptography 23, pp. 131-145, 2001.
[182] X.-D. Hou. Some results on the covering radii of Reed-Muller codes.
IEEE Transactions on Information Theory, vol. 39, no. 2, pp. 366-378,
1993.
[184] X.-D. Hou. The covering radius of R(1, 9) in R(4, 9). Designs, Codes
and Cryptography 8 (3), pp. 285-292, 1995.
[185] X.-D. Hou. AGL(m, 2) acting on R(r, m)/R(s, m). Journal of Algebra
171, pp. 921-938, 1995.
[186] X.-D. Hou. Covering radius of the Reed-Muller code R(1, 7) - a simpler
proof. J. Combin. Theory, Series A 74, pp. 337-341, 1996.
[187] X.-D. Hou. GL(m, 2) acting on R(r, m)/R(r − 1, m). Discrete Mathe-
matics 149, pp. 99-122, 1996.
[188] X.-D. Hou. On the covering radius of R(1, m) in R(3, m). IEEE Trans-
actions on Information Theory,vol. 42, no. 3, pp. 1035-1037, 1996.
[189] X.-D. Hou. The Reed-Muller code R(1, 7) is normal. Designs, Codes
and Cryptography 12, pp. 75-82, 1997.
[190] X.-D. Hou. Cubic bent functions. Discrete Mathematics vol. 189, pp.
149-161, 1998.
167
[191] X.D. Hou. On the coefficients of binary bent functions. Proceedings of
the American American Society, Vol. 128, No. 4, pp. 987-996, 2000.
[194] X.-D. Hou. Group Actions on Binary Resilient Functions. Appl. Alge-
bra Eng. Commun. Comput. 14(2), pp. 97-115, 2003.
[195] X.-D. Hou. A note on the proof of a theorem of Katz. Finite Fields
and their Applications Volume 11, pp. 316-319, 2005.
[199] C.J.A. Jansen and D.E. Boekee. The shortest feedback shift register
that can generate a given sequence. Proceedings of CRYPTO’89, Lec-
ture Notes in Computer Science 435, pp. 90-99,1990 (this paper refers
to the classified PhD thesis of C.J.A. Jansen entitled “Investigations
on nonlinear streamcipher systems: construction and evaluation meth-
ods”, Philips).
168
[202] T. Johansson and F. Jönsson. Fast correlation attacks through re-
construction of linear polynomials. Advances in Cryptology - CRYPTO
2000, no. 1880 in Lecture Notes in Computer Science, pp. 300-315,
2000.
[203] F. Jönsson. Some results on fast correlation attacks. PhD thesis. Lund
University. 2002.
[207] T. Kasami and N. Tokura. On the weight structure of the Reed Muller
codes, IEEE Trans. Info. Theory, vol. 16, pp. 752-759, 1970.
[213] J.D. Key, T.P. McDonough and V.C. Mavron. Information sets and
partial permutation decoding for codes from finite geometries. Finite
Fields and their Applications Volume 12, Issue 2, pp. 232-247, 2006.
169
[214] J. Khan, G. Kalai and N. Linial. The influence of variables on Boolean
functions. IEEE 29th Symp. on foundations of Computer Science, pp.
68-80, 1988.
[216] K. Khoo and G. Gong. New constructions for resilient and highly non-
linear Boolean functions. Proceedings of 8th Australasian Conference,
ACISP 2003, Wollongong, Austrialia, Lecture Notes in Computer Sci-
ence 2727, pp. 498-509, 2003.
[220] P.V. Kumar, R.A. Scholtz and L.R. Welch. Generalized bent functions
and their properties, Journal of Combinatorial Theory, Series A 40, pp.
90-107, 1985.
170
[224] P. Lacharme. Post processing functions for a physical random number
generator. Proceedings of Fast Software Encryption 2008, Lecture Notes
in Computer Science 5086, p 334-342, 2008.
171
[235] P. Langevin and P. Solé. Kernels and defaults. American Mathematical
Society (Proceedings of the conference Finite Fields and Applications
Fq4) Contemporary Mathematics 225, pp. 77-85, 1999.
[236] P. Langevin and P. Véron. On the nonlinearity of power functions.
Designs, Codes and Cryptography 37, pp. 31 - 43, 2005.
[237] P. Langevin and J.-P. Zanotti. Nonlinearity of some invariant Boolean
functions. Designs, Codes and Cryptography 36, pp. 131 - 146, 2005.
[238] C. Lauradoux and M. Videau. Matriochka symmetric Boolean func-
tions. Proceedings of International Symposium on Information Theory,
ISIT 2008.
[239] G. Leander. Bent functions with 2r Niho exponents. Proceedings of the
Workshop on Coding and Cryptography 2005, pp. 454-461, 2005.
[240] G. Leander. Monomial bent functions. Proceedings of the Workshop on
Coding and Cryptography 2005, Bergen, pp. 462-470, 2005. And IEEE
Transactions on Information Theory, vol. 52, no. 2, pp. 738-743, 2006.
[241] G. Leander. Another class of non-normal bent functions. Proceedings
of the conference BFCA 2006, Publications des universités de Rouen et
du Havre, pp. 87-98, 2006.
[242] G. Leander and A. Kholosha. Bent functions with 2r Niho exponents.
IEEE Transactions on Information Theory, vol. 52, no. 12, pp. 5529-
5532, 2006.
[243] R. J. Lechner. Harmonic analysis of switching functions. In Recent
Developments in Switching Theory, Academic Press, New York, 1971.
[244] S. Leveiller, G. Zemor, P. Guillot and J. Boutros. A new cryptanalytic
attack for PN-generators filtered by a Boolean function. Proceedings
of Selected Areas of Cryptography 2002, Lecture Notes in Computer
Science 2595, pp. 232 - 249 (2003).
[245] N.Li and W.Qi. Symmetric Boolean functions depending on an odd
number of variables with maximum algebraic immunity. IEEE Trans-
actions on Information Theory, vol. 52, no. 5, pp. 2271-2273, 2006.
[246] N. Li and W.-Q. Qi. Construction and analysis of Boolean functions
of 2t + 1 variables with maximum algebraic immunity. Proceedings of
Asiacrypt 2006, Lecture Notes in Computer Science 4284, pp. 84-98,
2006.
172
[247] N. Li, L. Qu, W.-F. Qi, G. Feng, C. Li and D. Xie. On the construction
of Boolean functions with optimal algebraic immunity. IEEE Transac-
tions on Information Theory, vol. 54, no. 3, pp. 1330-1334, 2008.
[257] O.A. Logachev, A.A. Salnikov and V.V. Yashchenko. Bent functions
on a finite Abelian group. Discrete Mathematics Appl. vol 7, N◦ 6, pp.
547-564, 1997.
173
[260] S. Maitra. Highly nonlinear balanced Boolean functions with very good
autocorrelation property. Proceedings of the Workshop on Coding and
Cryptography 2001 published by Electronic Notes in Discrete Mathe-
matics, Elsevier, vo. 6, pp. 355-364, 2001.
174
[271] M. Matsui. Linear cryptanalysis method for DES cipher. Proceedings
of EUROCRYPT’93, Lecture Notes in Computer Science 765, pp. 386-
397, 1994.
[272] R.J. McEliece. Weight congruence for p-ary cyclic codes. Discrete
Mathematics, 3, pp. 177-192, 1972.
[280] S. Mesnager. Improving the lower bound on the higher order non-
linearity of Boolean functions with prescribed algebraic immunity.
IEEE Transactions on Information Theory, vol. 54, no. 8, pp. 3656
- 3662, 2008. Preliminary version available at IACR ePrint Archive
http://eprint.iacr.org/, 2007/117.
175
Series on Number Theory and its Applications, Vol. 5, pp. 419-433,
2008.
176
[293] E. Pasalic and S. Maitra. A Maiorana-McFarland type construction
for resilient Boolean functions on n variables (n even) with nonlinearity
> 2n−1 − 2n/2 + 2n/2−2 . Proceedings of the Workshop on Coding and
Cryptography 2003, pp. 365-374, 2003.
[294] S. M. Park, S. Lee, S. H. Sung, K. Kim. Improving bounds for the num-
ber of correlation-immune Boolean functions. Information Processing
Letters 61, pp. 209-212, 1997.
[295] N.J. Patterson and D.H. Wiedemann. The covering radius of the
[215 , 16] Reed-Muller code is at least 16276. IEEE Transactions on In-
formation Theory, vol. 29, pp. 354-356, 1983.
[303] L. Qu and C. Li. Weight support technique and the symmetric Boolean
functions with maximum algebraic immunity on even number of vari-
177
ables. Proceedings of INSCRYPT 2007, Lecture Note in Computer Sci-
ence 4990, pp. 271-282.
[304] L. Qu, C. Li and K. Feng. A note on symmetric Boolean functions
with maximum algebraic immunity in odd number of variables. IEEE
Trans. on Inf. Theory, vol. 53, pp. 2908-2910, 2007.
[305] L. Qu, K. Feng, L. Feng and L. Wang. Constructing symmetric
Boolean functions with maximum algebraic immunity. IEEE Trans. on
Inf. Theory, vol. 55, pp. 2406-2412, 2009.
[306] M. Quisquater. Applications of character theory and the Möbius in-
version principle to the study of cryptographic properties of Boolean
functions. PhD thesis, 2004.
[307] M. Quisquater, B. Preneel and J. Vandewalle. A new inequality in
discrete Fourier theory. IEEE Trans. on Inf. Theory, vol. 49, pp. 2038-
2040, 2003.
[308] M. Quisquater, B. Preneel and J. Vandewalle. Spectral characteriza-
tion of cryptographic Boolean functions satisfying the (extended) prop-
agation criterion of degree l and order k. Inf. Process. Lett. 93(1), pp.
25-28, 2005.
[309] C. Riera and M. G. Parker. Generalised Bent Criteria for Boolean
Functions (I). IEEE Transactions on Information theory, vol. 52, no.
9, pp. 4142-4159, 2006.
[310] C. R. Rao. Factorial experiments derived from combinatorial arrange-
ments of arrays. J. Roy. Statist. 9, pp. 128-139, 1947.
[311] F. Rodier. Asymptotic nonlinearity of Boolean functions. Designs,
Codes and Cryptography, no 40:1 2006, pp 59-70.
[312] S. Ronjom, M. Abdelraheem and L. E. Danielsen. Online
database of Boolean Functions. http://www.ii.uib.no/ mo-
hamedaa/odbf/index.html
[313] S. Rønjom and T. Helleseth. A new attack on the filter generator. IEEE
Transactions on Information theory, vol. 53, no. 5, pp. 1752-1758, 2007.
[314] S. Rønjom and T. Helleseth. Attacking the filter generator over
GF (2m ). Proceedings of the International Workshop on the Arithmetic
of Finite Fields, WAIFI 2007, Lecture Notes in Computer Science 4547,
pp. 264-275, June 2007.
178
[315] O. S. Rothaus. On “bent” functions. J. Comb. Theory, 20A, pp. 300-
305, 1976.
[317] R. A. Rueppel Analysis and design of stream ciphers Com. and Contr.
Eng. Series, Berlin, Heidelberg, NY, London, Paris, Tokyo 1986
[324] P. Savicky. On the bent Boolean functions that are symmetric. Eur.
J. Combinatorics 15, pp. 407-410, 1994.
179
[326] J. Seberry and X-.M. Zhang. Constructions of bent functions from two
known bent functions. Australasian Journal of Combinatorics no. 9, pp.
21-35, 1994.
180
[338] P. Stanica, S. Maitra and J. Clark. Results on rotation symmetric
bent and correlation immune Boolean functions. Proceedings of Fast
Software Encryption 2004, Lecture Notes in Computer Science 3017,
pp. 161-177, 2004.
181
[348] Y. V. Tarannikov, P. Korolev and A. Botev. Autocorrelation coeffi-
cients and correlation immunity of Boolean functions. Proceedings of
Asiacrypt 2001, Lecture Notes in Computer Science 2248, pp. 460-479,
2001
[352] A.F. Webster and S.E. Tavares. On the design of S-boxes. In Pro-
ceedings of CRYPTO’85, Lecture Notes in Computer Science 219, pp.
523-534, 1985.
[353] J. Wolfmann. Bent functions and coding theory. Difference Sets, Se-
quences and their Correlation Properties, A. Pott, P. V. Kumar, T.
Helleseth and D. Jungnickel, eds., pp. 393–417. Amsterdam: Kluwer,
1999.
[355] R. Yarlagadda and J.E. Hershey. Analysis and synthesis of bent se-
quences, IEE proceedings. Part E. Computers and digital techniques,
vol. 136, pp. 112-123, 1989.
182
[359] X.-M. Zhang and Y. Zheng. GAC - the criterion for global avalanche
characteristics of cryptographic functions. Journal of Universal Com-
puter Science, 1(5), pp. 320-337, 1995.
[364] Y. Zheng, X.-M. Zhang, and H. Imai. Restriction, terms and nonlin-
earity of Boolean functions. Theoretical Computer Science, 226(1-2),
pp. 207-223, 1999.
[366] Y. Zheng and X.-M. Zhang. Improving upper bound on the nonlinear-
ity of high order correlation immune functions. Proceedings of Selected
Areas in Cryptography 2000, Lecture Notes in Computer Science 2012,
pp. 262-274, 2001.
183
Index
[N, k, d]-code, 34 complexity criteria, 68
m-sequences, 45 concatenating affine functions, 86
2-weight, 17 confusion, 47
conventional cryptography, 5
absolute indicator, 65 correlation attack, 57
absolute trace representation, 15 correlation-immune function, 56
adjoint operator, 29 coset leader, 16
affine functions, 14 covered, 10
affine invariant, 12 covering radius, 34
affinely equivalent, 13 covering radius bound, 51
algebraic attacks, 61 covering sequence, 74
algebraic degree, 12 cryptanalysis, 5
algebraic immunity, 63 cryptography, 5
Algebraic Normal Form, 9 cyclic code, 35
algebraic thickness, 68 cyclotomic class, 15
amplitude, 107
annihilator, 62 decomposable functions, 92
atomic functions, 9 decryption, 5
auto-correlation function, 27 defining set, 35
Ax’s theorem, 40 derivative, 27
difference set, 79
balanced functions, 56 diffusion, 47
BCH bound, 35 Dillon’s functions, 88
bent functions, 52 Dirac symbol, 23
bent-concatenation bound, 52 direct sum, 92
Berlekamp-Massey algorithm, 44 discrete Fourier transform, 21
binary entropy function, 117 distance enumerator, 41
binary expansion, 17 distance to linear structures, 61
binary Möbius transform, 11 distinguishing attacks, 56
Boolean functions, 6 dual code, 34
dual distance, 41
Cayley graph, 32
dual function, 80
ciphertext, 5
code, 6 encryption, 5
codewords, 6 equivalent codes, 34
coincident functions, 13 error correcting codes, 6
combiner model, 44 eSTREAM Project, 45
complete class of functions, 78 extended propagation criterion, 59
184
extension of Maiorana-McFarland type,linear complexity, 44
95 Linear Feedback Shift Registers, 43
linear kernel, 59
fast correlation attacks, 50 linear structure, 59
Fast Fourier Transform, 21 linearly equivalent, 13
Fast Möbius Transform, 11
feedback coefficients, 44 Möbius transform over integers, 19
feedback polynomial, 43 MacWilliams’ identity, 40
Feedback Shift Register, 46 Maiorana-McFarland general construc-
filter model, 45 tion, 119
flat, 30 Maiorana-McFarland original class, 85
Mattson-Solomon polynomial, 16
generalized degree, 18 maximal odd weighting, 37
Generalized Partial Spread, 102 maximum correlation, 67
generator matrix, 34 maximum length sequences, 45
generator polynomial, 35 McEliece’s theorem, 40
global avalanche criterion, 65 minimum distance, 34
Gold function, 82 monomial functions, 89
Hamming code, 34 naive bound, 100
Hamming distance, 8 non-trivial covering sequence, 74
Hamming weight, 8 nonhomomorphicity, 68
higer order nonlinearity, 54 nonlinearity, 51
hyper-bent functions, 103 nonlinearity profile, 54
normal basis, 111
idempotent functions, 118
normal extension, 109
indicator, 13
normal function, 68
indirect sum of bent functions, 95
numerical degree, 18
indirect sum of resilient functions, 129
Numerical Normal Form, 18
information set, 137
inner product, 14 one time pad, 42
orphan of R(1, n), 108
Kasami function, 83
orthogonal, 24
Kerdock code, 110
keystream, 42 parity check polynomial, 50
Kloosterman sums, 77 parity-check matrix, 34
Krawtchouk polynomials, 144 Parseval’s relation, 27
partial bent functions, 107
level of a covering sequence, 74
Partial Spreads class, 87
LFSR, 43
partially defined, 13
linear code, 34
partially-bent functions, 106
185
perfect nonlinear functions, 79 synchronous, 42
plaintext, 5
plateaued functions, 67 Tarannikov et al.’s construction, 127
Poisson summation formula, 25 three-valued functions, 107
power functions, 89 trace function, 15
primary constructions, 85 trace representation, 16
primitive element, 16 transmission rate, 6
private key cryptography, 5
univariate representation, 15
Propagation Criterion, 59
pseudo-Boolean functions, 18 Vernam cipher, 42
pseudo-random sequences, 42
public key cryptography, 5 Walsh transform, 23
weakly-normal function, 68
quadratic bound, 52 weight distribution, 40
quadratic functions, 69 weight enumerator, 40
rank of ϕf , 70 Weil’s bound, 77
redundancy, 6 Wiener-Khintchine Theorem, 27
Reed-Muller codes, 36
Reed-Solomon code, 35
resiliency order, 57
resilient function, 56
rotation symmetric, 118
Rothaus construction, 92
Rothaus’ bound, 84
186