Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Download
22144 views
1
\section{Introduction}
2
\label{sec-Introduction}
3
Binary bent functions are important combinatorial objects.
4
Besides the well-known application of bent functions and their generalizations to cryptography
5
\cite{Ada97} \cite[4.1-4.6]{Tok15bent},
6
bent functions have well-studied connections to Hadamard difference sets \cite{Dil74},
7
symmetric designs with the symmetric difference property \cite{DilS87block,Kan75symplectic},
8
projective two-weight codes \cite{CalK1986,Din2015} and strongly regular graphs.
9
10
In two papers, Bernasconi and Codenotti \cite{BerC99}, and then Bernasconi, Codenotti and Vanderkam
11
\cite{BerCV01} explored some of the connections
12
between bent functions and strongly regular graphs.
13
While these papers established that the Cayley graph of a binary bent function (whose value at 0 is
14
0) is a strongly regular graph
15
with certain parameters, they leave open the question of which strongly regular graphs with these
16
parameters are so obtained.
17
18
In a recent paper \cite{Leo17Hurwitz},
19
the author found an example of two infinite series of bent functions whose
20
Cayley graphs have the same strongly regular parameters at each dimension,
21
but are not isomorphic if the dimension is 8 or more.
22
23
Kantor, in 1983 \cite{Kan83exponential}, showed that the numbers of non-isomorphic projective linear
24
two weight codes with certain parameters,
25
Hadamard difference sets, and symmetric designs with certain properties, grow at least exponentially
26
with dimension.
27
This result suggests that the number of strongly regular graphs obtained as Cayley graphs of bent
28
functions also increases at least exponentially with dimension.
29
30
%See also the paper by Jungnickel and Tonchev \cite{JunT1991}.
31
32
A 2003 paper by Cameron \cite{Cam2003} considers random strongly regular graphs with given parameters,
33
and outlines some prerequisites for a theory of random strongly regular graphs, including that
34
``the number of non-isomorphic graphs is superexponential in the number of vertices.''
35
36
The goal of the current paper is to further explore the connections between bent functions, their
37
Cayley graphs, and related combinatorial objects,
38
and in particular to examine the relationship between various equivalence classes of bent
39
functions, in particular, the relationship between the extended affine
40
equivalence classes and equivalence classes defined by isomorphism of Cayley graphs.
41
As well as a theoretical study of bent functions of all dimensions, an computational study is conducted
42
into bent functions of dimension at most 8,
43
using SageMath \cite{SageMath7517} and CoCalc \cite{CoCalc}.
44
45
The methodology for this study is modelled on \emph{experimental mathematics}.
46
As stated by Borwein and Devlin \cite[pp. 4-5]{BorD2008}:
47
\begin{quotation}
48
What makes experimental mathematics different (as an enterprise)
49
from the classical conception and practice of mathematics is that the
50
experimental process is regarded not as a precursor to a proof, to be
51
relegated to private notebooks and perhaps studied for historical
52
purposes only after a proof has been obtained. Rather, experimentation
53
is viewed as a significant part of mathematics in its own right, to
54
be published, considered by others, and (of particular importance)
55
\emph{contributing to our overall mathematical knowledge.}
56
\end{quotation}
57
58
The theoretical results listed this paper serve a few purposes.
59
First, in order to classify bent functions by their Cayley graphs,
60
it helps to understand the relationship between Cayley equivalence and other concepts of equivalence
61
of bent functions, especially if this helps to cut down the search space needed for the
62
classification.
63
A similar consideration applies to the duals of bent functions.
64
Second, some of the empirical observations made in the classification of bent functions in small
65
dimensions can be explained by these theoretical results.
66
Third, these theoretical results can improve our understanding of the relationships between
67
bent functions, projective two-weight codes, strongly regular graphs, and
68
symmetric block designs with the symmetric difference property.
69
In what follows, known results with references are presented as propositions, or sometimes as remarks;
70
and results where the statement or the proof seems to be missing or obscure within the existing literature
71
are presented as lemmas or theorems, with proofs.
72
73
This paper makes no pretence at being an exhaustive survey, neither should it be construed that
74
the lemmas and theorems listed here make any claim to originality.
75
Even given the current excellent electronic search capabilities available, it would be folly to do so given
76
the extensive literature that has been generated on the study of bent functions since the 1960s.
77
Some recent surveys include books by Cusick and Stanica \cite{CusS2017},
78
Mesnager \cite{Mes2016} and Tokareva \cite{Tok15bent},
79
and the article by Carlet and Mesnager \cite{CarM2016four}.
80
81
The remainder of the paper is organized as follows.
82
Section~\ref{sec-Preliminaries} covers the concepts, definitions and known results used later in the paper.
83
Section~\ref{sec-Bent-graphs} discusses the relationship between bent functions and strongly regular graphs.
84
Section~\ref{sec-Equivalence} introduces various concepts of equivalence of bent functions.
85
Section~\ref{sec-Bent-designs} discusses the relationship between bent functions and block designs.
86
%Section \ref{sec-Results} contains the main theoretical results of the paper.
87
Section~\ref{sec-Code} describes the SageMath and CoCalc code that has been used to obtain
88
the computational results of this paper.
89
Section~\ref{sec-Discussion} puts the results of this paper in the context of questions that are still open.
90
The appendices contain the proof of one of the properties of quadratic bent functions,
91
and list some of the properties of the equivalence classes of bent functions for dimension up to 8.
92
93
\section{Preliminaries}
94
\label{sec-Preliminaries}
95
96
% \begin{frame}
97
This section presents some of the key concepts used in the remainder of the paper.
98
We first examine Boolean functions, then define bent Boolean functions,
99
and finally explore the relationships between bent functions
100
and Hamming weights.
101
102
% \begin{frame}
103
\subsection{Boolean functions}
104
\label{sec-Boolean-functions}
105
106
Here and in the remainder of the paper, $\F_2$ denotes the field of two elements,
107
also known as $GF(2)$. Models of $\F_2$ include integer arithmetic modulo 2
108
($\Z/2\Z$ also known as $\Z_2$) and Boolean algebra with ``exclusive or'' as addition and ``and''
109
as multiplication.
110
\paragraph*{Boolean functions and Reed-Muller codes.}
111
Any Boolean function $f : \F_2^n \To \F_2$ can be represented as a reduced polynomial in at most $n$ variables over $F_2$
112
\cite{Mul54, Rot76} \cite[Ch. III, Section 2]{Dil74}.
113
This is called the \Emph{algebraic normal form} of $f$ \cite[Chapter 5]{Rue1986}.
114
115
\begin{example}
116
In Sage, using \verb!sage.crypto.boolean_function!, define:
117
\begin{sageblock}
118
from sage.crypto.boolean_function import BooleanFunction
119
f = BooleanFunction([1,1,1,0])
120
a = f.algebraic_normal_form()
121
\end{sageblock}
122
The algebraic normal form of the Boolean function \verb!f! on $\F_2^2$
123
with variables $x_0$ and $x_1$ and truth table $\sage{[1,1,1,0]}$ (in lexicographic order)
124
is then \verb!a = !$\sage{a}$
125
\cite[Boolean Functions]{SageMath8418}.
126
\end{example}
127
128
\begin{Definition}
129
\label{def-Reed-Muller-codes}
130
\cite{Mul54} \cite[Ch. 13, Section 3]{MacS77} \cite[10.5.2]{Sti07combinatorial}
131
The \Emph{Reed-Muller code} $RM(r, n)$ consists of those Boolean functions $f : \F_2^n \To \F_2$
132
whose algebraic normal form has degree $r$.
133
\end{Definition}
134
\begin{remark}
135
Some texts use the notation $\mathcal{R}(r,n)$ or $RM(r,2^n)$ for $RM(r,n)$.
136
137
Each Reed-Muller code $RM(r,n)$ is a linear subspace of the vector space of Boolean functions $f : \F_2^n \To \F_2$.
138
139
The Reed-Muller code $RM(1,n)$ consists of the $2^{n+1}$ affine functions $f(x) = \langle c, x \rangle + \delta$
140
for $c \in \F_2^n,\ \delta \in \F_2$ \cite[Ch 14, Section 3]{MacS77} \cite[10.5.2]{Sti07combinatorial}.
141
\end{remark}
142
143
% \begin{example}
144
% Using \verb!sage.coding.reed_muller_code! in Sage, list the Reed-Muller code $RM(1,2)$:
145
% \begin{sageblock}
146
% from sage.coding.reed_muller_code import ReedMullerCode
147
% C = ReedMullerCode(GF(2),1,2)
148
% L = C.list()
149
% \end{sageblock}
150
% This sets the variable \verb!L! to be the list of 8 vectors
151
% \begin{align*}
152
% [ &\sage{L[0]},\sage{L[1]},\sage{L[2]},\sage{L[3]},
153
% \\
154
% &\sage{L[4]},\sage{L[5]},\sage{L[6]},\sage{L[7]}\,]
155
% \end{align*}
156
% \cite[Reed-Muller Code]{SageMath8418}.
157
% \end{example}
158
159
\paragraph*{Bent Boolean functions.}
160
Bent Boolean functions can be defined in a number of equivalent ways.
161
The definition used here involves the Walsh Hadamard Transform.
162
\begin{Definition}
163
\label{def-Walsh-Hadamard-transform}
164
\cite[Ch. III, Section 2]{Dil74} \cite[Ch. 2, Section 3]{MacS77}
165
The Walsh Hada\-mard transform of
166
a Boolean function $f : \F_2^n \To \F_2$ is
167
\begin{align*}
168
W_f(x)
169
&:=
170
\sum_{y \in \F_2^n} (-1)^{f(y) + \langle x, y \rangle}
171
\intertext{where}
172
\langle x , y \rangle
173
&:= \sum_{i=0}^{n-1} x_i y_i.
174
\end{align*}
175
\end{Definition}
176
\begin{example}
177
Using \verb!sage.crypto.boolean_function! in Sage, define:
178
\begin{sageblock}
179
from sage.crypto.boolean_function import BooleanFunction
180
f = BooleanFunction([1,1,1,0])
181
w = f.walsh_hadamard_transform()
182
\end{sageblock}
183
\begin{sagesilent}
184
from sage.misc.banner import require_version
185
\end{sagesilent}
186
187
The Walsh Hada\-mard transform of the Boolean function \verb!f! on $\F_2^2$ is then
188
\verb!w =! $\sage{w if require_version(8,2,0) else tuple(-v for v in w)}$
189
as a truth table in lexicographic order
190
\cite[Boolean Functions]{SageMath8418}.
191
\end{example}
192
\begin{remarks}~
193
194
\begin{enumerate}
195
\item
196
In versions of Sage before 8.2 the \verb!walsh_hadamard_transform! method has an incorrect sign
197
[Sage trac ticket \#23931].
198
\item
199
For Boolean functions $f : \F_{2^n} \To \F_2$,
200
where $\F_{2^n}$ is the finite field on $2^n$ elements,
201
the \emph{trace form} \cite[3.1]{Jac64}
202
203
is used to define the Walsh Hada\-mard transform.
204
\end{enumerate}
205
\end{remarks}
206
207
\begin{Definition}
208
\label{def-Bent-function}
209
A Boolean function $f : \F_2^{2m} \To \F_2$ is \Emph{bent}
210
if and only if its Walsh Hada\-mard transform has constant absolute value $2^{m}$ \cite[p. 74]{Dil74}
211
\cite[p. 300]{Rot76}.
212
\end{Definition}
213
\begin{example}
214
The Boolean function \verb!f! in the previous example is bent, since its
215
Walsh Hada\-mard transform has constant absolute value $\sage{abs(w[0])}$.
216
\end{example}
217
218
219
The remainder of this paper refers to bent Boolean functions simply as bent functions.
220
\begin{remarks}~
221
222
\begin{enumerate}
223
\item
224
Bent functions can also be characterized as those Boolean functions whose Hamming distance
225
from any affine Boolean function is the maximum possible \cite[Ch. 14 Theorem 6]{MacS77} \cite[Theorem 3.3]{MeiS90}.
226
\item
227
The property of being a bent function is invariant with respect to the non-degenerate symmetric bilinear form used to define
228
the Walsh Hada\-mard transform.
229
That is, for a non-degenerate symmetric bilinear form $\langle x, S y \rangle$, where $S$ is a non-degenerate symmetric matrix in $\F_2^{n \times n}$,
230
and a Boolean function $f : \F_{2^n} \To \F_2$, the Walsh Hada\-mard transform
231
\begin{align*}
232
W[S]_f(x)
233
&:=
234
\sum_{y \in \F_2^n} (-1)^{f(y) + \langle x, S y \rangle}
235
\end{align*}
236
has constant absolute value $2^{m}$ if and only if $f$ is bent as per Definition \ref{def-Bent-function} \cite{DinMTX2018cyclic}.
237
In this sense, given an isomorphism between $\F_2^{2m}$ and $\F_{2^{2m}}$ as vector spaces over $\F_2$,
238
the definition of a bent function on $\F_2^{2m}$ is equivalent to the definition on $\F_{2^{2m}}$.
239
\item
240
The fact that any symmetric matrix $S$ on $\F_2^n$ can be factorized $S=L^T L$, with the shape of $L$ depending on the rank of $S$ \cite{Lem1975matrix}
241
leads to the existence of a basis of $\F_{2^n}$ for which the trace form is diagonal.
242
This yields an explicit isomorphism between $\F_2^{2m}$ and $\F_{2^{2m}}$ as vector spaces over $\F_2$ for which the two equivalent definitions
243
of bent function coincide \cite[p. 860]{OlSW1975}.
244
\end{enumerate}
245
%
246
\end{remarks}
247
248
The characterization of bent functions given by Definition~\ref{def-Bent-function} immediately
249
implies the existence of dual functions:
250
\begin{Definition}
251
\label{def-dual-Bent-function}
252
For a bent function $f : \F_2^{2m} \To \F_2$, the function $\dual{f}$, defined by
253
\begin{align*}
254
(-1)^{\dual{f}(x)} &:= 2^{-m} W_f(x)
255
\end{align*}
256
is called the \Emph{dual} of $f$ \cite{CarDPS10self}.
257
\end{Definition}
258
259
\begin{Remark}
260
The function $\dual{f}$ is also a bent function on $\F_2^{2m}$ \cite[p. 427]{MacS77} \cite[p. 301]{Rot76}.
261
\end{Remark}
262
263
\subsection{Weights and weight classes}
264
\begin{Definition}
265
\label{def-weight}
266
The \Emph{Hamming weight} of a Boolean function is the cardinality of its \Emph{support} \cite[p. 8]{MacS77}.
267
For $f$ on $\F_2^n$
268
\begin{align*}
269
\support{f} &:= \{x \in \F_2^n \mid f(x)=1 \}, \quad \weight{f} := \abs{ \support{f} }.
270
\end{align*}
271
\end{Definition}
272
273
The remainder of this paper refers to Hamming weights simply as weights.
274
275
Since a bent function of a given dimension can have only one of two weights,
276
the weights can be used to define equivalence classes of bent functions % and their Cayley graphs,
277
here called \emph{weight classes}.
278
\begin{Definition}
279
\label{def-weight-class}
280
A bent function $f$ on $\F_2^{2m}$ has weight \cite[Theorem 6.2.10]{Dil74}
281
\begin{align*}
282
\weight{f} &= 2^{2 m - 1} - 2^{m-1} \quad (\text{weight class number~} \weightclass{f}=0),
283
\text{~or}
284
\\
285
\weight{f} &= 2^{2 m - 1} + 2^{m-1} \quad (\text{weight class number~} \weightclass{f}=1).
286
\end{align*}
287
% If $f(0)=0$ then $\weightclass{\Cay{f}} := \weightclass{f}$.
288
\end{Definition}
289
% \end{frame}
290
291
\paragraph*{Weight classes and dual bent functions.}
292
%\subsection{Weight classes and dual bent functions.}
293
294
We now note a connection between weight classes and dual bent functions that
295
makes it a little easier to reason about dual bent functions.
296
The following lemma expresses the dual bent function in terms of weight classes.
297
(See also MacWilliams and Sloane \cite[p. 414]{MacS77}.)
298
\begin{Lemma}
299
\label{lm-notes-9b}
300
For a bent function $f : \F_2^{2m} \To \F_2$, and $x \in \F_2^{2m}$,
301
\begin{align*}
302
\dual{f}(x)
303
&=
304
\weightclass{y \mapsto f(y) + \langle x, y \rangle}.
305
\end{align*}
306
307
\end{Lemma}
308
309
The proof of Lemma~\ref{lm-notes-9b} relies on the following lemma about weight classes.
310
\begin{Lemma}
311
\label{lm-notes-9a}
312
For a bent function $f : \F_2^{2m} \To \F_2$,
313
\begin{align*}
314
\weightclass{f}
315
&=
316
2^{-m} \weight{f} - 2^{m-1} + 2^{-1},
317
\intertext{so that}
318
\weight{f}
319
&=
320
2^{m} \weightclass{f} + 2^{2m-1} - 2^{m-1}.
321
\end{align*}
322
323
\end{Lemma}
324
325
\begin{proof}
326
If $\weight{f} = 2^{2 m - 1} - 2^{m-1}$ then
327
\begin{align*}
328
2^{-m} \weight{f} - 2^{m-1} + 2^{-1}
329
&=
330
2^{-m} (2^{2 m - 1} - 2^{m-1}) - 2^{m-1} + 2^{-1} = 0.
331
\end{align*}
332
If $\weight{f} = 2^{2 m - 1} + 2^{m-1}$ then
333
\begin{align*}
334
2^{-m} \weight{f} - 2^{m-1} + 2^{-1}
335
&=
336
2^{-m} (2^{2 m - 1} + 2^{m-1}) - 2^{m-1} + 2^{-1} = 1.
337
\end{align*}
338
\end{proof}
339
340
\begin{proofof}{Lemma~\ref{lm-notes-9b}}
341
Let $h(y) := y \mapsto f(y) + \langle x, y \rangle.$
342
Then
343
\begin{align*}
344
(-1)^{\dual{f}(x)}
345
&=
346
2^{-m} \sum_{y \in \F_2^{2m}} (-1)^{f(y) + \langle x, y \rangle}
347
\\
348
&=
349
2^{-m} \left( \sum_{f(y) + \langle x, y \rangle = 0} 1 - \sum_{f(y) + \langle x, y \rangle = 1} 1
350
\right)
351
\\
352
&=
353
2^{-m} \left( 2^{2m} - 2 \weight{h} \right)
354
=
355
2^m - 2^{1-m} \weight{h}
356
\\
357
&=
358
2^m - 2^{1-m} (2^{m} \weightclass{h} + 2^{2m-1} - 2^{m-1})
359
\\
360
&=
361
%2^m - 2 \weightclass{h} - 2^m + 1
362
%=
363
1 - 2 \weightclass{h} = (-1)^{\weightclass{h}},
364
\end{align*}
365
where we have used Lemma~\ref{lm-notes-9a}.
366
\end{proofof}
367
368
%
369
%~
370
%
371
%\slidecite{Dillon 1974; Rothaus 1976; Tokareva 2011}
372
% \end{frame}
373
374
% \begin{frame}
375
\section{Bent functions and strongly regular graphs}
376
\label{sec-Bent-graphs}
377
This section defines the Cayley graph of a Boolean function,
378
and explores the relationships between bent functions, projective two-weight codes, and strongly regular graphs.
379
\subsection{The Cayley graph of a Bent function}
380
381
The Cayley graph of a bent function $f$ with $f(0)=0$ is defined
382
in terms of the Cayley graph for a general Boolean function with $f$ with $f(0)=0$.
383
\paragraph*{The Cayley graph of a Boolean function.}
384
%\begin{center}
385
\begin{Definition}
386
\label{def-Cayley-graph}
387
For a Boolean function $f : \F_2^{2 m} \To \F_2$, with $f(0)=0$ we consider the simple undirected
388
\emph{Cayley graph} $\Cay{f}$ \cite[3.1]{BerC99}
389
where the vertex set $V(\Cay{f}) = \F_2^{2 m}$ and for $i,j \in \F_2^{2 m}$, the edge $(i,j)$ is in
390
the edge set $E(\Cay{f})$ if and only if $f(i+j)=1$.
391
\end{Definition}
392
Note especially that in contrast with the paper of Bernasconi and Codenotti \cite{BerC99},
393
this paper defines Cayley graphs only for Boolean functions $f$ with $f(0)=0$,
394
since the use of Definition~\ref{def-Cayley-graph} with a function $f$ for which $f(0)=1$ would
395
result in a graph with loops rather than a simple graph.
396
397
%\slidecite{Bernasconi and Codenotti 1999} % BerC99
398
% \end{frame}
399
% \begin{frame}
400
\paragraph*{Bent functions and strongly regular graphs.}
401
%\begin{center}
402
We repeat below in Proposition~\ref{pr-Cayley-bent-strongly-regular}
403
the result of Bernasconi and Codenotti \cite{BerC99}
404
that the Cayley graph of a bent function is strongly regular.
405
The following definition is used to fix the notation used in this paper.
406
\begin{Definition}
407
\label{def-strongly-regular-graph}
408
%
409
A simple graph $\Gamma$ of order $v$ is \Emph{strongly regular} \cite{Bos63,BroCN89,Sei79} with
410
parameters
411
$(v,k,\lambda,\mu)$ if
412
\begin{itemize}
413
\item
414
each vertex has degree $k,$
415
\item
416
each adjacent pair of vertices has $\lambda$ common neighbours, and
417
\item
418
each nonadjacent pair of vertices has $\mu$ common neighbours.
419
\end{itemize}
420
%
421
\end{Definition}
422
%~
423
%
424
%\slidecite{Brouwer, Cohen and Neumaier 1989} % BroCN89
425
426
%\end{center}
427
% \end{frame}
428
429
% \begin{frame}
430
The following proposition summarizes some of the well-known properties of the Cayley graphs of bent functions.
431
\begin{Proposition}
432
\label{pr-Cayley-bent-strongly-regular}
433
The Cayley graph $\Cay{f}$ of a bent function $f$ on $\F_2^{2m}$
434
with $f(0)=0$ is a strongly regular graph with $\lambda = \mu$ \cite[Lemma 12]{BerC99}.
435
436
In addition, any Boolean function $f$ on $\F_2^{2m}$ with $f(0)=0$,
437
whose Cayley graph $\Cay{f}$ is a strongly regular graph with $\lambda = \mu$ is a bent function
438
\cite[Theorem 3]{BerCV01} \cite[Theorem 3.1]{Sta07}.
439
440
For a bent function $f$ on $\F_2^{2m}$,
441
the parameters of $\Cay{f}$ as a strongly regular graph
442
are \cite[Theorem 6.2.10]{Dil74} \cite[Theorem 3.2]{HuaY04}
443
\begin{align*}
444
(v,k,\lambda,\mu) = &(4^m, 2^{2 m - 1} - 2^{m-1}, 2^{2 m - 2} - 2^{m-1}, 2^{2 m - 2} - 2^{m-1})
445
\\
446
\text{or} \quad &(4^m, 2^{2 m - 1} + 2^{m-1}, 2^{2 m - 2} + 2^{m-1}, 2^{2 m - 2} + 2^{m-1}).
447
\end{align*}
448
\end{Proposition}
449
450
%~
451
%
452
%\slidecite{Menon 1962; Dillon 1974; Bernasconi and Codenotti 1999}
453
%\end{center}
454
% \end{frame}
455
% \begin{frame}
456
\subsection{Bent functions, linear codes and strongly regular graphs}
457
Another well known way to obtain a strongly regular graph from a bent function is via a projective two-weight
458
code.
459
This is done via the following definitions.
460
\paragraph*{Projective two-weight binary codes.}
461
462
\begin{Definition}
463
\label{def-two-weight-codes}
464
\cite{BouFFWW2006, CalK1986, Del72weights, Din2015, Ton96uniformly}
465
466
A \Emph{two-weight binary code} with parameters $[n,k,d]$ is a $k$ dimensional subspace of $\F_2^n$
467
with
468
minimum Hamming distance $d$, such that the set of Hamming weights of the non-zero vectors has size
469
2.
470
471
Bouyukliev, Fack, Willems and Winne \cite[p. 60]{BouFFWW2006} define projective codes as follows.
472
``A \Emph{generator matrix} $G$ of a linear code $[n, k]$ code $C$ is any matrix
473
of rank $k$ (over $\F_2$) with rows from $C.$ \ldots
474
A linear $[n, k]$ code is called \Emph{projective} if no two columns of a generator matrix
475
$G$ are linearly dependent, i.e., if the columns of $G$ are pairwise different points in a
476
projective $(k-1)$-dimensional space.''
477
478
A \Emph{projective two-weight binary code} with parameters $[n, k, d]$ is thus a
479
two-weight binary code with these parameters which is also projective as an $[n, k]$ linear code.
480
%
481
%~
482
%
483
%\slidecite{Bouyukliev, Fack, Willems and Winne 2006} % BouFFWW2006
484
%
485
\end{Definition}
486
487
\begin{Remark}
488
In the case of $\F_2$, no two columns of the generator matrix of a projective code are equal.
489
\end{Remark}
490
491
492
\paragraph*{From bent function to strongly regular graph via a projective two-weight code.}
493
There is a standard construction for obtaining a projective two-weight code from a bent function in such a way that
494
the code can be used to define a strongly regular graph.
495
This method is equivalent to the following definition.
496
\begin{Definition}
497
\label{def-boolean-linear-code}
498
\cite{Din2015}.
499
%\smallcite{Ding 2015, Corollary 10}
500
See also \cite[Definition 2A]{CalK1986}
501
502
Let $v=2^{2m}$, and let $X$ be the matrix in $\F_2^{2m \times v}$
503
whose columns are the $v$ elements of $\F_2^{2m}$ in lexicographic order.
504
For a Boolean function $f : \F_2^{2m} \To \F_2$,
505
let $n=\weight{f}$, and let $Y$ be the matrix in $\F_2^{2m \times n}$
506
whose columns are the $n$ elements of $\support{f}$ in lexicographic order.
507
That is,
508
\begin{align*}
509
Y_{i,j} &= (y_j)_i, \quad \text{for~} i \in \{0,\ldots,v-1\},\ j \in \{0,\ldots,n-1\},
510
\end{align*}
511
with $y_j \in \F_2^{2m}$ being an element of $\support{f}$.
512
513
The linear code $C(f) \subset \F_2^n$ is then given by the span of the $2 m$ rows of $Y$ within $\F_2^n$,
514
considered as row vectors.
515
\end{Definition}
516
% define the linear code $C(f)$ by the generator matrix
517
% \begin{align*}
518
% M_C(f)_{x,y} &\in \F_2^{2^{2m} \times \weight{f}},
519
% \\
520
% M_C(f)_{x,y} &:= \langle x, \support{f}(y) \rangle,
521
% \end{align*}
522
% with $x$ in lexicographic order of $\F_2^{2m}$
523
% and $\support{f}(y)$ in lexicographic order of $\support{f}$.
524
%
525
% The $4^m$ words of the code $C(f)$ are the rows of the generator matrix $M_C(f)$.
526
527
\begin{example}
528
In Sage, using \verb!sage.crypto.boolean_function! and
529
\newline
530
\verb!boolean_cayley_graphs.boolean_linear_code!, define:
531
\begin{sageblock}
532
from sage.crypto.boolean_function import BooleanFunction
533
from boolean_cayley_graphs.boolean_linear_code import (
534
boolean_linear_code)
535
f = BooleanFunction([0,1,0,0,0,1,0,0,1,0,0,0,0,0,1,1])
536
dim = f.nvariables()
537
Cf = boolean_linear_code(dim, f)
538
\end{sageblock}
539
The linear code $Cf := C(f)$ of the Boolean function \verb!f! on $\F_2^4$ then has the following
540
generator matrix in echelon form:
541
\begin{align*}
542
\sage{Cf.generator_matrix().echelon_form()}.
543
\end{align*}
544
\cite{Leo16GitHub} \cite[Boolean Functions]{SageMath8418}.
545
\end{example}
546
547
\begin{remarks}~
548
549
\begin{enumerate}
550
\item
551
The linear span of the rows of $Y$ is given by the set of rows of the matrix
552
%
553
\begin{align*}
554
M &:= X^T Y, \quad \text{where}
555
\\
556
X &\in \F_2^{2m \times v}
557
\end{align*}
558
is the matrix whose columns are all $v$ elements of $\F_2^{2m}$ in lexicographic order.
559
Thus $M \in \F_2^{v \times n}$.
560
\item
561
Definition \ref{def-boolean-linear-code} is not identical to the generic construction described by
562
Ding \cite[Section III]{Din2015} since that definition is for
563
subsets $D \subset \F_v$, and uses the trace form, but for the case where $D$ is the support
564
of a Boolean function $f \colon \F_v \To F_2$, the two definitions are equivalent.
565
566
If the bilinear form $\langle x, y \rangle = x^T y$ is replaced in
567
the previous remark by a non-degenerate symmetric bilinear form $\langle x, S y \rangle = x^T S y$,
568
where $S$ is a non-degenerate symmetric matrix in $\F_2^{2m \times 2m}$,
569
then this would produce the same linear code, since the matrix $S$, being invertible,
570
produces a bijection on $\F_2^{2m}$ and therefore the matrix $X^T S$ differs from $X^T$ only by a permutation of rows.
571
572
Thus by similar arguments to those in Remarks 2 and 3 following Definition \ref{def-Bent-function},
573
the generic construction described by Ding \cite[Section III]{Din2015} is in this case equivalent
574
to Definition \ref{def-boolean-linear-code}.
575
\end{enumerate}
576
\end{remarks}
577
578
When $f$ is a bent function, the linear code $C(f)$
579
described by Definition \ref{def-boolean-linear-code} has the following properties.
580
%\slidecite{Ding 2015, Corollary 10}
581
%
582
% \end{frame}
583
% \begin{frame}
584
%\frametitle{From bent function to linear code (2)}
585
\begin{Proposition}
586
\label{pr-bent-two-weight-code}
587
\cite[Corollary 10]{Din2015}
588
%\smallcite{Ding 2015, Corollary 10}
589
590
For a bent function $f : \F_2^{2m} \To \F_2$, the linear code $C(f)$
591
is a projective two-weight binary code, with
592
\begin{align*}
593
\begin{cases}
594
n = \weight{f} = 2^{2m-2} - 2^{m-2}, \quad k = 2m & \text{if~} \weightclass{f}=0.
595
\\
596
n = \weight{f} = 2^{2m-2} + 2^{m-2}, \quad k = 2m & \text{if~} \weightclass{f}=1.
597
\end{cases}
598
\end{align*}
599
%
600
The possible weights of non-zero code words are:
601
\begin{align*}
602
\begin{cases}
603
2^{2m-2}, 2^{2m-2} - 2^{m-1} & \text{if~} \weightclass{f}=0.
604
\\
605
2^{2m-2}, 2^{2m-2} + 2^{m-1} & \text{if~} \weightclass{f}=1.
606
\end{cases}
607
\end{align*}
608
%
609
\end{Proposition}
610
611
\begin{proof}
612
We examine $W_f$, the Walsh Hadamard transform of $f$.
613
\begin{align*}
614
W_f(x)
615
&=
616
\sum_{y \in \F_2^{2 m}} (-1)^{\langle x, y \rangle + f(y)}
617
=
618
\sum_{y \in \F_2^{2 m}} (-1)^{\langle x, y \rangle}
619
- 2\sum_{f(y)=1} (-1)^{\langle x, y \rangle}.
620
\end{align*}
621
But
622
\begin{align*}
623
\sum_{y \in \F_2^{2 m}} (-1)^{\langle x, y \rangle}
624
&=
625
\begin{cases}
626
4^m &(x=0)
627
\\
628
0 & \text{otherwise},
629
\end{cases}
630
\end{align*}
631
as per the Sylvester Hadamard matrices.
632
633
So, for $x \neq 0$,
634
\begin{align*}
635
W_f(x)
636
&=
637
- 2\sum_{f(y)=1} (-1)^{\langle x, y \rangle},
638
\intertext{so}
639
\sum_{f(y)=1} (-1)^{\langle x, y \rangle}
640
&=
641
\weight{f} - 2 \sum_{\substack{f(y)=1 \\ \langle x, y \rangle =1}} 1
642
=
643
- W_f(x)/2.
644
\intertext{But}
645
\sum_{\substack{f(y)=1 \\ \langle x, y \rangle =1}} 1
646
&=
647
\weight{x^T Y},
648
\end{align*}
649
the weight of the code word of $C(f)$ corresponding to $x$.
650
So
651
\begin{align*}
652
\weight{f} - 2 \weight{x^T Y}
653
&=
654
- W_f(x)/2,
655
\intertext{and therefore}
656
\weight{x^T Y}
657
&=
658
\weight{f}/2 + W_f(x)/4.
659
\end{align*}
660
We now examine the two possible weight class numbers of $f$.
661
662
If $\weightclass{f} = 0$ then $\weight{f} = 2^{2m-1}-2^{m-1}$.
663
For $x \neq 0$ there are two cases, depending on $\dual{f}(x)$:
664
665
If $\dual{f}(x) = 0$ then $W_f(x) = 2^m$, so
666
\begin{align*}
667
\weight{x^T Y}
668
&=
669
2^{2m-2} - 2^{m-2} + 2^{m-2}
670
=
671
2^{2m-2}.
672
\end{align*}
673
674
If $\dual{f}(x) = 1$ then $W_f(x) = -2^m$, so
675
\begin{align*}
676
\weight{x^T Y}
677
&=
678
2^{2m-2} - 2^{m-2} - 2^{m-2}
679
=
680
2^{2m-2} - 2^{m-1}.
681
\end{align*}
682
683
Similarly, if $\weightclass{f} = 1$ then $\weight{f} = 2^{2m-1}+2^{m-1}$,
684
and so for $x \neq 0$
685
\begin{align*}
686
\weight{x^T Y}
687
&=
688
\begin{cases}
689
2^{2m-2} + 2^{m-1} & (\dual{f}(x)=0)
690
\\
691
2^{2m-2} & (\dual{f}(x)=1).
692
\end{cases}
693
\end{align*}
694
As a consequence, all $v = 2^{2m}$ rows of $M = X^T Y$ are distinct,
695
since the rows of $M$ consist of every linear combination of the rows of $Y$,
696
every linear combination of the rows of $Y$ is given by some $x^T Y$ where $x$ is a column of $X$,
697
and for every non-zero $x$, this linear combination has positive weight and is therefore non-zero.
698
Thus the dimension of $C(f)$ as a subspace of $F_2^n$ is $k=2m$.
699
\end{proof}
700
701
%\slidecite{Ding 2015, Corollary 10}
702
%
703
% \end{frame}
704
% \begin{frame}
705
\paragraph*{From linear code to strongly regular graph.}
706
This paper uses the following non-standard definition to obtain a strongly regular graph from a
707
projective two-weight code.
708
\begin{Definition}
709
\label{def-R-f}
710
Given $f : \F_2^{2m} \To \F_2$, and linear code $C(f)$ defined as per Definition~\ref{def-boolean-linear-code},
711
define the graph $R(f)$ as follows.
712
713
Vertices of $R(f)$ are code words of $C(f)$.
714
715
For code words $v,w \in C(f)$, edge $(u,v) \in R(f)$ if and only if
716
\begin{align*}
717
\begin{cases}
718
\weight{u+v} = 2^{2m-2} - 2^{m-1} & (\text{if~}\weightclass{f}=0).
719
\\
720
\weight{u+v} = 2^{2m-2} + 2^{m-1} & (\text{if~}\weightclass{f}=1).
721
\end{cases}
722
\end{align*}
723
724
\end{Definition}
725
\begin{remarks}~
726
727
\begin{enumerate}
728
\item
729
The standard definition uses the lower of the two weights in both cases above.
730
\item
731
Since $C(f)$ is a projective two-weight binary code,
732
$R(f)$ is a strongly regular graph \cite[Theorem 2]{Del72weights} \cite[Theorem 16.22]{CamVL91}.
733
\end{enumerate}
734
\end{remarks}
735
736
737
%\slidecite{Delsarte 1972, Theorem 2}
738
% \end{frame}
739
740
% \end{frame}
741
742
743
% \end{frame}
744
%\subsection{Bent functions, linear codes and strongly regular graphs}
745
% \begin{frame}
746
\paragraph*{The graph $R(f)$ is the Cayley graph of the extended dual.}
747
The strongly regular graph $R(f)$ of bent function $f$, as per
748
\ref{def-R-f} has the following remarkable property.
749
750
\begin{Theorem}
751
For a bent function $f : \F_2^{2m} \To \F_2$, with $f(0)=0$,
752
\begin{align*}
753
R(f) \equiv \Cay{\dual{f} + \weightclass{f}}.
754
\end{align*}
755
756
\end{Theorem}
757
% \end{frame}
758
\begin{proof}
759
As a consequence of Lemma~\ref{lm-notes-9b}, $\weightclass{f} = \dual{f}(0)$,
760
so if $g(x) := \dual{f}(x) + \weightclass{f}$ then $g(0)=0$ and therefore the Cayley graph of $g$
761
is well defined.
762
763
From the proof of Proposition~\ref{pr-bent-two-weight-code}:
764
765
If $\weightclass{f} = 0$ then for $x \neq 0$
766
\begin{align*}
767
\weight{x^T Y}
768
&=
769
\begin{cases}
770
2^{2m-2} & (\dual{f}(x)=0)
771
\\
772
2^{2m-2} - 2^{m-1} & (\dual{f}(x)=1).
773
\end{cases}
774
\end{align*}
775
Thus for $x \neq 0$, if $\dual{f}(x) + weightclass{f} = 1$ if and only if $\weight{x^T Y} = 2^{2m-2} - 2^{m-1}$.
776
777
If $\weightclass{f} = 1$ then for $x \neq 0$
778
\begin{align*}
779
\weight{x^T Y}
780
&=
781
\begin{cases}
782
2^{2m-2} + 2^{m-1} & (\dual{f}(x)=0)
783
\\
784
2^{2m-2} & (\dual{f}(x)=1).
785
\end{cases}
786
\end{align*}
787
Thus for $x \neq 0$, if $\dual{f}(x) + weightclass{f} = 1$ if and only if $\weight{x^T Y} = 2^{2m-2} + 2^{m-1}$.
788
789
Thus in both cases, $R(f)$ as per Definition~\ref{def-R-f} is isomorphic to the Cayley graph $\Cay{\dual{f} + \weightclass{f}}$.
790
\end{proof}
791
792
\section{Equivalence of bent functions}
793
\label{sec-Equivalence}
794
The following concepts of equivalence of Boolean functions are used in this paper,
795
usually in the case where the Boolean functions are bent.
796
797
% \begin{frame}
798
\paragraph*{Extended affine equivalence.}
799
800
\begin{Definition}
801
For Boolean functions $f,g : \F_2^n \To \F_2$,
802
$f$ is \Emph{extended affine equivalent} to $g$ \cite[Section 1.4]{Tok15bent} if and only if
803
\begin{align*}
804
g(x) &= f(A x + b) + \langle c, x \rangle + \delta
805
\end{align*}
806
for some $A \in GL(n,2)$, $b, c \in \F_2^n$, $\delta \in \F_2$.
807
\end{Definition}
808
809
The Boolean function $f$ is extended affine equivalent to $g$
810
if and only if $f$ and $g$ are in the same orbit
811
of the action of the \Emph{extended general affine group} $EGA(n, 2)$ on $\F_2^{\F_2^n}$, defined as follows.
812
813
\begin{Definition}
814
\begin{align*}
815
&EGA(n, 2) := \{ (A,b,c,\delta) \mid A \in GL(n,2),\ b, c \in \F_2^n,\ \delta \in \F_2 \}
816
\intertext{with}
817
&(A,b,c,\delta)(A',b',c',\delta') := (A A', A b' + b, A'^T c + c', \langle c, b' \rangle + \delta + \delta'),
818
\end{align*}
819
with action
820
\begin{align*}
821
(A,b,c,\delta)f(x) &:= f(A x + b) + \langle c, x \rangle + \delta,
822
\\
823
\left( (A,b,c,\delta)(A',b',c',\delta') f \right)
824
& := (A',b',c',\delta') \circ (A,b,c,\delta) f
825
\\
826
& = (A',b',c',\delta') \left( (A,b,c,\delta) f \right).
827
\end{align*}
828
\cite[Section 2]{Mai91}
829
\end{Definition}
830
831
\begin{Proposition}
832
\label{prop-EA-class-properties}
833
The extended affine (EA) equivalence classes of the Boolean functions $\F_2^n \To \F_2$,
834
that is, the orbits of these functions under $EGA(n, 2)$,
835
have the following well known and easily verified properties.
836
\begin{enumerate}
837
\item
838
For a given $f \colon \F_2^n \To \F_2$,
839
the $2^{n+1}$ functions $x \mapsto f(x) + \langle c, x \rangle + \delta$ are all distinct.
840
Thus the EA equivalence class of $f$ consists of some number of complete cosets of the Reed-Muller code $RM(1,n)$
841
described in Section \ref{sec-Boolean-functions}.
842
\item
843
Each general affine transformation $(A,b)f(x) := f(A x + b)$ preserves cosets of the Reed-Muller code $RM(1,n)$
844
in the sense that $(A,b)$ maps $f + RM(1,n)$ to $g + RM(1,n)$ where $g(x) = f(A x + b)$.
845
\end{enumerate}
846
%
847
\end{Proposition}
848
See also MacWilliams and Sloane \cite[Ch. 13]{MacS77}, and Maiorana \cite{Mai91}.
849
% \begin{frame}
850
\paragraph*{General linear equivalence.}
851
\begin{Definition}
852
For Boolean functions $f,g : \F_2^n \To \F_2$,
853
$f$ is \Emph{general linear equivalent} to $g$ if and only if
854
\begin{align*}
855
g(x) &= f(A x)
856
\end{align*}
857
for some $A \in GL(n,2)$.
858
\end{Definition}
859
860
Thus $f$ is general linear equivalent to $g$
861
if and only if $f$ and $g$ are in the same orbit
862
of the action of the general linear group $GL(n, 2)$ on $\F_2^{\F_2^n}$, defined as follows.
863
864
\begin{Definition}
865
\begin{align*}
866
A f(x) &:= f(A x),
867
\\
868
(A A') f & := A' \circ A f = A' (A f).
869
\end{align*}
870
\end{Definition}
871
Some references for the study of the general linear equivalence of Boolean functions
872
include Harrison \cite{Har64}, Comerford \cite{Com80}, and Maiorana \cite[Section 2]{Mai91}.
873
% \begin{frame}
874
\paragraph*{Extended translation equivalence.}
875
876
\begin{Definition}
877
For Boolean functions $f,g : \F_2^n \To \F_2$,
878
$f$ is \Emph{extended translation equivalent} to $g$ if and only if
879
\begin{align*}
880
g(x) &= f(x + b) + \langle c, x \rangle + \delta
881
\end{align*}
882
for $b, c \in \F_2^n$, $\delta \in \F_2$.
883
\end{Definition}
884
% \end{frame}
885
886
Thus $f$ is extended translation equivalent to $g$
887
if and only if $f$ and $g$ are in the same orbit
888
of the action of the \Emph{extended translation group} $ET(n, 2)$ on $\F_2^{\F_2^n}$, defined as follows.
889
890
\begin{Definition}
891
\begin{align*}
892
&ET(n, 2) := \{ (b,c,\delta) \mid \ b, c \in \F_2^n,\ \delta \in \F_2 \}
893
\intertext{with}
894
&(b,c,\delta)(b',c',\delta') := (b' + b, c + c', \langle c, b' \rangle + \delta + \delta'),
895
\end{align*}
896
with action
897
\begin{align*}
898
(b,c,\delta)f(x) &:= f(x + b) + \langle c, x \rangle + \delta,
899
\\
900
\left( (b,c,\delta)(b',c',\delta') \right) f
901
& := (b',c',\delta') \circ (b,c,\delta) f
902
\\
903
& = (b',c',\delta') \left( (b,c,\delta) f \right).
904
\end{align*}
905
\end{Definition}
906
907
%\slidecite{Tokareva 2014}
908
% \end{frame}
909
% \begin{frame}
910
\paragraph*{Cayley equivalence.}
911
\begin{Definition}
912
%
913
For Boolean functions $f, g : \F_2^n \To \F_2$, with $f(0)=g(0)=0$,
914
we call $f$ and $g$ \Emph{Cayley equivalent},
915
and write $f \equiv g$,
916
if and only if the graphs $\Cay{f}$ and $\Cay{g}$ are isomorphic.
917
918
Equivalently, $f \equiv g$ if and only if
919
there exists a bijection $\pi : \F_2^n \To \F_2^n$ such that
920
\begin{align*}
921
g(x+y) &= f \big(\pi(x)+\pi(y)\big) \quad \text{for all~} x,y \in \F_2^n.
922
\end{align*}
923
\end{Definition}
924
% \end{frame}
925
Remark: Note that the bijection $\pi$ is not necessarily linear on $\F_2^n$.
926
Examples of bent functions $f$ and $g$ where $f \equiv g$ but the bijection is not linear
927
are given in Section~\ref{sec-Empirical}.
928
% \begin{frame}
929
\paragraph*{Extended Cayley equivalence.}
930
%
931
While Bernasconi and Codenotti \cite{BerC99} define Cayley graphs for Boolean functions with
932
$f(0)=1$ and allow Cayley graphs to have loops, this paper defines Cayley
933
graphs only for Boolean functions where $f(0)=0$.
934
This has the disadvantage that Cayley equivalence is an equivalence relation on half
935
of the Boolean functions rather than all of them.
936
To extend this equivalence relation to all Boolean functions,
937
we just declare the functions $f$ and $f+1$ to be ``extended'' Cayley equivalent,
938
resulting in the following definition.
939
\begin{Definition}
940
For Boolean functions $f, g : \F_2^n \To \F_2$,
941
if there exist $\delta, \epsilon \in \{0,1\}$ such that $f + \delta \equiv g + \epsilon$,
942
we call $f$ and $g$ \Emph{extended Cayley (EC) equivalent} and write $f \cong g$.
943
\end{Definition}
944
Extended Cayley equivalence is thus an equivalence relation on the set of all Boolean functions on
945
$\F_2^n$.
946
It is easy to verify that $f \cong g$ if and only if $f+f(0) \equiv g+g(0)$.
947
948
% \end{frame}
949
950
% \begin{frame}
951
\subsection{Relationships between different concepts of equivalence}
952
%\section{Theoretical results}
953
%\label{sec-Results}
954
% \begin{frame}
955
956
% This section contains a number of theoretical results that serve a few purposes.
957
% Firstly,
958
As stated in the Introduction, in order to classify bent functions by their Cayley graphs,
959
it helps to understand the relationship between Cayley equivalence and other concepts of equivalence
960
of Boolean functions, especially if this helps to cut down the search space needed for the classification.
961
This section lists a few of these useful relationships.
962
963
% A similar consideration applies to the duals of bent functions.
964
% Secondly, some empirical observations made in the classification of bent functions in small
965
% dimensions can be explained by theoretical results.
966
% Thirdly, theoretical results can improve our understanding of the relationships between
967
% some of the concepts introduced in the previous section, notably dual bent functions, SDP designs,
968
% projective two-weight codes, and strongly regular graphs.
969
970
\paragraph*{General linear equivalence implies Cayley equivalence.}
971
972
Firstly, general linear equivalence of Boolean functions implies Cayley equivalence.
973
Specifically, the following result applies.
974
\begin{Theorem}
975
\label{th-Linear-Cayley}
976
If $f$ is a Boolean function with $f(0)=0$ and $g(x) := f(A x)$ where $A \in GL(n,2)$,
977
then $f \equiv g$.
978
\end{Theorem}
979
\begin{proof}
980
\begin{align*}
981
g(x+y) &= f\big(A(x+y)\big) = f(A x + A y)\quad \text{for all~} x,y \in \F_2^n.
982
\end{align*}
983
\end{proof}
984
Thus, for bent functions, the following result holds.
985
\begin{Corollary}
986
\label{corr-bent-Linear-Cayley}
987
If $f$ is bent with $f(0)=0$ and $g(x) := f(A x)$ where $A \in GL(n,2)$,
988
then $g$ is bent with $g(0)=0$ and $f \equiv g$.
989
\end{Corollary}
990
Thus if $f$ is bent with $f(0)=0$, and $g$ is bent with $g(0)=0$, and $f \not\equiv g$,
991
then $f$ is not general linear equivalent to $g$.
992
This result immediately leads to another corollary.
993
Here, and later in this paper, we make use of the following terminology.
994
\begin{Definition}
995
A Boolean function $f \colon \F_2^n \To \F_2$ is said to be \Emph{prolific} if
996
there is no pair $b, c \in \F_2^n$ with $g(x) = f(x+b) + \langle c, x \rangle + f(b)$ such that $f \cong g$.
997
Thus the number of extended Cayley classes in the extended translation class of a prolific Boolean function
998
is $4^n$.
999
\end{Definition}
1000
1001
\begin{Corollary}
1002
\label{corr-no-Cayley-no-Linear}
1003
If $f \colon \F^{2m} \To \F_2$ is bent with $f(0)=0$, and $f$ is prolific, then there is no triple
1004
$A \in GL(2m,2)$, $b, c \in \F_2^{2m}$ with $f(Ax) = f(x+b) + \langle c, x \rangle + f(b)$.
1005
\end{Corollary}
1006
1007
% \end{frame}
1008
1009
% \begin{frame}
1010
\paragraph*{Extended affine, translation, and Cayley equivalence.}
1011
1012
Secondly, if $f$ is a Boolean function,
1013
and $h$ is a Boolean function $h$ that is extended affine equivalent to $f$,
1014
then a Boolean function $g$ exists that is general linear equivalent to $h$
1015
and extended translation equivalent to $f$:
1016
\begin{Theorem}
1017
\label{th-Affine-Translate-Linear}
1018
For $A \in GL(n,2)$, $b, c \in \F_2^n$, $\delta \in \F_2$,
1019
$f : \F_2^n \To \F_2$,
1020
the function
1021
\begin{align*}
1022
h(x) &:= f(A x + b) + \langle c, x \rangle + \delta
1023
\intertext{can be expressed as $h(x) = g(A x)$ where}
1024
g(x) &:= f(x+b) + \langle (A^{-1})^T c, x \rangle + \delta.
1025
\end{align*}
1026
\end{Theorem}
1027
% \end{frame}
1028
\begin{proof}
1029
Let $y:= A x$. Then
1030
\begin{align*}
1031
g(A x) = g(y)
1032
&= f(y+b) + \langle (A^{-1})^T c, y \rangle + \delta
1033
\\
1034
&= f(y+b) + \langle c, A^{-1} y \rangle + \delta
1035
\\
1036
&= f(A x + b) + \langle c, x \rangle + \delta = h(x).
1037
\end{align*}
1038
\end{proof}
1039
1040
\begin{Corollary}
1041
\label{corr-Affine-Translate-Cayley}
1042
If $f$ is a bent Boolean function,
1043
and a bent function $h$ is extended affine equivalent to $f$,
1044
then a bent function $g$ can be found that is extended Cayley equivalent to $h$
1045
and extended translation equivalent to $f$.
1046
\end{Corollary}
1047
% \end{frame}
1048
\begin{proof}
1049
Let $f$, $g$, and $h$ be as per Theorem \ref{th-Affine-Translate-Linear}.
1050
If $f$ is bent, then so are $g$ and $h$.
1051
Since, by Theorem \ref{th-Affine-Translate-Linear}, $g$ is general linear equivalent to $h$,
1052
by Theorem \ref{th-Linear-Cayley}, $g$ is extended Cayley equivalent to $h$.
1053
\end{proof}
1054
1055
As a consequence, to determine which strongly regular graphs occur, corresponding to each
1056
extended Cayley equivalence classes within the extended affine
1057
equivalence class of a bent function $f : \F_2^{2m} \To \F_2$ with $f(0)=0$,
1058
we need only examine the extended translation equivalent functions of the form
1059
\begin{align*}
1060
f(x+b) + \langle c, x \rangle + f(b),
1061
\end{align*}
1062
for each $b, c \in \F_2^{2m}$.
1063
This cuts down the required search space considerably.
1064
1065
% \end{frame}
1066
1067
\paragraph*{Quadratic bent functions have only two extended Cayley classes.}
1068
Finally, in the case of quadratic bent functions, there is a complete classification in terms of
1069
weight classes.
1070
\begin{Theorem}
1071
\label{th-Quadratic-Classes}
1072
For each $m>0$, the extended affine equivalence class of quadratic bent functions
1073
$q : \F_2^{2m} \To \F_2$ contains exactly two extended Cayley equivalence classes,
1074
corresponding to the two possible weight classes of
1075
$x \mapsto q(x+b) + \langle c, x \rangle + q(b)$.
1076
\end{Theorem}
1077
1078
The proof of this theorem is given in Appendix~\ref{app-proof-of}.
1079
1080
\subsection{Relationships between duality of bent functions and different concepts of equivalence}
1081
1082
The following propositions are based on well known results,
1083
but are useful in understanding the relationship
1084
between the duality of bent functions and various concepts of equivalence.
1085
% \begin{frame}
1086
%\subsection{Dual functions}
1087
1088
Firstly, general linear equivalence of bent functions $f$ and $g$
1089
implies general linear equivalence of their duals, $\dual{f}$ and $\dual{g}$,
1090
which implies Cayley equivalence of $\dual{f}$ and $\dual{g}$.
1091
\begin{Proposition}
1092
\label{prop-dual-linear-equivalence}
1093
\cite[Remark 6.2.7]{Dil74}
1094
1095
For a bent function $f : \F_2^{2m} \To \F_2$, and $A \in GL(2 m, 2)$, if
1096
\begin{align*}
1097
g(x) &:= f(A x)
1098
\intertext{then}
1099
\dual{g}(x) &= \dual{f}\big((A^T)^{-1} x \big),
1100
\end{align*}
1101
and therefore by Theorem \ref{th-Linear-Cayley}, $\dual{g} \equiv \dual{f}$.
1102
1103
If, in addition, $f=\dual{f}$ then $\dual{g} \equiv g$.
1104
\end{Proposition}
1105
1106
Remark: Functions of the form
1107
\begin{align*}
1108
f(x) := \sum_{k=0}^{m-1} x_{2k} x_{2k+1}
1109
\end{align*}
1110
are self dual bent functions, $f=\dual{f}$ \cite[Remark 6.3.2]{Dil74}.
1111
There are many other self dual bent functions \cite{CarDPS10self,FeuSSW2013}.
1112
1113
Secondly, the following proposition displays a relationship between the extended translation
1114
class of a bent function $f$, and that of its dual $\dual{f}$.
1115
\begin{Proposition}
1116
\label{prop-dual-affine-equivalence}
1117
\cite[Remark 6.2.7]{Dil74} \cite[Proposition 8.7]{Car10boolean}.
1118
%\smallcite{Carlet 2007, Proposition 4}
1119
%
1120
%~
1121
1122
For a bent function $f$ on $\F_2^{2m}$, and $b,c \in \F_2^{2m}$,
1123
if
1124
\begin{align*}
1125
g(x) &:= f(x+b) + \langle c, x \rangle
1126
\intertext{then}
1127
\dual{g}(x) &= \dual{f}(x+c) + \langle b, x \rangle + \langle b, c \rangle.
1128
\end{align*}
1129
\end{Proposition}
1130
1131
This result has an implication for the relationship between the set of bent functions within
1132
an extended translation (ET) equivalence class, and the set of their duals.
1133
Recall that a bent function is not necessarily extended affine (EA) equivalent to its dual
1134
\cite{LanLM08Kasami}.
1135
The following ``all or nothing'' property holds within an extended translation equivalence class of bent functions.
1136
\begin{Corollary}
1137
\label{cor-dual-ET-EC}
1138
For bent functions $f, g$ on $\F_2^{2m}$,
1139
if $f$ is EA equivalent to $\dual{f}$ and $g$ is ET equivalent to $f$,
1140
then $\dual{g}$ is EA equivalent to $g$.
1141
Thus, by Corollary~\ref{corr-Affine-Translate-Cayley},
1142
the set of isomorphism classes of Cayley graphs of the \Emph{duals} of the bent functions in
1143
the ET class of $f$ equals the set of isomorphism classes of Cayley graphs of
1144
the bent functions themselves.
1145
1146
Conversely, for a bent function $f$ on $\F_2^{2m}$,
1147
if there is any bent function $g$ that is ET equivalent to $f$,
1148
such that $\dual{g}$ is not EA equivalent to $g$, then no bent function in the ET class is EA
1149
equivalent to its dual, including $f$ itself.
1150
\end{Corollary}
1151
1152
% \begin{frame}
1153
1154
% \begin{frame}
1155
\section{Bent functions and block designs}
1156
\label{sec-Bent-designs}
1157
% \begin{frame}
1158
%\subsection{Weight classes, dual functions, and SDP designs}
1159
1160
This section examines the relationships between bent functions and symmetric block designs.
1161
1162
% \end{frame}
1163
1164
% \end{frame}
1165
% \begin{frame}
1166
%\subsection{Dual functions}
1167
1168
%~
1169
%
1170
%\slidecite{Carlet, Danielson, Parker and Sol\'e 2008; Feulner, Sok, Sol\'e and Wassermann 2011} %
1171
%FeuSSW2013
1172
% \end{frame}
1173
\subsection{The two block designs of a bent function}
1174
1175
The first block design of a bent function $f$ on $\F_2^{2m}$ is obtained by interpreting
1176
the adjacency matrix of $\Cay{f}$ as the incidence matrix of a block design.
1177
In this case we do not need $f(0)=0$ \cite[p. 160]{DilS87block}.
1178
1179
The second block design of a bent function $f$ involves the
1180
\Emph{symmetric difference property}, which was first investigated by Kantor
1181
\cite[Section 5]{Kan75symplectic}.
1182
\begin{Definition}
1183
\label{def-Symmetric-difference-property}
1184
\cite[p. 49]{Kan75symplectic}.
1185
1186
A symmetric block design $\mathcal{D}$ has the symmetric difference property (SDP)
1187
if, for any three blocks, $B, C, D$ of $\mathcal{D},$ the symmetric difference
1188
$B \bigtriangleup C \bigtriangleup D$ is either a block or the complement of a block.
1189
\end{Definition}
1190
1191
This second block design is defined as follows.
1192
\begin{Definition}
1193
\label{def-SDP-design}
1194
For a bent function $f$ on $\F_2^{2m}$, define the matrix $M_D(f) \in \F_2^{2^{2m} \times 2^{2m}}$ where
1195
\begin{align}
1196
M_D(f)_{c,x} &:= f(x) + \langle c, x \rangle + \dual{f}(c),
1197
\label{D-f-def}
1198
\end{align}
1199
and use it as the incidence matrix of a symmetric block design, which
1200
we call it the \emph{SDP design} of $f$.
1201
\end{Definition}
1202
1203
Kantor describes the special case where $f$ is quadratic
1204
\cite[Section 5]{Kan75symplectic},
1205
and Dillon and Schatz \cite{DilS87block} describe the general case.
1206
See also Cameron and van Lint \cite[pp. 77-78 and Ex. 13, p. 152]{CamVL91}.
1207
1208
The following properties of SDP designs of bent functions are well known.
1209
\begin{Proposition}
1210
\label{prop-SDP-design}
1211
\cite[p. 160]{DilS87block} \cite[Theorem 3.29]{Neu06bent}
1212
1213
For any bent function $f$ on $\F_2^{2m}$, the SDP design of $f$ has the symmetric difference property.
1214
\end{Proposition}
1215
1216
\begin{Proposition}
1217
\label{prop-SDP-design-affine-equivalence}
1218
\cite[p. 161]{DilS87block} \cite{Kan83exponential}
1219
1220
For bent functions $f, g$ on $\F_2^{2m}$,
1221
the two SDP designs $D(f)$ and $D(g)$ are isomorphic as symmetric block designs
1222
if and only if $f$ and $g$ are affine equivalent.
1223
\end{Proposition}
1224
1225
%
1226
%~
1227
%
1228
%\slidecite{Dillon and Schatz 1987; Neumann 2006}
1229
% \end{frame}
1230
1231
% \begin{frame}
1232
\paragraph*{Weight classes and the SDP design matrix.}
1233
1234
%With Lemma~\ref{lm-notes-9b} in hand, it is easy to prove Lemma~\ref{lm-SDP-design-rows} on
1235
%the equivalence of the definitions of the SDP design of a bent function $f$ on $Z_2^{2m}$.
1236
1237
Definition~\ref{def-SDP-design} is different from
1238
but equivalent to the one given by Dillon and Schatz \cite[p. 160]{DilS87block}:
1239
\begin{Lemma}
1240
\label{lm-SDP-design-rows}
1241
\cite[3.29]{Neu06bent}
1242
1243
For any bent function $f$ on $\F_2^{2m}$, the rows of the incidence matrix $M_D(f)$
1244
are given by the words of minimum weight in the code spanned by the support of $f$ and the Reed-Muller code $RM(1,2m)$.
1245
\end{Lemma}
1246
(Here we have used an ordering of the elements of $\F_2^{2m}$ to define an ordering of the columns of the incidence matrix.)
1247
1248
%The proof of Lemma~\ref{lm-SDP-design-rows} is deferred to Section~\ref{sec-Results}.
1249
1250
%\begin{proofof}{Lemma~\ref{lm-SDP-design-rows}}
1251
\begin{proof}
1252
Firstly, as mentioned in Section \ref{sec-Boolean-functions},
1253
the Reed-Muller code $RM(1,2m)$ consists of the words spanned by the affine functions on $Z_2^{2m}$.
1254
Thus, the incidence matrix $M_{RM(1,2m)}$ is defined by
1255
\begin{align*}
1256
{M_{RM(1,2m)}}_{c,x} &:= \langle c, x \rangle + d,
1257
\end{align*}
1258
where $d \in \F_2$.
1259
1260
Therefore the incidence matrix of the code spanned by the support of $f$ and $RM(1,2m)$ is defined by
1261
\begin{align*}
1262
{M_{f,RM(1,2m)}}_{c,x} &:= f(x) + \langle c, x \rangle + d.
1263
\end{align*}
1264
Finally, from Lemma~\ref{lm-notes-9b} we know that
1265
\begin{align*}
1266
\weightclass{x \mapsto f(x) + \langle c, x \rangle}
1267
&=
1268
\dual{f}(c),
1269
\intertext{so that}
1270
\weightclass{x \mapsto f(x) + \langle c, x \rangle + \dual{f}(c)}
1271
&=
1272
0.
1273
\end{align*}
1274
%\end{proofof}
1275
\end{proof}
1276
1277
The following characterization of the SDP design of a bent function $f$ also relies on
1278
Lemma~\ref{lm-notes-9b} for its proof.
1279
We first define the matrix of weight classes corresponding to the extended translation class of $f$.
1280
\begin{Definition}
1281
\label{def-weight-class-matrix}
1282
1283
For a bent function $f : \F_2^{2m} \To \F_2$,
1284
define the \Emph{weight class matrix} of $f$ by
1285
\begin{align*}
1286
M_{wc}(f)_{c,b}
1287
&:=
1288
\weightclass{x \mapsto f(x+b) + \langle c, x \rangle + f(b)}
1289
\end{align*}
1290
for $b,c \in \F_2^{2m}$.
1291
\end{Definition}
1292
1293
\begin{Theorem}
1294
\label{th-Dillon-Schatz}
1295
The weight class matrix of $f$ as given by Definition~\ref{def-weight-class-matrix}
1296
equals the incidence matrix of the SDP design of $f$.
1297
Specifically,
1298
\begin{align*}
1299
M_{wc}(f)_{c,b}
1300
&=
1301
f(b) + \langle c, b \rangle + \dual{f}(c)
1302
\\
1303
&=
1304
M_D(f)_{c,b},
1305
\end{align*}
1306
where $M_D(f)$ is defined by \eqref{D-f-def}.
1307
\end{Theorem}
1308
1309
\begin{proof}
1310
Let $g(x) := f(x+b) + \langle c, x \rangle + f(b)$.
1311
Then by change of variable $y:=x+b$,
1312
\begin{align*}
1313
\weightclass{g}
1314
&=
1315
\weightclass{y \mapsto f(y) + \langle c, y \rangle + \langle c, b \rangle + f(b)}
1316
\\
1317
&=
1318
\weightclass{y \mapsto f(y) + \langle c, y \rangle} + \langle c, b \rangle + f(b)
1319
\\
1320
&=
1321
\dual{f}(c) + \langle c, b \rangle + f(b),
1322
\end{align*}
1323
as a consequence of Lemma~\ref{lm-notes-9b}.
1324
\end{proof}
1325
1326
1327
%\newpage
1328
\section{SageMath and CoCalc code}
1329
\label{sec-Code}
1330
% \begin{frame}[fragile]
1331
%\subsection{Public worksheet on CoCalc}
1332
The computational results listed in this paper were obtained by the
1333
use of code written in Sage \cite{JoyEtAl13Sage} \cite{SageMath7517} and Python.
1334
This code base is called \texttt{Boolean-Cayley-graphs} and it is available both as a GitHub
1335
repository \cite{Leo16GitHub} and as a public CoCalc \cite{CoCalc} folder
1336
\cite{Leo17CoCalc}.
1337
1338
For an introduction to other aspects of coding theory and cryptography in Sage,
1339
see the article by Joyner et al. \cite{JoyEtAl13Sage}.
1340
1341
\paragraph*{Description of the Sage code.}
1342
1343
This section contains a brief description of some of the code included in
1344
\texttt{Boolean-Cayley-graphs}.
1345
More detailed documentation is being developed and this is intended to be included as part of the code base.
1346
The code itself is subject to review and revision, and may change as a result of the advice of
1347
those more experienced with Sage code.
1348
The description in this section applies to the code base as it exists in January 2018.
1349
1350
The code base is structured as a set of Sage script files. % in the \texttt{sage-code} subdirectory.
1351
These in turn use Python scripts, found in a subdirectory called \texttt{Boolean\_Cayley\_graphs}.
1352
% of \texttt{sage-code}.
1353
1354
The Python code is used to define a number of useful Python classes.
1355
The key class is \texttt{BentFunctionCayleyGraphClassification}.
1356
This class is used to store the classification of Cayley graphs within the extended translation
1357
class of a given bent function $f$, as well as the classification of Cayley graphs of the duals of
1358
each function in the extended translation class.
1359
1360
The class therefore contains the algebraic normal form of the given bent function
1361
%(as attribute \texttt{algebraic\_normal\_form}),
1362
a list of graphs
1363
%(\texttt{cayley\_graph\_class\_list})
1364
stored as strings obtained via the \texttt{graph6\_string} \cite{McKP13nauty}
1365
method of the \texttt{Graph} class, and two matrices,
1366
%(\texttt{bent\_cayley\_graph\_index\_matrix} and \texttt{bent\_cayley\_graph\_index\_matrix})
1367
used to store the list indices corresponding to
1368
the Cayley graph for each bent function in the extended translation class, and the dual of each bent
1369
function, respectively.
1370
The class also contains the weight class matrix
1371
%(\texttt{weight\_class\_matrix})
1372
corresponding to the given bent function.
1373
1374
The class is initialized by enumerating the bent functions of the form
1375
$x \mapsto f(x+b) + \langle c, x \rangle + f(b)$,
1376
and determining the Cayley graph of each.
1377
For each Cayley graph, the \texttt{Graph} method \texttt{canonical\_label} is used
1378
to invoke the Bliss package \cite{JunK07Bliss,JunK11conflict} to calculate the canonical label
1379
of the graph, and then \texttt{graph6\_string} is used to obtain a string.
1380
Each new graph is compared for isomorphism to each of the graphs in the current list,
1381
by simply comparing the string against each of the existing strings.
1382
If the new graph is not isomorphic to any existing graph, it is added to the list.
1383
Each list of pairwise non-isomorphic graphs can be checked by a function called \texttt{check\_graph\_class\_list}
1384
which uses the Nauty package to check the non-isomorphism \cite{McKP13nauty,McKP14practical}.
1385
1386
It is the efficiency of the Bliss canonical labelling algorithm, and the speed of its implementation, that makes this approach feasible.
1387
Even so, for an 8 dimensional bent function, the initialization of its Cayley graph classification
1388
can take more than 24 hours on an Intel\textregistered Core\texttrademark i7 CPU 870 running at 2.93 GHz.
1389
For this reason, each computed classification is saved, and a class method (\texttt{load\_mangled})
1390
is provided to load existing saved classifications.
1391
1392
% \end{frame}
1393
\paragraph*{History of the Sage code.}
1394
1395
The Sage code originated in 2015 as a series of worksheets on Sage\-Math\-Cloud (now CoCalc).
1396
While these were useful for investigating extended Cayley classes for bent functions in up to 6 dimensions,
1397
they were too slow to use for bent functions in 8 dimensions.
1398
1399
The \texttt{Boolean-Cayley-graphs} GitHub project \cite{Leo16GitHub} and public Sage\-Math\-Cloud folder \cite{Leo17CoCalc} were begun in 2016
1400
with the intention of refactoring the code to make it fast enough to use for bent functions in 8 dimensions
1401
up to degree 3.
1402
The use of canonical labelling made this possible.
1403
1404
Further improvements were made in 2017 to enable the classification of any bent function in 8 dimensions or less
1405
to be computed in a reasonable time on a commodity personal computer.
1406
In late 2017, code was added so that the Cayley graph classifications could be accessed via a relational database \cite{Leo18Database},
1407
with implementations using SQLite3 \cite{SQLite} and PostgreSQL \cite{PostgreSQL}.
1408
Also, parallel versions of the classification functions were written using MPI4Py,
1409
and used on the NCI Raijin supercomputer to complete the classifications for CAST-128 and compute
1410
the classifications of the $\mathcal{PS}^{(+)}$ bent functions in 8 dimensions.
1411
1412
In 2018, the code was continually improved, and computation of the
1413
classifications of the $\mathcal{PS}^{(+)}$ bent functions in 8 dimensions was begun.
1414
1415
% \begin{itemize}
1416
% \item 2015-04 to 2015-05 CoCalc: Cliques-Automorphisms project starts looking at Cayley
1417
% classes for bent functions of dimension up to 6, using BooleanFunction and \verb!is_isomorphic()!.
1418
% \item 2015-12 CoCalc: Cliques-Automorphisms project
1419
% worksheets produced initial results used in the ACCMCC presentation.
1420
% The worksheets were too slow to effectively tackle bent functions in 8 dimensions.
1421
% \item 2016-07 SageMath: Downloaded Sage and began refactoring worksheets into Sage code.
1422
% \item 2016-08 GitHub: Uploaded refactored Sage code to new Boolean-Cayley-graphs project.
1423
% \item 2016-08 SageMath: Began using canonical labels rather than directly testing for isomorphism
1424
% between Cayley graphs.
1425
% Canonical labelling uses the Bliss algorithm, speeding up computation in comparison to the default
1426
% Sage algorithm,
1427
% and allows comparison between graphs using equality of canonically labelled graphs rather than
1428
% isomorphism, also giving a speed boost.
1429
% This finally made it feasible to check bent functions in 8 dimensions up to degree 3.
1430
% \item 2016-09 SageMath: Changed many Sage code files into Python modules.
1431
% Introduced a BentFunction class.
1432
% \item 2016-11 SageMath: \verb!check_graphs_using_gap!
1433
% \end{itemize}
1434
%\newpage
1435
\section{Discussion}
1436
\label{sec-Discussion}
1437
% \begin{frame}
1438
%\subsection{Questions (1)}
1439
The investigation of the extended Cayley classes of bent functions is just beginning, and there are many open questions.
1440
This section lists some of these questions.
1441
1442
The following questions have been settled only for dimensions 2, 4 and 6.
1443
\begin{enumerate}
1444
\item
1445
How many extended Cayley classes are there for each dimension?
1446
Are there ``Exponential numbers'' of classes \cite{Kan83exponential}?
1447
\item
1448
In $n$ dimensions,
1449
which extended translation classes contain the maximum number, $4^n$, of different extended Cayley classes?
1450
\item
1451
Which extended Cayley classes overlap more than one extended translation class?
1452
\item
1453
Which bent functions are Cayley equivalent to their dual?
1454
\end{enumerate}
1455
1456
In dimension 8, what are the extended affine and extended Cayley classes of bent functions of degree 4 \cite{LanL11counting}?
1457
1458
Finally, how does the concept of extended Cayley classes of bent functions generalize to bent functions
1459
over number fields of prime order $p \neq 2$ \cite{CheTZ11}?
1460
1461
% \slidecite{Kantor 1983; Jungnickel and Tonchev 1991; Langevin and Leander 2008, 2011}
1462
% \end{frame}
1463
1464
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1465
1466
\paragraph*{Acknowledgements.}
1467
%\small{}
1468
This work was begun in 2014 while the author was a Visiting Fellow at the Australian National University,
1469
continued while the author was a Visiting Fellow and a Casual Academic at the University of Newcastle, Australia,
1470
and concluded while the author was an Honorary Fellow at the University of Melbourne,
1471
and an employee of the Bureau of Meteorology.
1472
1473
Thanks to Christine Leopardi for her hospitality at Long Beach.
1474
Thanks to
1475
Robert Craigen,
1476
Joanne Hall,
1477
Kathy Horadam,
1478
David Joyner,
1479
Philippe Langevin,
1480
William Martin,
1481
Padraig {\'O} Cath{\'a}in,
1482
Judy-anne Osborn,
1483
Dima Pasechnik and
1484
William Stein
1485
for valuable questions, discussions and advice;
1486
David Joyner and Caroline Melles for suggestions for improvements based on the first draft of this paper;
1487
Nathan Clisby, for the opportunity to become an Honorary Fellow at the University of Melbourne;
1488
Kodlu, a member of MathOverflow, for asking Philippe Langevin about the affine classification
1489
of bent functions of degree 4 in 8 dimensions;
1490
Gray Chan for a citation tool for IETF RFCs;
1491
and finally, thanks to the authors of SageMath, Bliss, and Nauty for these valuable tools
1492
without which I would not have been able to conduct this research.
1493
%\normalsize{}
1494
%Thanks also to the anonymous reviewer of the previous draft of this paper.
1495
1496
\newpage
1497
1498
\appendix
1499
1500
\section{Proof of Theorem \ref{th-Quadratic-Classes}}
1501
\label{app-proof-of}
1502
1503
The proof of Theorem \ref{th-Quadratic-Classes} relies on a number of supporting lemmas,
1504
which are stated and proved here.
1505
\begin{Lemma}
1506
\label{lm-notes-5}
1507
Let $q(x) := x^T L x$ where $L \in \F_2^{2 m \times 2 m}$,
1508
\begin{align*}
1509
L
1510
&:=
1511
\left[
1512
\begin{array}{cc}
1513
0 & I
1514
\\
1515
0 & 0
1516
\end{array}
1517
\right],
1518
\intertext{so that}
1519
q(x) &= \sum_{k=0}^{m-1} x_k x_{m+k}.
1520
\end{align*}
1521
1522
Let $f(x) := q(x+b) + \langle c,x \rangle + q(b)$.
1523
Then there exists $c' \in \F_2^{2m}$ such that
1524
\begin{align*}
1525
f(x)
1526
&=
1527
q(x) + \langle c',x \rangle.
1528
\end{align*}
1529
1530
\end{Lemma}
1531
1532
\begin{proof}
1533
\begin{align*}
1534
q(x) = x^T L x, \quad \text{so~}
1535
q(x+b)
1536
&=
1537
(x^T+b^T) L (x+b)
1538
\\
1539
&= q(x) + x^T L b + b^T L x + q(b)
1540
\\
1541
&= q(x) + \langle (L + L^T) b, x \rangle + q(b),
1542
\intertext{and therefore}
1543
q(x+b) + \langle c, x \rangle + q(b)
1544
&=
1545
q(x) + \langle (L+L^T) b + c, x \rangle.
1546
\end{align*}
1547
1548
\end{proof}
1549
1550
\begin{Lemma}
1551
\label{lm-notes-3}
1552
Let $Z \in \F_2^{2 m \times 2 m}$ be symmetric with zero diagonal.
1553
In other words, $Z = Z^T$, $\diag{Z} = 0$.
1554
Then for any $M \in \F_2^{2 m \times 2 m}$,
1555
\begin{align*}
1556
x^T (M + Z) x &= x^T M x
1557
\end{align*}
1558
for all $x \in \F_2^{2 m}$.
1559
\end{Lemma}
1560
1561
\begin{proof}
1562
Let $Z$, $x$ be as above.
1563
Then
1564
\begin{align*}
1565
x^T Z x
1566
&=
1567
\sum_{i=0}^{2m-1} \sum_{j=0}^{2m-1} x_i Z_{i,j} x_j
1568
\\
1569
&=
1570
\sum_{i=0}^{2m-1} \sum_{j<i} x_i Z_{i,j} x_j\, +
1571
\sum_{i=0}^{2m-1} x_i Z_{i,i} x_i\, +
1572
\sum_{i=0}^{2m-1} \sum_{j>i} x_i Z_{i,j} x_j
1573
\\
1574
&=
1575
\sum_{i=0}^{2m-1} \sum_{j<i} x_i (Z_{i,j} + Z_{j,i})
1576
= 0.
1577
\intertext{Therefore}
1578
x^T (M + Z) x &= x^T M x + x^T Z x = x^T M x.
1579
\end{align*}
1580
\end{proof}
1581
1582
\begin{Lemma}
1583
\label{lm-notes-4}
1584
Let $q$ be defined as per Lemma \ref{lm-notes-5}.
1585
Then for all $c \in Z_2^{2 m}$ with $q(c)=0$, there exists $A \in GL(2 m, 2)$ such that
1586
\begin{align*}
1587
q(A x) &= q(x) + \langle c, x \rangle.
1588
\end{align*}
1589
\end{Lemma}
1590
1591
\begin{proof}
1592
Let $C \in \F_2^{2 m \times 2 m}$ be such that $C_{i,j} = \delta_{i,j} c_i$, where $\delta$ is the
1593
\Emph{Dirac delta}: $\delta_{i,j}=1$ if $i=j$ and $0$ otherwise.
1594
In other words $\diag{C} = c$.
1595
Then
1596
\begin{align*}
1597
\langle c, x \rangle
1598
&=
1599
\sum_{i=0}^{2m-1} c_i x_i
1600
\\
1601
&=
1602
\sum_{i=0}^{2m-1} x_i c_i x_i
1603
=
1604
x^T C x.
1605
\end{align*}
1606
Therefore, by Lemma \ref{lm-notes-3},
1607
\begin{align*}
1608
q(x) + \langle c, x \rangle
1609
&=
1610
x^T (L + Z + C) x,
1611
\end{align*}
1612
where $Z \in \F_2^{2 m \times 2 m}$ is symmetric with zero diagonal.
1613
1614
For such $Z$, let $S := Z + C$.
1615
We want to find $A \in \F_2^{2 m \times 2 m}$ such that $q(A x) = q(x) + \langle c, x \rangle.$
1616
In other words,
1617
\begin{align*}
1618
q(A x)
1619
&=
1620
(A x)^T L (A x)
1621
=
1622
x^T A^T L A x
1623
=
1624
x^T (L + S) x.
1625
\end{align*}
1626
This will be true if $A^T L A = L + S.$
1627
1628
Let
1629
\begin{align*}
1630
A
1631
&:=
1632
\left[
1633
\begin{array}{cc}
1634
A_{0,0} & A_{0,1}
1635
\\
1636
A_{1,0} & A_{1,1}
1637
\end{array}
1638
\right],
1639
\quad
1640
S
1641
&:=
1642
\left[
1643
\begin{array}{cc}
1644
S_{0,0} & S_{0,1}
1645
\\
1646
S_{0,1}^T & S_{1,1}
1647
\end{array}
1648
\right]
1649
=:
1650
\left[
1651
\begin{array}{cc}
1652
Z_{0,0} + C_{0,0} & Z_{0,1}
1653
\\
1654
Z_{0,1}^T & Z_{1,1} + C_{1,1}
1655
\end{array}
1656
\right].
1657
\end{align*}
1658
Since
1659
\begin{align*}
1660
L A
1661
&=
1662
\left[
1663
\begin{array}{cc}
1664
0 & I
1665
\\
1666
0 & 0
1667
\end{array}
1668
\right]
1669
\left[
1670
\begin{array}{cc}
1671
A_{0,0} & A_{0,1}
1672
\\
1673
A_{1,0} & A_{1,1}
1674
\end{array}
1675
\right]
1676
=
1677
\left[
1678
\begin{array}{cc}
1679
A_{1,0} & A_{1,1}
1680
\\
1681
0 & 0
1682
\end{array}
1683
\right],
1684
\end{align*}
1685
we require that
1686
\begin{align*}
1687
A^T L A
1688
&=
1689
\left[
1690
\begin{array}{cc}
1691
A_{0,0} & A_{1,0}
1692
\\
1693
A_{0,1} & A_{1,1}
1694
\end{array}
1695
\right]
1696
\left[
1697
\begin{array}{cc}
1698
A_{1,0} & A_{1,1}
1699
\\
1700
0 & 0
1701
\end{array}
1702
\right]
1703
\\
1704
&=
1705
\left[
1706
\begin{array}{cc}
1707
A_{0,0}^T A_{1,0} & A_{0,0}^T A_{1,1}
1708
\\
1709
A_{0,1}^T A_{1,0} & A_{0,1}^T A_{1,1}
1710
\end{array}
1711
\right]
1712
\\
1713
&=
1714
L + S
1715
=
1716
\left[
1717
\begin{array}{cc}
1718
S_{0,0} & I + S_{0,1}
1719
\\
1720
S_{0,1}^T & S_{1,1}
1721
\end{array}
1722
\right],
1723
\end{align*}
1724
and therefore
1725
\begin{align*}
1726
A_{0,0}^T A_{1,0}
1727
&=
1728
S_{0,0},
1729
\quad
1730
A_{0,0}^T A_{1,1}
1731
=
1732
I + S_{0,1},
1733
\\
1734
A_{0,1}^T A_{1,0}
1735
&=
1736
S_{0,1}^T,
1737
\quad
1738
A_{0,1}^T A_{1,1}
1739
=
1740
S_{1,1}.
1741
\end{align*}
1742
If $S_{0,1}=0$ and $A_{0,0}=I$ then
1743
$A_{1,0}=S_{0,0}$, $A_{1,1}=I$ and $A_{0,1}=S_{1,1}$.
1744
In this case, we have $A_{0,1}^T A_{1,0} = S_{0,1}^T = 0$,
1745
i.e. $S_{1,1} S_{0,0} = 0$, and
1746
\begin{align*}
1747
A
1748
&=
1749
\left[
1750
\begin{array}{cc}
1751
I & S_{1,1}
1752
\\
1753
S_{0,0} & I
1754
\end{array}
1755
\right],
1756
\intertext{so that}
1757
A^T L A
1758
&=
1759
\left[
1760
\begin{array}{cc}
1761
I & S_{0,0}
1762
\\
1763
S_{1,1} & I
1764
\end{array}
1765
\right]
1766
\left[
1767
\begin{array}{cc}
1768
S_{0,0} & I
1769
\\
1770
0 & 0
1771
\end{array}
1772
\right]
1773
\\
1774
&=
1775
\left[
1776
\begin{array}{cc}
1777
S_{0,0} & I
1778
\\
1779
0 & S_{1,1}
1780
\end{array}
1781
\right]
1782
\\
1783
&=
1784
L + S.
1785
\end{align*}
1786
1787
Also
1788
\begin{align*}
1789
S
1790
&=
1791
\left[
1792
\begin{array}{cc}
1793
Z_{0,0} + C_{0,0} & 0
1794
\\
1795
0 & Z_{1,1} + C_{1,1}
1796
\end{array}
1797
\right].
1798
\end{align*}
1799
1800
Since $q(c)=0$ we have
1801
\begin{align*}
1802
q(c)
1803
&=
1804
\sum_{k=0}^{m-1} c_k c_{m+k}
1805
=
1806
0.
1807
\end{align*}
1808
Let $K := \{ k \mid c_k c_{m+k} = 1 \}$.
1809
Then we must have $\abs{K} = 2 r$ for some integer $r \geqslant 0$, i.e. $\abs{K}$ is even.
1810
We therefore arbitrarily group the elements of $K$ into pairs $(i_p, j_p)$ for $p=0,\ldots,r-1$,
1811
and define the matrix $T \in \F_2^{m \times m}$ by
1812
\begin{align*}
1813
T_{i,j}
1814
&:=
1815
\sum_{p=0}^{r-1} (\delta_{i,i_p} \delta_{j,j_p} + \delta_{i,j_p} \delta_{j,i_p}),
1816
\end{align*}
1817
so that
1818
\begin{align*}
1819
\begin{cases}
1820
T_{i_p,j_p}
1821
=
1822
T_{j_p,i_p}
1823
=
1824
1
1825
&\text{for~} p \in \{0,\ldots,r-1\},
1826
\\
1827
T_{i,j} = 0
1828
&\text{otherwise.}
1829
\end{cases}
1830
\end{align*}
1831
Since the $r$ pairs $(i_p, j_p)$ partition the set $K$,
1832
the matrix $T$ has at most one non-zero in each row and column.
1833
1834
Recalling that
1835
\begin{align*}
1836
(T^2)_{i,j}
1837
&=
1838
\sum_{k=0}^{m-1} T_{i,k} T_{k,j},
1839
\end{align*}
1840
we see that the general term $T_{i,k} T_{k,j}$ of this sum is non-zero only if either
1841
\begin{align*}
1842
\begin{cases}
1843
i = j = i_p,&\text{and}\ k=j_p,\ \text{or}
1844
\\
1845
i = j = j_p,&\text{and}\ k=i_p,
1846
\end{cases}
1847
\end{align*}
1848
for some $p \in \{0,\ldots,r-1\}$, with all $2r$ of these cases being mutually exclusive.
1849
So $T^2$ is diagonal with $2r$ non-zeros at the elements of $K$.
1850
1851
But $C_{1,1} C_{0,0}$ is diagonal, and $(C_{1,1} C_{0,0})_{i,i} = c_{m+i} c_i$.
1852
Therefore
1853
\begin{align}
1854
T^2 &= C_{1,1} C_{0,0}.
1855
\label{eq-t-2}
1856
\end{align}
1857
1858
Now, let $Z_{0,0}=Z_{1,1}=T$. Then $S_{0,0} = T + C_{0,0}$, $S_{1,1} = T + C_{1,1}$, and
1859
\begin{align*}
1860
S_{1,1} S_{0,0}
1861
&=
1862
(T + C_{1,1})(T + C_{0,0})
1863
=
1864
T^2 + T C_{0,0} + C_{1,1} T + C_{1,1} C_{0,0}
1865
\\
1866
&=
1867
T C_{0,0} + C_{1,1} T,
1868
\end{align*}
1869
where in the last step, we have used \eqref{eq-t-2}.
1870
1871
Now,
1872
\begin{align*}
1873
(T C_{0,0} + C_{1,1} T)_{i,j}
1874
&=
1875
\sum_{k=0}^{m-1} T_{i,k} (C_{0,0})_{k,j} + (C_{1,1})_{i,k} T_{k,j}
1876
\\
1877
&=
1878
T_{i,j} (C_{0,0})_{j,j} + (C_{1,1})_{i,i} T_{i,j}
1879
\\
1880
&=
1881
T_{i,j} \left( c_j + c_{m+i} \right).
1882
\end{align*}
1883
As above, $T_{i,j}$ is non-zero only when $(i,j)=(i_p,j_p)$ or $(i,j)=(j_p,i_p)$
1884
for some $p \in \{0,\ldots,r-1\}$, but in all those cases $c_j=c_{m+j}=1$.
1885
1886
Therefore
1887
\begin{align*}
1888
S_{1,1} S_{0,0} &= T C_{0,0} + C_{1,1} T = 0.
1889
\end{align*}
1890
Similarly, $S_{0,0} S_{1,1} = 0$, and therefore
1891
\begin{align*}
1892
A^2
1893
&=
1894
\left[
1895
\begin{array}{cc}
1896
I & S_{1,1}
1897
\\
1898
S_{0,0} & I
1899
\end{array}
1900
\right]
1901
\left[
1902
\begin{array}{cc}
1903
I & S_{1,1}
1904
\\
1905
S_{0,0} & I
1906
\end{array}
1907
\right]
1908
\\
1909
&=
1910
\left[
1911
\begin{array}{cc}
1912
I + S_{1,1} S_{0,0} & S_{1,1} + S_{1,1}
1913
\\
1914
S_{0,0} + S_{0,0} & I + S_{0,0} S_{1,1}
1915
\end{array}
1916
\right]
1917
=
1918
\left[
1919
\begin{array}{cc}
1920
I & 0
1921
\\
1922
0 & I
1923
\end{array}
1924
\right].
1925
\end{align*}
1926
1927
We have therefore shown that
1928
\begin{align}
1929
A
1930
&:=
1931
\left[
1932
\begin{array}{cc}
1933
I & T + C_{1,1}
1934
\\
1935
T + C_{0,0} & I
1936
\end{array}
1937
\right],
1938
\quad
1939
S
1940
:=
1941
\left[
1942
\begin{array}{cc}
1943
T + C_{0,0} & 0
1944
\\
1945
0 & T + C_{1,1}
1946
\end{array}
1947
\right]
1948
\label{eq-a-s-def}
1949
\end{align}
1950
is a solution to $A^T L A = L + S$ with $A \in GL(2 m, 2)$.
1951
1952
Finally, given $c$ with $q(c)=0$, the matrix $A$ as defined by \eqref{eq-a-s-def} is such that
1953
$q(A x) = q(x) + \langle c, x \rangle$.
1954
\end{proof}
1955
% \end{frame}
1956
1957
\begin{Lemma}
1958
\label{lm-notes-6}
1959
For $k \in \{0,\ldots,m-1\}$ define $e^{(k)}$ by
1960
\begin{align}
1961
e_i^{(k)} &:= \delta_{i,k} + \delta_{i,m+k}
1962
\label{eq-e-def}
1963
\end{align}
1964
for $i \in \{0,\ldots,2 m - 1\}$.
1965
1966
Let $h(x) := q(x) + \langle e^{(0)}, x \rangle$, where $q$ is defined as per Lemma \ref{lm-notes-5}.
1967
Then for any $c'$ such that $q(c')=1$, there exists $B \in GL(2 m, 2)$ such that
1968
\begin{align}
1969
h(B x) &= q(x) + \langle c',x \rangle.
1970
\label{eq-h-B-x}
1971
\end{align}
1972
\end{Lemma}
1973
1974
\begin{proof}
1975
Let $K'=\{k \mid c'_k c'_{m+k} = 1\}$. Since $q(c')=1$, $\abs{K'}$ is odd.
1976
Choose any $\ell \in K'$, and let $c := c' + e^{(\ell)}$.
1977
Then $c_{\ell} = c_{m+\ell} = 0$ and $q(c)=0$.
1978
1979
Now let $h^{(\ell)}(x) := q(x) + \langle e^{(\ell)}, x \rangle$.
1980
We calculate
1981
\begin{align*}
1982
h^{(\ell)}(A x)
1983
&=
1984
q(A x) + \langle e^{(\ell)}, A x \rangle
1985
=
1986
q(x) + \langle c, x \rangle + \langle A^T e^{(\ell)}, x \rangle
1987
\\
1988
&=
1989
q(x) + \langle c + A^T e^{(\ell)}, x \rangle
1990
\end{align*}
1991
for $A$ given by the proof of Lemma \ref{lm-notes-4}.
1992
1993
If we let $K := \{ k \mid c_k c_{m+k} = 1 \}$, we see that $K = K' \setminus \{\ell\}$.
1994
Applying the other definitions and techniques used in the proof of Lemma \ref{lm-notes-4},
1995
we see that since $c_{\ell} = c_{m+\ell} = 0$ and $K$ does not contain $\ell$,
1996
column $\ell$ of each of $S_{0,0} := T + C_{0,0}$
1997
and $S_{1,1} := T + C_{1,1}$ is $0$, and therefore columns $\ell$ and $m + \ell$ of
1998
\begin{align*}
1999
A^T + I
2000
&:=
2001
\left[
2002
\begin{array}{cc}
2003
I & T + C_{0,0}
2004
\\
2005
T + C_{1,1} & I
2006
\end{array}
2007
\right]
2008
\end{align*}
2009
are both $0$.
2010
Therefore $A^T e^{(\ell)} = e^{(\ell)}$, and therefore
2011
\begin{align*}
2012
h^{(\ell)}(A x)
2013
&=
2014
q(x) + \langle c', x \rangle.
2015
\end{align*}
2016
2017
\end{proof}
2018
2019
\begin{Lemma}
2020
\label{lm-notes-6-b}
2021
For distinct $k,\ell \in \{0,\ldots,m-1\}$ let $e^{(k)}, e^{(\ell)}$ be defined as per Lemma
2022
\ref{lm-notes-6}.
2023
Let $h(x) := q(x) + \langle e^{(k)}, x \rangle$, where $q$ is defined as per Lemma \ref{lm-notes-5}.
2024
Then there exists $A \in GL(2 m, 2)$ such that
2025
\begin{align}
2026
h(A x)
2027
&=
2028
q(x) + \langle e^{(\ell)},x \rangle.
2029
\end{align}
2030
\end{Lemma}
2031
2032
\begin{proof}
2033
The matrix $A$ is the permutation matrix for the the permutation $(k\ \ell)(m+k\ m+\ell)$ (defined
2034
using cycle notation.)
2035
\end{proof}
2036
2037
\begin{Lemma}
2038
\label{lm-notes-7}
2039
Let $q$ be defined as per Lemma \ref{lm-notes-5}.
2040
Then for all $c, c' \in Z_2^{2 m}$ with $q(c)=q(c')=1$, there exists $A \in GL(2 m, 2)$ such that
2041
if $h(x) := q(x) + \langle c, x \rangle$, then
2042
\begin{align*}
2043
h(A x) &= q(x) + \langle c', x \rangle.
2044
\end{align*}
2045
\end{Lemma}
2046
2047
\begin{proof}
2048
This is a consequence of Lemmas \ref{lm-notes-6} and \ref{lm-notes-6-b}.
2049
\end{proof}
2050
2051
\begin{proofof}{Theorem \ref{th-Quadratic-Classes}}
2052
It is well known that all quadratic bent functions are contained in one Extended Affine equivalence
2053
class.
2054
As a consequence of Corollary \ref{corr-Affine-Translate-Cayley}, without loss of generality, we need
2055
only examine
2056
the Extended Translation equivalence class of the quadratic function $q$ as defined in Lemma
2057
\ref{lm-notes-5}.
2058
2059
As a result of Lemma \ref{lm-notes-5}, we actually need only examine functions of the form
2060
$f(x) = q(x) + \langle c,x \rangle$
2061
for some $c \in \F_2^{2m}$.
2062
Lemma \ref{lm-notes-4} implies that all such functions for which $q(c)=0$ are Cayley equivalent to
2063
$q$.
2064
Lemma \ref{lm-notes-7} implies that any two such functions $q(x) + \langle c, x \rangle$ and $q(x)\, +
2065
\langle c', x \rangle$
2066
with $q(c)=q(c')=1$ are Cayley equivalent to each other.
2067
2068
The functions where $q(c)=0$ are not Cayley equivalent to the functions where $q(c)=1$ because
2069
Lemma \ref{lm-notes-9b} implies that
2070
\begin{align*}
2071
\weightclass{x \mapsto q(x) + \langle c,x \rangle}
2072
&=
2073
\dual{q}(c) = q(c),
2074
\end{align*}
2075
since $q$ is self-dual.
2076
\end{proofof}
2077
2078
%\newpage
2079
2080
\section{Computational results for low dimensions}
2081
\label{sec-Empirical}
2082
This section lists some properties of bent functions and their extended affine (EA) classes, extended translation (ET) classes, and extended Cayley classes
2083
that have been computed for 2, 4, 6 and 8 dimensions.
2084
The computations were made using Sage \cite{SageMath7517} and CoCalc \cite{CoCalc}.
2085
Larger scale computations, involving millions of ET classes,
2086
were conducted on the Raijin supercomputer of the National Computational Infrastructure.
2087
Sage and Python code for these computations are available on GitHub \cite{Leo16GitHub} and CoCalc \cite{Leo17CoCalc}.
2088
Some CoCalc worksheets also illustrate these and related computations \cite{Leo17CoCalc}.
2089
The Sage and Python code is briefly described in Section \ref{sec-Code}.
2090
2091
%\newpage
2092
In the tables below, each bent function is defined by its algebraic normal form, and each Cayley class is described by
2093
its number within the ET class of the bent function (from 0, in the order in which Sage identified non-isomorphic graphs),
2094
followed by three properties of the Cayley graph: its parameters as a strongly regular graph,
2095
the 2-rank of its adjacency matrix \cite{Brov92}, and its clique polynomial \cite{HoeL94}.
2096
The 2-rank is included for comparison with Tonchev's tables of 2-weight codes in 6 dimensions \cite{Ton96uniformly,Ton07codes}.
2097
The clique polynomial is included for interest's sake, and to illustrate the variety of strongly regular graphs
2098
that exist with the same parameters, even for low dimensions.
2099
2100
The plots below are produced by the function \texttt{sage.}\texttt{plot.}\texttt{matrix\_plot},
2101
with \texttt{gist\_stern} as the \texttt{colormap}.
2102
Thus the smallest number is coloured black and the largest number is coloured white.
2103
2104
The plotted matrices all contain non-negative integers.
2105
The weight class matrices are defined by Definition~\ref{def-weight-class-matrix}, and are $\{0,1\}$ matrices,
2106
so their matrix plots are therefore black and white, with black representing 0 and white representing 1.
2107
The other matrices record the number of the Cayley class within the
2108
ET class, starting from 0, as per corresponding table of extended Cayley classes.
2109
2110
Some highlights of the computational results include:
2111
\begin{enumerate}
2112
\item Verification of Theorem \ref{th-Quadratic-Classes}: the quadratic bent functions have two Cayley classes
2113
corresponding to the two weight classes.
2114
\item In 6 dimensions, identification of the Cayley classes corresponding to
2115
Tonchev's tables of 2-weight codes \cite{Ton96uniformly,Ton07codes}.
2116
%See also the paper by Jungnickel and Tonchev \cite{JunT1992}.
2117
\item In 6 and 8 dimensions, extended Cayley equivalence between a quadratic bent function
2118
and a bent function of degree 3.
2119
In each case, the isomorphism between Cayley graphs is not a linear function on $\F_2^{2m}$.
2120
\item In 8 dimensions, the result that two of Braeken's extended affine classes of bent functions of degree
2121
at most 3 \cite{Bra06thesis, Tok15bent} are actually the same class.
2122
Thus the list only contains 9 distinct classes and not 10.
2123
\item In 8 dimensions, 8 of the 256 bent functions used for the S-boxes of the CAST-128 cypher \cite{RFC2144,Ada97}
2124
are exceptional in the sense that,
2125
for each of these 8 bent functions, the $65\,536$ bent functions in the extended translation class,
2126
and their $65\,536$ duals do not yield $131\,072$ distinct Cayley graphs.
2127
In contrast, for the remaining 248 bent functions, these $131\,072$ Cayley graphs are all non-isomorphic.
2128
\end{enumerate}
2129
2130
% \begin{frame}
2131
\subsection{Bent functions in 2 dimensions}
2132
%
2133
The bent functions on $\F_2^2$ consist of one EA class, containing the ET class: $[f_{2,1}]$
2134
where $f_{2,1}(x) := x_0 x_1$ is self dual.
2135
The ET class contains two extended Cayley classes as per Table~\ref{tab-c2_1_EC_classes}.
2136
Note that the Cayley graph for class 1 is $K_4$, which is not considered to be strongly regular, by convention.
2137
\begin{table}[!bhpt] % [H]
2138
\small{
2139
\begin{align*}
2140
\def\arraystretch{1.2}
2141
\begin{array}{|cccl|}
2142
\hline
2143
\text{Class} &
2144
\text{Parameters} &
2145
\text{2-rank} &
2146
\text{Clique polynomial}
2147
\\
2148
\hline
2149
0 &
2150
(4, 1, 0, 0) &
2151
4 &
2152
\begin{array}{l}
2153
2t^{2} + 4t + 1
2154
\end{array}
2155
\\
2156
1 &
2157
K_4 &
2158
4 &
2159
\begin{array}{l}
2160
t^{4} + 4t^{3} + 6t^{2} + 4t + 1
2161
\end{array}
2162
\\
2163
\hline
2164
\end{array}
2165
\end{align*}
2166
}
2167
\caption{$[f_{2,1}]$ extended Cayley classes.}
2168
\label{tab-c2_1_EC_classes}
2169
\end{table}
2170
2171
\begin{figure}[!ht]
2172
\centering
2173
\begin{minipage}{.48\textwidth}
2174
\centering
2175
\includegraphics[width=.9\linewidth]{c2_1_weight_class_matrix.png}
2176
\captionof{figure}{$[f_{2,1}]$: weight classes. ~~~~\\~~~~}
2177
\label{fig:c2_1_weight_class_matrix}
2178
\end{minipage}%
2179
~~~~
2180
\begin{minipage}{.48\textwidth}
2181
\centering
2182
\includegraphics[width=.9\linewidth]{c2_1_bent_cayley_graph_index_matrix.png}
2183
\captionof{figure}{$[f_{2,1}]$: extended Cayley classes.}
2184
\label{fig:c2_1_bent_cayley_graph_index_matrix}
2185
\end{minipage}
2186
\end{figure}
2187
As expected from Theorem~\ref{th-Quadratic-Classes},
2188
the two extended Cayley classes correspond to the two weight classes,
2189
as shown in Figures~\ref{fig:c2_1_weight_class_matrix} and~\ref{fig:c2_1_bent_cayley_graph_index_matrix}.
2190
2191
% \end{frame}
2192
% \begin{frame}
2193
\subsection{Bent functions in 4 dimensions}
2194
%
2195
The bent functions on $\F_2^4$ consist of one EA class, containing the ET class $[f_{4,1}]$ where
2196
$f_{4,1}(x) := x_0 x_1 + x_2 x_3$ is self dual.
2197
The ET class contains two extended Cayley classes as per Table~\ref{tab-c4_1_EC_classes}.
2198
\begin{table}[!bhpt] % [H]
2199
\small{
2200
\begin{align*}
2201
\def\arraystretch{1.2}
2202
\begin{array}{|cccl|}
2203
\hline
2204
\text{Class} &
2205
\text{Parameters} &
2206
\text{2-rank} &
2207
\text{Clique polynomial}
2208
\\
2209
\hline
2210
0 &
2211
(16, 6, 2, 2) &
2212
6 &
2213
\begin{array}{l}
2214
8t^{4} + 32t^{3} + 48t^{2} + 16t + 1
2215
\end{array}
2216
\\
2217
1 &
2218
(16, 10, 6, 6) &
2219
6 &
2220
\begin{array}{l}
2221
16t^{5} + 120t^{4} + 160t^{3}
2222
\,+
2223
\\
2224
80t^{2} + 16t + 1
2225
\end{array}
2226
\\
2227
\hline
2228
\end{array}
2229
\end{align*}
2230
}
2231
\caption{$[f_{4,1}]$ extended Cayley classes.}
2232
\label{tab-c4_1_EC_classes}
2233
\end{table}
2234
2235
% The Cayley graphs for classes 1 and 2 are isomorphic to those those obtained from the
2236
% projective two-weight codes listed in Table~\ref{tab-c4_1_codes}
2237
%
2238
% \begin{table}[!bhpt] % [H]
2239
% \begin{align*}
2240
% \begin{array}{|ccc|}
2241
% \hline
2242
% \text{Class} &
2243
% \text{Parameters} & \text{Generator matrix}
2244
% \\
2245
% \hline
2246
% 1 &
2247
% [6, 4, 2] &
2248
% \left[
2249
% \begin{array}{cccccc}
2250
% 0 & 0 & 1 & 1 & 1 & 1
2251
% \\
2252
% 1 & 0 & 0 & 1 & 1 & 1
2253
% \\
2254
% 1 & 1 & 1 & 1 & 0 & 0
2255
% \\
2256
% 0 & 1 & 1 & 1 & 1 & 0
2257
% \end{array}
2258
% \right]
2259
% \\
2260
% 2 &
2261
% [5, 4, 2] &
2262
% \left[
2263
% \begin{array}{ccccc}
2264
% 1 & 1 & 0 & 0 & 0
2265
% \\
2266
% 0 & 1 & 1 & 0 & 0
2267
% \\
2268
% 0 & 0 & 0 & 1 & 1
2269
% \\
2270
% 1 & 0 & 0 & 0 & 1
2271
% \end{array}
2272
% \right]
2273
% \\
2274
% \hline
2275
% \end{array}
2276
% \end{align*}
2277
% \caption{$f_{4,1}$ Two-weight projective codes}
2278
% \label{tab-c4_1_codes}
2279
% \end{table}
2280
2281
\begin{figure}[!bhpt] % [H]
2282
\centering
2283
\begin{minipage}{.48\textwidth}
2284
\centering
2285
\includegraphics[width=.9\linewidth]{c4_1_weight_class_matrix.png}
2286
\captionof{figure}{$[f_{4,1}]$: weight classes. ~~~~\\~~~~}
2287
\label{fig:c4_1_weight_class_matrix}
2288
\end{minipage}%
2289
~~~~
2290
\begin{minipage}{.48\textwidth}
2291
\centering
2292
\includegraphics[width=.9\linewidth]{c4_1_bent_cayley_graph_index_matrix.png}
2293
\captionof{figure}{$[f_{4,1}]$: extended Cayley classes.}
2294
\label{fig:c4_1_bent_cayley_graph_index_matrix}
2295
\end{minipage}
2296
\end{figure}
2297
The two extended Cayley classes correspond to the two weight classes,
2298
as shown in Figures~\ref{fig:c4_1_weight_class_matrix} and~\ref{fig:c4_1_bent_cayley_graph_index_matrix}.
2299
2300
% \end{frame}
2301
\newpage
2302
% \begin{frame}
2303
\subsection{Bent functions in 6 dimensions}
2304
\paragraph*{Extended affine classes.}
2305
%
2306
The bent functions on $\F_2^6$ consist of four
2307
EA classes, containing the ET classes as listed in Table~\ref{tab-c6_ET_classes}
2308
\cite[p. 303]{Rot76} \cite[Section 7.2]{Tok15bent}.
2309
\begin{table}[!bhpt] % [H]
2310
\small{
2311
\begin{align*}
2312
\def\arraystretch{1.2}
2313
\begin{array}{|cl|}
2314
\hline
2315
\text{Class} &
2316
\text{Representative}
2317
\\
2318
\hline
2319
\,[f_{6,1}] & f_{6,1} :=
2320
\begin{array}{l}
2321
x_{0} x_{1} + x_{2} x_{3} + x_{4} x_{5}
2322
\end{array}
2323
\\
2324
\,[f_{6,2}] & f_{6,2} :=
2325
\begin{array}{l}
2326
x_{0} x_{1} x_{2} + x_{0} x_{3} + x_{1} x_{4} + x_{2} x_{5}
2327
\end{array}
2328
\\
2329
\,[f_{6,3}] & f_{6,3} :=
2330
\begin{array}{l}
2331
x_{0} x_{1} x_{2} + x_{0} x_{1} + x_{0} x_{3} + x_{1} x_{3} x_{4} + x_{1} x_{5}\, +
2332
\\
2333
x_{2} x_{4} + x_{3} x_{4}
2334
\end{array}
2335
\\
2336
\,[f_{6,4}] & f_{6,4} :=
2337
\begin{array}{l}
2338
x_{0} x_{1} x_{2} + x_{0} x_{3} + x_{1} x_{3} x_{4} + x_{1} x_{5} + x_{2} x_{3} x_{5}\, +
2339
\\
2340
x_{2} x_{3} + x_{2} x_{4} + x_{2} x_{5} + x_{3} x_{4} + x_{3} x_{5}
2341
\end{array}
2342
\\
2343
\hline
2344
\end{array}
2345
\end{align*}
2346
}
2347
\caption{6 dimensions: ET classes.}
2348
\label{tab-c6_ET_classes}
2349
\end{table}
2350
2351
%\newpage
2352
In 1996, Tonchev classified the binary projective two-weight $[27,21,3]$ and $[35,6,16]$ codes
2353
listing them in Tables 1 and 2, respectively, of his paper \cite{Ton96uniformly}.
2354
These tables are repeated as Tables 1.155 and 1.156 in Chapter VII.1 of the Handbook of
2355
Combinatorial Designs, Second Edition \cite{Ton07codes},
2356
with a different numbering.
2357
For each of the codes listed in these two tables, the characteristics of the corresponding
2358
strongly regular graph is also listed.
2359
2360
In the classification given below, the Cayley graph of each Cayley class is matched by isomorphism
2361
with a strongly regular graph corresponding to one
2362
or more of Tonchev's projective two-weight codes, or the complement of such a graph.
2363
Tonchev's strongly regular graphs were checked using the function
2364
\verb!strongly_regular_from_two_weight_code!, which uses the smaller of the two weights to create the graph
2365
\cite{SageMath7517}.
2366
% \end{frame}
2367
% \begin{frame}
2368
%
2369
\paragraph*{ET class $[f_{6,1}]$.}
2370
%
2371
This is the ET class of the bent function
2372
$f_{6,1}(x) := x_0 x_1 + x_2 x_3 + x_4 x_5.$
2373
This function is quadratic and self-dual.
2374
2375
The ET class contains two extended Cayley classes as per Table~\ref{tab-c6_1_EC_classes}.
2376
2377
\begin{table}[!bhpt] % [H]
2378
%
2379
\small{}
2380
\begin{align*}
2381
\def\arraystretch{1.2}
2382
\begin{array}{|cccl|}
2383
\hline
2384
\text{Class} &
2385
\text{Parameters} &
2386
\text{2-rank} &
2387
\text{Clique polynomial}
2388
\\
2389
\hline
2390
0 &
2391
(64, 28, 12, 12) &
2392
8 &
2393
\begin{array}{l}
2394
64t^{8} + 512t^{7} + 1792t^{6} + 3584t^{5}
2395
\,+
2396
\\
2397
5376t^{4} + 3584t^{3} + 896t^{2} + 64t + 1
2398
\end{array}
2399
\\
2400
1 &
2401
(64, 36, 20, 20) &
2402
8 &
2403
\begin{array}{l}
2404
2304t^{6} + 13824t^{5} + 19200t^{4} + 7680t^{3}
2405
\,+
2406
\\
2407
1152t^{2} + 64t + 1
2408
\end{array}
2409
\\
2410
\hline
2411
\end{array}
2412
\end{align*}
2413
%
2414
\caption{$[f_{6,1}]$ extended Cayley classes.}
2415
\label{tab-c6_1_EC_classes}
2416
\end{table}
2417
2418
The Cayley graphs for classes 0 and 1 are isomorphic to those those obtained from
2419
Tonchev's projective two-weight codes \cite{Ton07codes} as per Table~\ref{tab-c6_1_codes}.
2420
2421
\begin{table}[!bhpt] % [H]
2422
\small{
2423
\begin{align*}
2424
\def\arraystretch{1.2}
2425
\begin{array}{|ccl|}
2426
\hline
2427
\text{Class} &
2428
\text{Parameters} & \text{Reference}
2429
\\
2430
\hline
2431
0 & [35,6,16] & \text{Table 1.156 1, 2 (complement)}
2432
\\
2433
1 & [27,6,12] & \text{Table 1.155 1 }
2434
\\
2435
\hline
2436
\end{array}
2437
\end{align*}
2438
}
2439
\caption{$[f_{6,1}]$ Two-weight projective codes.}
2440
\label{tab-c6_1_codes}
2441
\end{table}
2442
2443
%\slidecite{Tonchev 1996, 2006}
2444
% \end{frame}
2445
% \begin{frame}
2446
2447
The two extended Cayley classes correspond to the two weight classes,
2448
as shown in Figures~\ref{fig:c6_1_weight_class_matrix} and~\ref{fig:c6_1_bent_cayley_graph_index_matrix}.
2449
2450
\begin{figure}[!bhpt] % [H]
2451
\centering
2452
\begin{minipage}{.48\textwidth}
2453
\centering
2454
\includegraphics[width=.9\linewidth]{c6_1_weight_class_matrix.png}
2455
\captionof{figure}{$[f_{6,1}]$: weight classes. ~~~~\\~~~~}
2456
\label{fig:c6_1_weight_class_matrix}
2457
\end{minipage}%
2458
~~~~
2459
\begin{minipage}{.48\textwidth}
2460
\centering
2461
\includegraphics[width=.9\linewidth]{c6_1_bent_cayley_graph_index_matrix.png}
2462
\captionof{figure}{$[f_{6,1}]$: extended Cayley classes.}
2463
\label{fig:c6_1_bent_cayley_graph_index_matrix}
2464
\end{minipage}
2465
\end{figure}
2466
%\newpage
2467
Remark: The sequence of Figures~\ref{fig:c2_1_weight_class_matrix}, \ref{fig:c4_1_weight_class_matrix},
2468
and \ref{fig:c6_1_weight_class_matrix} displays a fractal-like self-similar quality.
2469
2470
\paragraph*{ET class $[f_{6,2}]$.}
2471
%
2472
This is the ET class of the bent function
2473
$f_{6,2}(x) := x_{0} x_{1} x_{2} + x_{0} x_{3} + x_{1} x_{4} + x_{2} x_{5}$.
2474
2475
The ET class contains three extended Cayley classes as per Table~\ref{tab-c6_2_EC_classes}.
2476
2477
\begin{table}[!bhpt] % [H]
2478
%
2479
\small{}
2480
\begin{align*}
2481
\def\arraystretch{1.2}
2482
\begin{array}{|cccl|}
2483
\hline
2484
\text{Class} &
2485
\text{Parameters} &
2486
\text{2-rank} &
2487
\text{Clique polynomial}
2488
\\
2489
\hline
2490
0 &
2491
(64, 28, 12, 12) &
2492
8 &
2493
\begin{array}{l}
2494
64t^{8} + 512t^{7} + 1792t^{6} + 3584t^{5}
2495
\,+
2496
\\
2497
5376t^{4} + 3584t^{3} + 896t^{2} + 64t + 1
2498
\end{array}
2499
\\
2500
1 &
2501
(64, 28, 12, 12) &
2502
8 &
2503
\begin{array}{l}
2504
256t^{6} + 1536t^{5} + 4352t^{4} + 3584t^{3}
2505
\,+
2506
\\
2507
896t^{2} + 64t + 1
2508
\end{array}
2509
\\
2510
2 &
2511
(64, 36, 20, 20) &
2512
8 &
2513
\begin{array}{l}
2514
192t^{8} + 1536t^{7} + 8960t^{6} + 19968t^{5}
2515
\,+
2516
\\
2517
20224t^{4} + 7680t^{3} + 1152t^{2} + 64t + 1
2518
\end{array}
2519
\\
2520
\hline
2521
\end{array}
2522
\end{align*}
2523
%
2524
\caption{$[f_{6,2}]$ extended Cayley classes.}
2525
\label{tab-c6_2_EC_classes}
2526
\end{table}
2527
2528
The Cayley graph for class 0 is isomorphic to graph 0 of ET class $[f_{6,1}]$,
2529
This reflects the fact that $f_{6,1} \equiv f_{6,2}$, even though these two functions are not
2530
EA equivalent.
2531
This is therefore an example of an isomorphism between Cayley graphs of bent functions on
2532
$\F_2^6$ that is not a linear function.
2533
2534
The Cayley graph for class 0 is also isomorphic to the complement of Royle's $(64,35,18,20)$ strongly regular graph $X$
2535
\cite{Roy08normal}.
2536
2537
%
2538
%~
2539
%
2540
%\slidecite{Royle 2008}
2541
% \end{frame}
2542
% \begin{frame}
2543
%\paragraph*{ET class $[f_{6,2}]$: two-weight codes.}
2544
2545
The Cayley graphs for classes 0 to 2 are isomorphic to those those obtained from
2546
Tonchev's projective two-weight codes \cite{Ton07codes} as per Table~\ref{tab-c6_2_codes}.
2547
2548
\begin{table}[!bhpt] % [H]
2549
\small{
2550
\begin{align*}
2551
\def\arraystretch{1.2}
2552
\begin{array}{|ccl|}
2553
\hline
2554
\text{Class} &
2555
\text{Parameters} & \text{Reference}
2556
\\
2557
\hline
2558
0 & [35,6,16] & \text{Table 1.156 1, 2 (complement)}
2559
\\
2560
1 & [35,6,16] & \text{Table 1.156 3 (complement)}
2561
\\
2562
2 & [27,6,12] & \text{Table 1.155 2 }
2563
\\
2564
\hline
2565
\end{array}
2566
\end{align*}
2567
}
2568
\caption{$[f_{6,2}]$ Two-weight projective codes.}
2569
\label{tab-c6_2_codes}
2570
\end{table}
2571
%\newpage
2572
2573
The three extended Cayley classes are distributed between the two weight classes,
2574
as shown in Figures~\ref{fig:c6_2_weight_class_matrix} and~\ref{fig:c6_2_bent_cayley_graph_index_matrix}.
2575
2576
\begin{figure}[!bhpt] % [H]
2577
\centering
2578
\begin{minipage}{.48\textwidth}
2579
\centering
2580
\includegraphics[width=.9\linewidth]{c6_2_weight_class_matrix.png}
2581
\captionof{figure}{$[f_{6,2}]$: weight classes. ~~~~\\~~~~}
2582
\label{fig:c6_2_weight_class_matrix}
2583
\end{minipage}%
2584
~~~~
2585
\begin{minipage}{.48\textwidth}
2586
\centering
2587
\includegraphics[width=.9\linewidth]{c6_2_bent_cayley_graph_index_matrix.png}
2588
\captionof{figure}{$[f_{6,2}]$: extended Cayley classes.}
2589
\label{fig:c6_2_bent_cayley_graph_index_matrix}
2590
\end{minipage}
2591
\end{figure}
2592
2593
%\slidecite{Tonchev 1996, 2006}
2594
% \end{frame}
2595
%%\newpage
2596
% \begin{frame}
2597
%
2598
\paragraph*{ET class $[f_{6,3}]$.}
2599
%
2600
This is the ET class of the bent function
2601
\begin{align*}
2602
f_{6,3}(x) &= x_{0} x_{1} x_{2} + x_{0} x_{1} + x_{0} x_{3} + x_{1} x_{3} x_{4}
2603
\\
2604
&+ x_{1} x_{5} + x_{2} x_{4} + x_{3} x_{4}.
2605
\end{align*}
2606
2607
The ET class contains four extended Cayley classes as per Table~\ref{tab-c6_3_EC_classes}.
2608
2609
\begin{table}[!bhpt] % [H]
2610
%
2611
\small{}
2612
\begin{align*}
2613
\def\arraystretch{1.2}
2614
\begin{array}{|cccl|}
2615
\hline
2616
\text{Class} &
2617
\text{Parameters} &
2618
\text{2-rank} &
2619
\text{Clique polynomial}
2620
\\
2621
\hline
2622
0 &
2623
(64, 28, 12, 12) &
2624
12 &
2625
\begin{array}{l}
2626
32t^{8} + 256t^{7} + 896t^{6} + 2048t^{5} + 4608t^{4}
2627
\,+
2628
\\
2629
3584t^{3} + 896t^{2} + 64t + 1
2630
\end{array}
2631
\\
2632
1 &
2633
(64, 36, 20, 20) &
2634
12 &
2635
\begin{array}{l}
2636
160t^{8} + 1280t^{7} + 9344t^{6} + 21504t^{5}
2637
\,+
2638
\\
2639
20480t^{4} + 7680t^{3} + 1152t^{2} + 64t + 1
2640
\end{array}
2641
\\
2642
2 &
2643
(64, 28, 12, 12) &
2644
12 &
2645
\begin{array}{l}
2646
64t^{6} + 1024t^{5} + 4096t^{4} + 3584t^{3}
2647
\,+
2648
\\
2649
896t^{2} + 64t + 1
2650
\end{array}
2651
\\
2652
3 &
2653
(64, 36, 20, 20) &
2654
12 &
2655
\begin{array}{l}
2656
160t^{8} + 1664t^{7} + 9792t^{6} + 21504t^{5}
2657
\,+
2658
\\
2659
20480t^{4} + 7680t^{3} + 1152t^{2} + 64t + 1
2660
\end{array}
2661
\\
2662
\hline
2663
\end{array}
2664
\end{align*}
2665
%
2666
\caption{$[f_{6,3}]$ extended Cayley classes.}
2667
\label{tab-c6_3_EC_classes}
2668
\end{table}
2669
2670
The Cayley graphs for classes 0 to 3 are isomorphic to those those obtained from
2671
Tonchev's projective two-weight codes \cite{Ton07codes} as per Table~\ref{tab-c6_3_codes}.
2672
2673
\begin{table}[!bhpt] % [H]
2674
\small{
2675
\begin{align*}
2676
\def\arraystretch{1.2}
2677
\begin{array}{|ccl|}
2678
\hline
2679
\text{Class} &
2680
\text{Parameters} & \text{Reference}
2681
\\
2682
\hline
2683
0 & [35,6,16] & \text{Table 1.156 4 (complement)}
2684
\\
2685
1 & [27,6,12] & \text{Table 1.155 3 }
2686
\\
2687
2 & [35,6,16] & \text{Table 1.156 5 (complement)}
2688
\\
2689
3 & [27,6,12] & \text{Table 1.155 4 }
2690
\\
2691
\hline
2692
\end{array}
2693
\end{align*}
2694
}
2695
\caption{$[f_{6,3}]$ Two-weight projective codes.}
2696
\label{tab-c6_3_codes}
2697
\end{table}
2698
2699
The four extended Cayley classes are distributed between the two weight classes,
2700
as shown in Figures~\ref{fig:c6_3_weight_class_matrix} and~\ref{fig:c6_3_bent_cayley_graph_index_matrix}.
2701
2702
\begin{figure}[!ht] % [H]
2703
\centering
2704
\begin{minipage}{.48\textwidth}
2705
\centering
2706
\includegraphics[width=.9\linewidth]{c6_3_weight_class_matrix.png}
2707
\captionof{figure}{$[f_{6,3}]$: weight classes. ~~~~\\~~~~}
2708
\label{fig:c6_3_weight_class_matrix}
2709
\end{minipage}%
2710
~~~~
2711
\begin{minipage}{.48\textwidth}
2712
\centering
2713
\includegraphics[width=.9\linewidth]{c6_3_bent_cayley_graph_index_matrix.png}
2714
\captionof{figure}{$[f_{6,3}]$: extended Cayley classes.}
2715
\label{fig:c6_3_bent_cayley_graph_index_matrix}
2716
\end{minipage}
2717
\end{figure}
2718
2719
%\slidecite{Tonchev 1996, 2006}
2720
% \end{frame}
2721
% \begin{frame}
2722
%\newpage
2723
\paragraph*{ET class $[f_{6,4}]$.}
2724
%
2725
This is the ET class of the bent function
2726
\begin{align*}
2727
f_{6,4}(x) &= x_{0} x_{1} x_{2} + x_{0} x_{3} + x_{1} x_{3} x_{4} + x_{1} x_{5} + x_{2} x_{3} x_{5}
2728
\\
2729
&+ x_{2} x_{3} + x_{2} x_{4} + x_{2} x_{5} + x_{3} x_{4} + x_{3} x_{5}.
2730
\end{align*}
2731
2732
The ET class contains three extended Cayley classes as per Table~\ref{tab-c6_4_EC_classes}.
2733
2734
\begin{table}[!bhpt] % [H]
2735
%
2736
\small{}
2737
\begin{align*}
2738
\def\arraystretch{1.2}
2739
\begin{array}{|cccl|}
2740
\hline
2741
\text{Class} &
2742
\text{Parameters} &
2743
\text{2-rank} &
2744
\text{Clique polynomial}
2745
\\
2746
\hline
2747
0 &
2748
(64, 28, 12, 12) &
2749
14 &
2750
\begin{array}{l}
2751
32t^{8} + 256t^{7} + 896t^{6} + 1792t^{5} + 4480t^{4}
2752
\,+
2753
\\
2754
3584t^{3} + 896t^{2} + 64t + 1
2755
\end{array}
2756
\\
2757
1 &
2758
(64, 28, 12, 12) &
2759
14 &
2760
\begin{array}{l}
2761
16t^{8} + 128t^{7} + 448t^{6} + 1280t^{5} + 4224t^{4}
2762
\,+
2763
\\
2764
3584t^{3} + 896t^{2} + 64t + 1
2765
\end{array}
2766
\\
2767
2 &
2768
(64, 36, 20, 20) &
2769
14 &
2770
\begin{array}{l}
2771
176t^{8} + 1408t^{7} + 9664t^{6} + 22272t^{5}
2772
\,+
2773
\\
2774
20608t^{4} + 7680t^{3} + 1152t^{2} + 64t + 1
2775
\end{array}
2776
\\
2777
\hline
2778
\end{array}
2779
\end{align*}
2780
\caption{$[f_{6,4}]$ extended Cayley classes.}
2781
\label{tab-c6_4_EC_classes}
2782
\end{table}
2783
2784
The Cayley graphs for classes 0 to 2 are isomorphic to those those obtained from
2785
Tonchev's projective two-weight codes \cite{Ton07codes} as per Table~\ref{tab-c6_4_codes}.
2786
2787
\begin{table}[!bhpt] % [H]
2788
\small{
2789
\begin{align*}
2790
\def\arraystretch{1.2}
2791
\begin{array}{|ccl|}
2792
\hline
2793
\text{Class} &
2794
\text{Parameters} & \text{Reference}
2795
\\
2796
\hline
2797
0 & [35,6,16] & \text{Table 1.156 7 (complement)}
2798
\\
2799
1 & [35,6,16] & \text{Table 1.156 6 (complement)}
2800
\\
2801
2 & [27,6,12] & \text{Table 1.155 5 }
2802
\\
2803
\hline
2804
\end{array}
2805
\end{align*}
2806
}
2807
\caption{$[f_{6,4}]$ Two-weight projective codes.}
2808
\label{tab-c6_4_codes}
2809
\end{table}
2810
2811
%\slidecite{Tonchev 1996, 2006}
2812
% \end{frame}
2813
% \begin{frame}
2814
2815
The three extended Cayley classes are distributed between the two weight classes,
2816
as shown in Figures~\ref{fig:c6_4_weight_class_matrix} and~\ref{fig:c6_4_bent_cayley_graph_index_matrix}.
2817
2818
\begin{figure}[!hpt] % [H]
2819
\centering
2820
\begin{minipage}{.48\textwidth}
2821
\centering
2822
\includegraphics[width=.9\linewidth]{c6_4_weight_class_matrix.png}
2823
\captionof{figure}{$[f_{6,4}]$: weight classes. ~~~~\\~~~~}
2824
\label{fig:c6_4_weight_class_matrix}
2825
\end{minipage}%
2826
~~~~
2827
\begin{minipage}{.48\textwidth}
2828
\centering
2829
\includegraphics[width=.9\linewidth]{c6_4_bent_cayley_graph_index_matrix.png}
2830
\captionof{figure}{$[f_{6,4}]$: extended Cayley classes.}
2831
\label{fig:c6_4_bent_cayley_graph_index_matrix}
2832
\end{minipage}
2833
\end{figure}
2834
\newpage
2835
\subsection{Bent functions in 8 dimensions}
2836
2837
There are
2838
$99\,270\,589\,265\,934\,370\,305\,785\,861\,242\,880 \approx 2^{106}$ bent functions in 8 dimensions,
2839
according to Langevin and Leander \cite{LanL11counting}.
2840
%
2841
%~
2842
%
2843
The number of EA classes has not yet been published,
2844
let alone a list of representative bent functions.
2845
The lists of EA classes of bent functions that have so far been published include those
2846
for the bent functions of degree at most 3 \cite[Section 5.5.2]{Bra06thesis} \cite[Section 7.3]{Tok15bent},
2847
and the partial spread bent functions \cite{Lan10psf,LanH11counting}.
2848
The bent functions used in the S-boxes of the CAST-128 encryption algorithm \cite{Ada97,RFC2144}
2849
are also representatives of disjoint EA classes.
2850
%\newpage
2851
\paragraph*{Extended affine classes of degree at most 3.}
2852
%
2853
According to a list contained in Braeken's PhD thesis \cite[Section 5.5.2]{Bra06thesis},
2854
and repeated in Tokareva's table \cite[Section 7.3]{Tok15bent},
2855
the bent functions on $\F_2^8$, of degree at most 3, consist of 10
2856
EA classes, whose representatives are listed in Table~\ref{tab-c8_ET_classes}.
2857
\begin{table}[!bhpt] % [H]
2858
\small{}
2859
\begin{align*}
2860
\def\arraystretch{1.2}
2861
\begin{array}{|cl|}
2862
\hline
2863
\text{Class} &
2864
\text{Representative}
2865
\\
2866
\hline
2867
\,[f_{ 8 , 1 }] & f_{ 8 , 1 } :=
2868
\begin{array}{l}
2869
x_{0} x_{1} + x_{2} x_{3} + x_{4} x_{5} + x_{6} x_{7}
2870
\end{array}
2871
\\
2872
\,[f_{ 8 , 2 }] & f_{ 8 , 2 } :=
2873
\begin{array}{l}
2874
x_{0} x_{1} x_{2} + x_{0} x_{3} + x_{1} x_{4} + x_{2} x_{5} + x_{6} x_{7}
2875
\end{array}
2876
\\
2877
\,[f_{ 8 , 3 }] & f_{ 8 , 3 } :=
2878
\begin{array}{l}
2879
x_{0} x_{1} x_{2} + x_{0} x_{6} + x_{1} x_{3} x_{4} + x_{1} x_{5} + x_{2} x_{3} + x_{4} x_{7}
2880
\end{array}
2881
\\
2882
\,[f_{ 8 , 4 }] & f_{ 8 , 4 } :=
2883
\begin{array}{l}
2884
x_{0} x_{1} x_{2} + x_{0} x_{2} + x_{0} x_{4} + x_{1} x_{3} x_{4} + x_{1} x_{5} + x_{2} x_{3}\, +
2885
x_{6} x_{7}
2886
\end{array}
2887
\\
2888
\,[f_{ 8 , 5 }] & f_{ 8 , 5 } :=
2889
\begin{array}{l}
2890
x_{0} x_{1} x_{2} + x_{0} x_{6} + x_{1} x_{3} x_{4} + x_{1} x_{4} + x_{1} x_{5} + x_{2} x_{3} x_{5}
2891
+ x_{2} x_{4} + x_{3} x_{7}
2892
\end{array}
2893
\\
2894
\,[f_{ 8 , 6 }] & f_{ 8 , 6 } :=
2895
\begin{array}{l}
2896
x_{0} x_{1} x_{2} + x_{0} x_{2} + x_{0} x_{3} + x_{1} x_{3} x_{4} + x_{1} x_{6} + x_{2} x_{3} x_{5}
2897
+ x_{2} x_{4} + x_{5} x_{7}
2898
\end{array}
2899
\\
2900
\,[f_{ 8 , 7 }] & f_{ 8 , 7 } :=
2901
\begin{array}{l}
2902
x_{0} x_{1} x_{2} + x_{0} x_{1} + x_{0} x_{2} + x_{0} x_{3} + x_{1} x_{3} x_{4} + x_{1} x_{4}\, +
2903
x_{1} x_{5}\, +
2904
\\
2905
x_{2} x_{3} x_{5} + x_{2} x_{4} + x_{6} x_{7}
2906
\end{array}
2907
\\
2908
\,[f_{ 8 , 8 }] & f_{ 8 , 8 } :=
2909
\begin{array}{l}
2910
x_{0} x_{1} x_{2} + x_{0} x_{5} + x_{1} x_{3} x_{4} + x_{1} x_{6} + x_{2} x_{3} x_{5} + x_{2} x_{4}
2911
+ x_{3} x_{7}
2912
\end{array}
2913
\\
2914
\,[f_{ 8 , 9 }] & f_{ 8 , 9 } :=
2915
\begin{array}{l}
2916
x_{0} x_{1} x_{6} + x_{0} x_{3} + x_{1} x_{4} + x_{2} x_{3} x_{6} + x_{2} x_{5} + x_{3} x_{4}\, +
2917
x_{4} x_{5} x_{6} + x_{6} x_{7}
2918
\end{array}
2919
\\
2920
\,[f_{ 8 , 10 }] & f_{ 8 , 10 } :=
2921
\begin{array}{l}
2922
x_{0} x_{1} x_{2} + x_{0} x_{3} x_{6} + x_{0} x_{4} + x_{0} x_{5} + x_{1} x_{3} x_{4} + x_{1} x_{6}
2923
+ x_{2} x_{3} x_{5}\, +
2924
\\
2925
x_{2} x_{4} + x_{3} x_{7}
2926
\end{array}
2927
\\
2928
\hline
2929
\end{array}
2930
\end{align*}
2931
\normalsize{}
2932
\caption{8 dimensions to degree 3: ET classes.}
2933
\label{tab-c8_ET_classes}
2934
\end{table}
2935
% \end{frame}
2936
We here examine the corresponding ET classes in detail.
2937
% \begin{frame}
2938
\newpage
2939
\paragraph*{ET class $[f_{8,1}]$.}
2940
%
2941
This is the ET class of the bent function
2942
\small{}
2943
\begin{align*}
2944
f_{ 8 , 1 } &=
2945
\begin{array}{l}
2946
x_{0} x_{1} + x_{2} x_{3} + x_{4} x_{5} + x_{6} x_{7}.
2947
\end{array}
2948
\end{align*}
2949
\normalsize{}
2950
This function is quadratic and self-dual.
2951
The ET class contains two extended Cayley classes as per Table~\ref{tab-c8_1_EC_classes}.
2952
2953
% f8_1
2954
\begin{table}[!bhpt] % [H]
2955
%
2956
\small{}
2957
\begin{align*}
2958
\def\arraystretch{1.2}
2959
\begin{array}{|cccl|}
2960
\hline
2961
\text{Class} &
2962
\text{Parameters} &
2963
\text{2-rank} &
2964
\text{Clique polynomial}
2965
\\
2966
\hline
2967
0 &
2968
(256, 120, 56, 56) &
2969
10 &
2970
\begin{array}{l}
2971
245760t^{9} + 3317760t^{8} + 8847360t^{7}
2972
\,+
2973
\\
2974
10321920t^{6} + 6193152t^{5} + 2007040t^{4}
2975
\,+
2976
\\
2977
286720t^{3} + 15360t^{2} + 256t + 1
2978
\end{array}
2979
\\
2980
1 &
2981
(256, 136, 72, 72) &
2982
10 &
2983
\begin{array}{l}
2984
417792t^{8} + 3342336t^{7} + 11698176t^{6}
2985
\,+
2986
\\
2987
11698176t^{5} + 3760128t^{4} + 417792t^{3}
2988
\,+
2989
\\
2990
17408t^{2} + 256t + 1
2991
\end{array}
2992
\\
2993
\hline
2994
\end{array}
2995
\end{align*}
2996
%
2997
\caption{$[f_{8,1}]$ extended Cayley classes.}
2998
\label{tab-c8_1_EC_classes}
2999
\end{table}
3000
3001
As expected from Theorem~\ref{th-Quadratic-Classes},
3002
the two extended Cayley classes correspond to the two weight classes,
3003
as shown in Figures~\ref{fig:c8_1_weight_class_matrix} and~\ref{fig:c8_1_bent_cayley_graph_index_matrix}.
3004
3005
Remark: The fractal-like self-similar quality of Figures~\ref{fig:c2_1_weight_class_matrix}, \ref{fig:c4_1_weight_class_matrix},
3006
and \ref{fig:c6_1_weight_class_matrix} continues with Figure~\ref{fig:c8_1_weight_class_matrix}.
3007
3008
\begin{figure}[!bhpt] % [H]
3009
\centering
3010
\begin{minipage}{.48\textwidth}
3011
\centering
3012
\includegraphics[width=.9\linewidth]{c8_1_weight_class_matrix.png}
3013
\captionof{figure}{$[f_{8,1}]$: weight classes. ~~~~\\~~~~}
3014
\label{fig:c8_1_weight_class_matrix}
3015
\end{minipage}%
3016
~~~~
3017
\begin{minipage}{.48\textwidth}
3018
\centering
3019
\includegraphics[width=.9\linewidth]{c8_1_bent_cayley_graph_index_matrix.png}
3020
\captionof{figure}{$[f_{8,1}]$: extended Cayley classes.}
3021
\label{fig:c8_1_bent_cayley_graph_index_matrix}
3022
\end{minipage}
3023
\end{figure}
3024
3025
% \end{frame}
3026
% \begin{frame}
3027
%
3028
\paragraph*{ET class $[f_{8,2}]$.}
3029
%
3030
This is the ET class of the bent function
3031
\small{}
3032
\begin{align*}
3033
f_{ 8 , 2 } &=
3034
\begin{array}{l}
3035
x_{0} x_{1} x_{2} + x_{0} x_{3} + x_{1} x_{4} + x_{2} x_{5} + x_{6} x_{7}.
3036
\end{array}
3037
\end{align*}
3038
\normalsize{}
3039
The ET class contains four extended Cayley classes as per Table~\ref{tab-c8_2_EC_classes}.
3040
3041
% f8_2
3042
\begin{table}[!bhpt] % [H]
3043
% f_{8,2}:
3044
\small{}
3045
\begin{align*}
3046
\def\arraystretch{1.2}
3047
\begin{array}{|cccl|}
3048
\hline
3049
\text{Class} &
3050
\text{Parameters} &
3051
\text{2-rank} &
3052
\text{Clique polynomial}
3053
\\
3054
\hline
3055
0 &
3056
(256, 120, 56, 56) &
3057
10 &
3058
\begin{array}{l}
3059
245760t^{9} + 3317760t^{8} + 8847360t^{7}
3060
\,+
3061
\\
3062
10321920t^{6} + 6193152t^{5} + 2007040t^{4}
3063
\,+
3064
\\
3065
286720t^{3} + 15360t^{2} + 256t + 1
3066
\end{array}
3067
\\
3068
1 &
3069
(256, 120, 56, 56) &
3070
10 &
3071
\begin{array}{l}
3072
49152t^{9} + 663552t^{8} + 2555904t^{7}
3073
\,+
3074
\\
3075
5079040t^{6} + 4620288t^{5} + 1875968t^{4}
3076
\,+
3077
\\
3078
286720t^{3} + 15360t^{2} + 256t + 1
3079
\end{array}
3080
\\
3081
2 &
3082
(256, 136, 72, 72) &
3083
10 &
3084
\begin{array}{l}
3085
327680t^{9} + 4055040t^{8} + 13828096t^{7}
3086
\,+
3087
\\
3088
22183936t^{6} + 14319616t^{5} + 3891200t^{4}
3089
\,+
3090
\\
3091
417792t^{3} + 17408t^{2} + 256t + 1
3092
\end{array}
3093
\\
3094
3 &
3095
(256, 136, 72, 72) &
3096
10 &
3097
\begin{array}{l}
3098
417792t^{8} + 3342336t^{7} + 11698176t^{6}
3099
\,+
3100
\\
3101
11698176t^{5} + 3760128t^{4} + 417792t^{3}
3102
\,+
3103
\\
3104
17408t^{2} + 256t + 1
3105
\end{array}
3106
\\
3107
\hline
3108
\end{array}
3109
\end{align*}
3110
\caption{$[f_{8,2}]$ extended Cayley classes.}
3111
\label{tab-c8_2_EC_classes}
3112
\end{table}
3113
%\newpage
3114
3115
\begin{figure}[!ht] % [H]
3116
\centering
3117
\begin{minipage}{.48\textwidth}
3118
\centering
3119
\includegraphics[width=.9\linewidth]{c8_2_weight_class_matrix.png}
3120
\captionof{figure}{$[f_{8,2}]$: weight classes. ~~~~\\~~~~}
3121
\label{fig:c8_2_weight_class_matrix}
3122
\end{minipage}%
3123
~~~~
3124
\begin{minipage}{.48\textwidth}
3125
\centering
3126
\includegraphics[width=.9\linewidth]{c8_2_bent_cayley_graph_index_matrix.png}
3127
\captionof{figure}{$[f_{8,2}]$: extended Cayley classes.}
3128
\label{fig:c8_2_bent_cayley_graph_index_matrix}
3129
\end{minipage}
3130
\end{figure}
3131
~
3132
% \end{frame}
3133
\newpage
3134
The Cayley graph for class 0 is isomorphic to graph 0 of ET class $[f_{8,1}]$,
3135
This reflects the fact that $f_{8,1} \equiv f_{8,2}$, even though these two functions are not
3136
EA equivalent.
3137
This is therefore an example of an isomorphism between Cayley graphs of bent functions on
3138
$\F_2^8$ that is not a linear function.
3139
3140
The four extended Cayley classes are distributed between the two weight classes,
3141
as shown in Figures~\ref{fig:c8_2_weight_class_matrix} and~\ref{fig:c8_2_bent_cayley_graph_index_matrix}.
3142
3143
%\newpage
3144
% \begin{frame}
3145
%
3146
\paragraph*{ET class $[f_{8,3}]$.}
3147
%
3148
This is the ET class of the bent function
3149
\small{}
3150
\begin{align*}
3151
f_{ 8 , 3 } &=
3152
\begin{array}{l}
3153
x_{0} x_{1} x_{2} + x_{0} x_{6} + x_{1} x_{3} x_{4} + x_{1} x_{5} + x_{2} x_{3} + x_{4} x_{7}.
3154
\end{array}
3155
\end{align*}
3156
\normalsize{}
3157
The ET class contains six extended Cayley classes as per Table~\ref{tab-c8_3_EC_classes}.
3158
3159
% f8_3
3160
\begin{table}[!bhpt] % [H]
3161
%
3162
% f_{8,3}:
3163
\small{}
3164
\begin{align*}
3165
\def\arraystretch{1.2}
3166
\begin{array}{|cccl|}
3167
\hline
3168
\text{Class} &
3169
\text{Parameters} &
3170
\text{2-rank} &
3171
\text{Clique polynomial}
3172
\\
3173
\hline
3174
0 &
3175
(256, 120, 56, 56) &
3176
12 &
3177
\begin{array}{l}
3178
81920t^{9} + 1368064t^{8} + 4653056t^{7}
3179
\,+
3180
\\
3181
7176192t^{6} + 5406720t^{5} + 1941504t^{4}
3182
\,+
3183
\\
3184
286720t^{3} + 15360t^{2} + 256t + 1
3185
\end{array}
3186
\\
3187
1 &
3188
(256, 136, 72, 72) &
3189
12 &
3190
\begin{array}{l}
3191
294912t^{9} + 6299648t^{8} + 21692416t^{7}
3192
\,+
3193
\\
3194
27951104t^{6} + 15630336t^{5} + 3956736t^{4}
3195
\,+
3196
\\
3197
417792t^{3} + 17408t^{2} + 256t + 1
3198
\end{array}
3199
\\
3200
2 &
3201
(256, 120, 56, 56) &
3202
12 &
3203
\begin{array}{l}
3204
16384t^{9} + 221184t^{8} + 1277952t^{7}
3205
\,+
3206
\\
3207
3768320t^{6} + 4227072t^{5} + 1843200t^{4}
3208
\,+
3209
\\
3210
286720t^{3} + 15360t^{2} + 256t + 1
3211
\end{array}
3212
\\
3213
3 &
3214
(256, 136, 72, 72) &
3215
12 &
3216
\begin{array}{l}
3217
262144t^{9} + 4399104t^{8} + 16220160t^{7}
3218
\,+
3219
\\
3220
24281088t^{6} + 14974976t^{5} + 3923968t^{4}
3221
\,+
3222
\\
3223
417792t^{3} + 17408t^{2} + 256t + 1
3224
\end{array}
3225
\\
3226
4 &
3227
(256, 120, 56, 56) &
3228
12 &
3229
\begin{array}{l}
3230
49152t^{9} + 729088t^{8} + 2686976t^{7}
3231
\,+
3232
\\
3233
5079040t^{6} + 4620288t^{5} + 1875968t^{4}
3234
\,+
3235
\\
3236
286720t^{3} + 15360t^{2} + 256t + 1
3237
\end{array}
3238
\\
3239
5 &
3240
(256, 136, 72, 72) &
3241
12 &
3242
\begin{array}{l}
3243
196608t^{9} + 3399680t^{8} + 13172736t^{7}
3244
\,+
3245
\\
3246
21659648t^{6} + 14319616t^{5} + 3891200t^{4}
3247
\,+
3248
\\
3249
417792t^{3} + 17408t^{2} + 256t + 1
3250
\end{array}
3251
\\
3252
\hline
3253
\end{array}
3254
\end{align*}
3255
%
3256
\caption{$[f_{8,3}]$ extended Cayley classes.}
3257
\label{tab-c8_3_EC_classes}
3258
\end{table}
3259
3260
The six extended Cayley classes are distributed between the two weight classes,
3261
as shown in Figures~\ref{fig:c8_3_weight_class_matrix} and~\ref{fig:c8_3_bent_cayley_graph_index_matrix}.
3262
3263
\begin{figure}[!bhpt] % [H]
3264
\centering
3265
\begin{minipage}{.48\textwidth}
3266
\centering
3267
\includegraphics[width=.9\linewidth]{c8_3_weight_class_matrix.png}
3268
\captionof{figure}{$[f_{8,3}]$: weight classes. ~~~~\\~~~~}
3269
\label{fig:c8_3_weight_class_matrix}
3270
\end{minipage}%
3271
~~~~
3272
\begin{minipage}{.48\textwidth}
3273
\centering
3274
\includegraphics[width=.9\linewidth]{c8_3_bent_cayley_graph_index_matrix.png}
3275
\captionof{figure}{$[f_{8,3}]$: extended Cayley classes.}
3276
\label{fig:c8_3_bent_cayley_graph_index_matrix}
3277
\end{minipage}
3278
\end{figure}
3279
~
3280
% \end{frame}
3281
\newpage
3282
% \begin{frame}
3283
%
3284
\paragraph*{ET class $[f_{8,4}]$.}
3285
This is the ET class of the bent function
3286
\small{}
3287
\begin{align*}
3288
f_{ 8 , 4 } &=
3289
\begin{array}{l}
3290
x_{0} x_{1} x_{2} + x_{0} x_{2} + x_{0} x_{4} + x_{1} x_{3} x_{4} + x_{1} x_{5} + x_{2} x_{3}\, +
3291
x_{6} x_{7}.
3292
\end{array}
3293
\end{align*}
3294
\normalsize{}
3295
The ET class contains six extended Cayley classes as per Table~\ref{tab-c8_4_EC_classes}.
3296
3297
The six extended Cayley classes are distributed between the two weight classes,
3298
as shown in Figures~\ref{fig:c8_4_weight_class_matrix} and~\ref{fig:c8_4_bent_cayley_graph_index_matrix}.
3299
3300
% f8_4
3301
\begin{table}[!bhpt] % [H]
3302
%
3303
\small{}
3304
\begin{align*}
3305
\def\arraystretch{1.2}
3306
\begin{array}{|cccl|}
3307
\hline
3308
\text{Class} &
3309
\text{Parameters} &
3310
\text{2-rank} &
3311
\text{Clique polynomial}
3312
\\
3313
\hline
3314
0 &
3315
(256, 120, 56, 56) &
3316
14 &
3317
\begin{array}{l}
3318
69632t^{9} + 1099776t^{8} + 3784704t^{7}
3319
\,+
3320
\\
3321
6160384t^{6} + 5013504t^{5} + 1908736t^{4}
3322
\,+
3323
\\
3324
286720t^{3} + 15360t^{2} + 256t + 1
3325
\end{array}
3326
\\
3327
1 &
3328
(256, 136, 72, 72) &
3329
14 &
3330
\begin{array}{l}
3331
225280t^{9} + 4319232t^{8} + 16203776t^{7}
3332
\,+
3333
\\
3334
24313856t^{6} + 14974976t^{5} + 3923968t^{4}
3335
\,+
3336
\\
3337
417792t^{3} + 17408t^{2} + 256t + 1
3338
\end{array}
3339
\\
3340
2 &
3341
(256, 120, 56, 56) &
3342
14 &
3343
\begin{array}{l}
3344
1536t^{10} + 15360t^{9} + 209920t^{8}
3345
\,+
3346
\\
3347
1280000t^{7} + 3751936t^{6} + 4227072t^{5}
3348
\,+
3349
\\
3350
1843200t^{4} + 286720t^{3} + 15360t^{2} + 256t + 1
3351
\end{array}
3352
\\
3353
3 &
3354
(256, 136, 72, 72) &
3355
14 &
3356
\begin{array}{l}
3357
7680t^{10} + 230400t^{9} + 4228096t^{8}
3358
\,+
3359
\\
3360
16058368t^{7} + 24166400t^{6} + 14974976t^{5}
3361
\,+
3362
\\
3363
3923968t^{4} + 417792t^{3} + 17408t^{2} + 256t + 1
3364
\end{array}
3365
\\
3366
4 &
3367
(256, 136, 72, 72) &
3368
14 &
3369
\begin{array}{l}
3370
110592t^{9} + 2344960t^{8} + 10305536t^{7}
3371
\,+
3372
\\
3373
18939904t^{6} + 13664256t^{5} + 3858432t^{4}
3374
\,+
3375
\\
3376
417792t^{3} + 17408t^{2} + 256t + 1
3377
\end{array}
3378
\\
3379
5 &
3380
(256, 120, 56, 56) &
3381
14 &
3382
\begin{array}{l}
3383
20480t^{9} + 337920t^{8} + 1556480t^{7}
3384
\,+
3385
\\
3386
3932160t^{6} + 4227072t^{5} + 1843200t^{4}
3387
\,+
3388
\\
3389
286720t^{3} + 15360t^{2} + 256t + 1
3390
\end{array}
3391
\\
3392
\hline
3393
\end{array}
3394
\end{align*}
3395
\caption{$[f_{8,4]}$ extended Cayley classes.}
3396
\label{tab-c8_4_EC_classes}
3397
\end{table}
3398
3399
\begin{figure}[!bhpt] % [H]
3400
\centering
3401
\begin{minipage}{.48\textwidth}
3402
\centering
3403
\includegraphics[width=.9\linewidth]{c8_4_weight_class_matrix.png}
3404
\captionof{figure}{$[f_{8,4}]$: weight classes. ~~~~\\~~~~}
3405
\label{fig:c8_4_weight_class_matrix}
3406
\end{minipage}%
3407
~~~~
3408
\begin{minipage}{.48\textwidth}
3409
\centering
3410
\includegraphics[width=.9\linewidth]{c8_4_bent_cayley_graph_index_matrix.png}
3411
\captionof{figure}{$[f_{8,4}]$: extended Cayley classes.}
3412
\label{fig:c8_4_bent_cayley_graph_index_matrix}
3413
\end{minipage}
3414
\end{figure}
3415
~
3416
% \end{frame}
3417
%%\newpage
3418
% \begin{frame}
3419
\paragraph*{ET class $[f_{8,5}]$.}
3420
%
3421
This is the ET class of the bent function
3422
\small{}
3423
\begin{align*}
3424
f_{ 8 , 5 } &=
3425
\begin{array}{l}
3426
x_{0} x_{1} x_{2} + x_{0} x_{6} + x_{1} x_{3} x_{4} + x_{1} x_{4} + x_{1} x_{5} + x_{2} x_{3} x_{5}
3427
+ x_{2} x_{4} + x_{3} x_{7}.
3428
\end{array}
3429
\end{align*}
3430
\normalsize{}
3431
The ET class contains 9 extended Cayley classes as per
3432
%Tables~\ref{tab-c8_5_EC_classes} and~\ref{tab-c8_5_EC_classes_2}.
3433
Table~\ref{tab-c8_5_EC_classes}.
3434
3435
% f8_5
3436
\begin{table}[!bhpt] % [H]
3437
%
3438
\small{}
3439
\begin{align*}
3440
\def\arraystretch{1.2}
3441
\begin{array}{|cccl|}
3442
\hline
3443
\text{Class} &
3444
\text{Parameters} &
3445
\text{2-rank} &
3446
\text{Clique polynomial}
3447
\\
3448
\hline
3449
0 &
3450
(256, 120, 56, 56) &
3451
14 &
3452
\begin{array}{l}
3453
32768t^{9} + 731136t^{8} + 3096576t^{7}
3454
\,+
3455
\\
3456
5767168t^{6} + 5013504t^{5} + 1908736t^{4}
3457
\,+
3458
\\
3459
286720t^{3} + 15360t^{2} + 256t + 1
3460
\end{array}
3461
\\
3462
1 &
3463
(256, 120, 56, 56) &
3464
14 &
3465
\begin{array}{l}
3466
28672t^{9} + 534528t^{8} + 2211840t^{7}
3467
\,+
3468
\\
3469
4718592t^{6} + 4620288t^{5} + 1875968t^{4}
3470
\,+
3471
\\
3472
286720t^{3} + 15360t^{2} + 256t + 1
3473
\end{array}
3474
\\
3475
2 &
3476
(256, 136, 72, 72) &
3477
14 &
3478
\begin{array}{l}
3479
159744t^{9} + 4753408t^{8} + 19021824t^{7}
3480
\,+
3481
\\
3482
26804224t^{6} + 15630336t^{5} + 3956736t^{4}
3483
\,+
3484
\\
3485
417792t^{3} + 17408t^{2} + 256t + 1
3486
\end{array}
3487
\\
3488
3 &
3489
(256, 120, 56, 56) &
3490
14 &
3491
\begin{array}{l}
3492
24576t^{9} + 526336t^{8} + 2342912t^{7}
3493
\,+
3494
\\
3495
4849664t^{6} + 4620288t^{5} + 1875968t^{4}
3496
\,+
3497
\\
3498
286720t^{3} + 15360t^{2} + 256t + 1
3499
\end{array}
3500
\\
3501
4 &
3502
(256, 136, 72, 72) &
3503
14 &
3504
\begin{array}{l}
3505
90112t^{9} + 2795520t^{8} + 12402688t^{7}
3506
\,+
3507
\\
3508
21168128t^{6} + 14319616t^{5} + 3891200t^{4}
3509
\,+
3510
\\
3511
417792t^{3} + 17408t^{2} + 256t + 1
3512
\end{array}
3513
\\
3514
% \hline
3515
% \end{array}
3516
% \end{align*}
3517
% \caption{$[f_{8,5}]$ extended Cayley classes (part 1).}
3518
% \label{tab-c8_5_EC_classes}
3519
% \end{table}
3520
% %\newpage
3521
% \begin{table}[!bhpt] % [H]
3522
% \small{}
3523
% \begin{align*}
3524
% \def\arraystretch{1.2}
3525
% \begin{array}{|cccl|}
3526
% \hline
3527
% \text{Class} &
3528
% \text{Parameters} &
3529
% \text{2-rank} &
3530
% \text{Clique polynomial}
3531
% \\
3532
% \hline
3533
5 &
3534
(256, 120, 56, 56) &
3535
14 &
3536
\begin{array}{l}
3537
16384t^{9} + 284672t^{8} + 1392640t^{7}
3538
\,+
3539
\\
3540
3735552t^{6} + 4227072t^{5} + 1843200t^{4}
3541
\,+
3542
\\
3543
286720t^{3} + 15360t^{2} + 256t + 1
3544
\end{array}
3545
\\
3546
6 &
3547
(256, 136, 72, 72) &
3548
14 &
3549
\begin{array}{l}
3550
131072t^{9} + 3577856t^{8} + 15319040t^{7}
3551
\,+
3552
\\
3553
23855104t^{6} + 14974976t^{5} + 3923968t^{4}
3554
\,+
3555
\\
3556
417792t^{3} + 17408t^{2} + 256t + 1
3557
\end{array}
3558
\\
3559
7 &
3560
(256, 120, 56, 56) &
3561
14 &
3562
\begin{array}{l}
3563
1536t^{10} + 19456t^{9} + 279552t^{8}
3564
\,+
3565
\\
3566
1394688t^{7} + 3751936t^{6} + 4227072t^{5}
3567
\,+
3568
\\
3569
1843200t^{4} + 286720t^{3} + 15360t^{2} + 256t + 1
3570
\end{array}
3571
\\
3572
8 &
3573
(256, 136, 72, 72) &
3574
14 &
3575
\begin{array}{l}
3576
5632t^{10} + 148480t^{9} + 3621888t^{8}
3577
\,+
3578
\\
3579
15206400t^{7} + 23773184t^{6} + 14974976t^{5}
3580
\,+
3581
\\
3582
3923968t^{4} + 417792t^{3} + 17408t^{2} + 256t + 1
3583
\end{array}
3584
\\
3585
\hline
3586
\end{array}
3587
\end{align*}
3588
%\caption{$[f_{8,5}]$ extended Cayley classes (part 2).}
3589
\caption{$[f_{8,5}]$ extended Cayley classes.}
3590
%\label{tab-c8_5_EC_classes_2}
3591
\label{tab-c8_5_EC_classes}
3592
\end{table}
3593
\newpage
3594
The 9 extended Cayley classes are distributed between the two weight classes,
3595
as shown in Figures~\ref{fig:c8_5_weight_class_matrix} and~\ref{fig:c8_5_bent_cayley_graph_index_matrix}.
3596
3597
\begin{figure}[!bhpt] % [H]
3598
\centering
3599
\begin{minipage}{.48\textwidth}
3600
\centering
3601
\includegraphics[width=.9\linewidth]{c8_5_weight_class_matrix.png}
3602
\captionof{figure}{$[f_{8,5}]$: weight classes. ~~~~\\~~~~}
3603
\label{fig:c8_5_weight_class_matrix}
3604
\end{minipage}%
3605
~~~~
3606
\begin{minipage}{.48\textwidth}
3607
\centering
3608
\includegraphics[width=.9\linewidth]{c8_5_bent_cayley_graph_index_matrix.png}
3609
\captionof{figure}{$[f_{8,5}]$: extended Cayley classes.}
3610
\label{fig:c8_5_bent_cayley_graph_index_matrix}
3611
\end{minipage}
3612
\end{figure}
3613
~
3614
% \end{frame}
3615
%\newpage
3616
% \begin{frame}
3617
\paragraph*{ET class $[f_{8,6}]$.}
3618
%
3619
%
3620
This is the ET class of the bent function
3621
\small{}
3622
\begin{align*}
3623
f_{ 8 , 6 } &=
3624
\begin{array}{l}
3625
x_{0} x_{1} x_{2} + x_{0} x_{2} + x_{0} x_{3} + x_{1} x_{3} x_{4} + x_{1} x_{6} + x_{2} x_{3} x_{5}
3626
+ x_{2} x_{4} + x_{5} x_{7}.
3627
\end{array}
3628
\end{align*}
3629
\normalsize{}
3630
The ET class contains 9 extended Cayley classes.
3631
% as per
3632
%Tables~\ref{tab-c8_6_EC_classes} and~\ref{tab-c8_6_EC_classes_2}.
3633
3634
%Each such isomorphism between
3635
%the Cayley graph of a function in $[f_{8,5}]$ and
3636
%the Cayley graph of a function in $[f_{8,6}]$ is not a linear function on $\F_2^8$.
3637
3638
%
3639
% % f8_6
3640
% \begin{table}[!bhpt] % [H]
3641
% %
3642
% \small{}
3643
% \begin{align*}
3644
% \def\arraystretch{1.2}
3645
% \begin{array}{|cccl|}
3646
% \hline
3647
% \text{Class} &
3648
% \text{Parameters} &
3649
% \text{2-rank} &
3650
% \text{Clique polynomial}
3651
% \\
3652
% \hline
3653
% 0 &
3654
% (256, 120, 56, 56) &
3655
% 14 &
3656
% \begin{array}{l}
3657
% 32768t^{9} + 731136t^{8} + 3096576t^{7}
3658
% \,+
3659
% \\
3660
% 5767168t^{6} + 5013504t^{5} + 1908736t^{4}
3661
% \,+
3662
% \\
3663
% 286720t^{3} + 15360t^{2} + 256t + 1
3664
% \end{array}
3665
% \\
3666
% 1 &
3667
% (256, 120, 56, 56) &
3668
% 14 &
3669
% \begin{array}{l}
3670
% 28672t^{9} + 534528t^{8} + 2211840t^{7}
3671
% \,+
3672
% \\
3673
% 4718592t^{6} + 4620288t^{5} + 1875968t^{4}
3674
% \,+
3675
% \\
3676
% 286720t^{3} + 15360t^{2} + 256t + 1
3677
% \end{array}
3678
% \\
3679
% 2 &
3680
% (256, 136, 72, 72) &
3681
% 14 &
3682
% \begin{array}{l}
3683
% 159744t^{9} + 4753408t^{8} + 19021824t^{7}
3684
% \,+
3685
% \\
3686
% 26804224t^{6} + 15630336t^{5} + 3956736t^{4}
3687
% \,+
3688
% \\
3689
% 417792t^{3} + 17408t^{2} + 256t + 1
3690
% \end{array}
3691
% \\
3692
% 3 &
3693
% (256, 120, 56, 56) &
3694
% 14 &
3695
% \begin{array}{l}
3696
% 1536t^{10} + 19456t^{9} + 279552t^{8}
3697
% \,+
3698
% \\
3699
% 1394688t^{7} + 3751936t^{6} + 4227072t^{5}
3700
% \,+
3701
% \\
3702
% 1843200t^{4} + 286720t^{3} + 15360t^{2} + 256t + 1
3703
% \end{array}
3704
% \\
3705
% 4 &
3706
% (256, 136, 72, 72) &
3707
% 14 &
3708
% \begin{array}{l}
3709
% 5632t^{10} + 148480t^{9} + 3621888t^{8}
3710
% \,+
3711
% \\
3712
% 15206400t^{7} + 23773184t^{6} + 14974976t^{5}
3713
% \,+
3714
% \\
3715
% 3923968t^{4} + 417792t^{3} + 17408t^{2} + 256t + 1
3716
% \end{array}
3717
% \\
3718
% \hline
3719
% \end{array}
3720
% \end{align*}
3721
% \caption{$[f_{8,6}]$ extended Cayley classes (part 1).}
3722
% \label{tab-c8_6_EC_classes}
3723
% \end{table}
3724
% %\newpage
3725
% \begin{table}[!bhpt] % [H]
3726
% \small{}
3727
% \begin{align*}
3728
% \def\arraystretch{1.2}
3729
% \begin{array}{|cccl|}
3730
% \hline
3731
% \text{Class} &
3732
% \text{Parameters} &
3733
% \text{2-rank} &
3734
% \text{Clique polynomial}
3735
% \\
3736
% \hline
3737
% 5 &
3738
% (256, 120, 56, 56) &
3739
% 14 &
3740
% \begin{array}{l}
3741
% 24576t^{9} + 526336t^{8} + 2342912t^{7}
3742
% \,+
3743
% \\
3744
% 4849664t^{6} + 4620288t^{5} + 1875968t^{4}
3745
% \,+
3746
% \\
3747
% 286720t^{3} + 15360t^{2} + 256t + 1
3748
% \end{array}
3749
% \\
3750
% 6 &
3751
% (256, 120, 56, 56) &
3752
% 14 &
3753
% \begin{array}{l}
3754
% 16384t^{9} + 284672t^{8} + 1392640t^{7}
3755
% \,+
3756
% \\
3757
% 3735552t^{6} + 4227072t^{5} + 1843200t^{4}
3758
% \,+
3759
% \\
3760
% 286720t^{3} + 15360t^{2} + 256t + 1
3761
% \end{array}
3762
% \\
3763
% 7 &
3764
% (256, 136, 72, 72) &
3765
% 14 &
3766
% \begin{array}{l}
3767
% 131072t^{9} + 3577856t^{8} + 15319040t^{7}
3768
% \,+
3769
% \\
3770
% 23855104t^{6} + 14974976t^{5} + 3923968t^{4}
3771
% \,+
3772
% \\
3773
% 417792t^{3} + 17408t^{2} + 256t + 1
3774
% \end{array}
3775
% \\
3776
% 8 &
3777
% (256, 136, 72, 72) &
3778
% 14 &
3779
% \begin{array}{l}
3780
% 90112t^{9} + 2795520t^{8} + 12402688t^{7}
3781
% \,+
3782
% \\
3783
% 21168128t^{6} + 14319616t^{5} + 3891200t^{4}
3784
% \,+
3785
% \\
3786
% 417792t^{3} + 17408t^{2} + 256t + 1
3787
% \end{array}
3788
% \\
3789
% \hline
3790
% \end{array}
3791
% \end{align*}
3792
% %
3793
% \caption{$[f_{8,6}]$ extended Cayley classes (part 2).}
3794
% %\caption{$[f_{8,6}]$ extended Cayley classes.}
3795
% \label{tab-c8_6_EC_classes_2}
3796
% %\label{tab-c8_6_EC_classes}
3797
% \end{table}
3798
3799
\begin{figure}[!hb] % [H]
3800
\centering
3801
\begin{minipage}{.48\textwidth}
3802
\centering
3803
\includegraphics[width=.9\linewidth]{c8_6_weight_class_matrix.png}
3804
\captionof{figure}{$[f_{8,6}]$: weight classes. ~~~~\\~~~~}
3805
\label{fig:c8_6_weight_class_matrix}
3806
\end{minipage}%
3807
~~~~
3808
\begin{minipage}{.48\textwidth}
3809
\centering
3810
\includegraphics[width=.9\linewidth]{c8_6_bent_cayley_graph_index_matrix.png}
3811
\captionof{figure}{$[f_{8,6}]$: extended Cayley classes.}
3812
\label{fig:c8_6_bent_cayley_graph_index_matrix}
3813
\end{minipage}
3814
\end{figure}
3815
% \end{frame}
3816
3817
The 9 extended Cayley classes are distributed between the two weight classes,
3818
as shown in Figures~\ref{fig:c8_6_weight_class_matrix} and~\ref{fig:c8_6_bent_cayley_graph_index_matrix}.
3819
3820
The 9 Cayley graphs corresponding to the 9 classes are isomorphic to those for the extended Cayley classes for $[f_{8,5}]$.
3821
The corresponding Cayley classes have the same frequency within each of these two ET classes.
3822
This correspondence is shown in Table~\ref{tab-c8_5-c8_6_EC_classes}.
3823
3824
Figures~\ref{fig:re8_5_bent_cayley_graph_index_matrix} and~\ref{fig:re8_5_bent_cayley_graph_index_matrix}
3825
show the 9 extended Cayley classes of each of $[f_{8,5}]$ and $[f_{8,6}]$ with corresponding Cayley classes
3826
given the same colour.
3827
3828
\begin{table}[!bhpt] % [H]
3829
%
3830
\small{}
3831
\begin{align*}
3832
\def\arraystretch{1.2}
3833
\begin{array}{|ccr|}
3834
\hline
3835
[f_{8,5}] &
3836
[f_{8,6}] &
3837
\text{Frequency}
3838
\\
3839
\hline
3840
0 & 0 & 4096
3841
\\
3842
1 & 1 & 6144
3843
\\
3844
2 & 2 & 6144
3845
\\
3846
3 & 5 & 2048
3847
\\
3848
4 & 8 & 2048
3849
\\
3850
5 & 6 & 6144
3851
\\
3852
6 & 7 & 6144
3853
\\
3854
7 & 3 & 16384
3855
\\
3856
8 & 4 & 16384
3857
\\
3858
\hline
3859
\end{array}
3860
\end{align*}
3861
\caption{Correspondence between $[f_{8,5}]$ and $[f_{8,6}]$ extended Cayley classes.}
3862
\label{tab-c8_5-c8_6_EC_classes}
3863
\end{table}
3864
3865
\begin{figure}[!bhpt] % [H]
3866
\centering
3867
\begin{minipage}{.48\textwidth}
3868
\centering
3869
\includegraphics[width=.9\linewidth]{re8_5_bent_cayley_graph_index_matrix.png}
3870
\captionof{figure}{$[f_{8,5}]$: extended Cayley classes (recoloured).}
3871
\label{fig:re8_5_bent_cayley_graph_index_matrix}
3872
\end{minipage}
3873
~~
3874
\begin{minipage}{.48\textwidth}
3875
\centering
3876
\includegraphics[width=.9\linewidth]{re8_6_bent_cayley_graph_index_matrix.png}
3877
\captionof{figure}{$[f_{8,6}]$: extended Cayley classes (recoloured).}
3878
\label{fig:re8_6_bent_cayley_graph_index_matrix}
3879
\end{minipage}
3880
\end{figure}
3881
\newpage
3882
The explanation for the correspondence between the Cayley classes of $f_{8,5}$ and $f_{8,6}$
3883
is quite simple. The functions $f_{8,5}$ and $f_{8,6}$ are EA equivalent,
3884
in fact general linear equivalent, and therefore Braeken's list of EA equivalence classes
3885
\cite[Section 5.5.2]{Bra06thesis} contains an error.
3886
3887
\begin{Theorem}
3888
\label{th-f8-5-f8-6-linearly-equiv}
3889
Functions $f_{8,5}$ and $f_{8,6}$ are general linear equivalent.
3890
\end{Theorem}
3891
3892
\begin{proof}
3893
3894
Apply the permutation $\pi := (x_0\ x_5\ x_4)(x_1\ x_2\ x_3)(x_6\ x_7)$ to
3895
\small{
3896
\begin{align*}
3897
f_{8,5}
3898
&=
3899
x_{0} x_{1} x_{2} + x_{0} x_{6} + x_{1} x_{3} x_{4} + x_{1} x_{4} + x_{1} x_{5} + x_{2} x_{3} x_{5} + x_{2} x_{4} + x_{3} x_{7}
3900
%\end{align*}
3901
%}\normalsize{}
3902
\intertext{\normalsize{to obtain}}
3903
%\small{
3904
%\begin{align*}
3905
\pi(f_{8,5})
3906
&=
3907
x_{5} x_{2} x_{3} + x_{5} x_{7} + x_{2} x_{1} x_{0} + x_{2} x_{0} + x_{2} x_{4} + x_{3} x_{1} x_{4} + x_{3} x_{0} + x_{1} x_{6}
3908
\\
3909
&=
3910
x_{0} x_{1} x_{2} + x_{0} x_{2} + x_{0} x_{3} + x_{1} x_{3} x_{4} + x_{1} x_{6} + x_{2} x_{3} x_{5} + x_{2} x_{4} + x_{5} x_{7}
3911
\\
3912
&= f_{8,6}.
3913
\end{align*}
3914
}\normalsize{}
3915
\end{proof}
3916
3917
%\newpage
3918
% \begin{frame}
3919
\paragraph*{ET class $[f_{8,7}]$.}
3920
%
3921
This is the ET class of the bent function
3922
\small{}
3923
\begin{align*}
3924
f_{ 8 , 7 } &=
3925
\begin{array}{l}
3926
x_{0} x_{1} x_{2} + x_{0} x_{1} + x_{0} x_{2} + x_{0} x_{3} + x_{1} x_{3} x_{4} + x_{1} x_{4}\, +
3927
x_{1} x_{5}\, +
3928
\\
3929
x_{2} x_{3} x_{5} + x_{2} x_{4} + x_{6} x_{7}.
3930
\end{array}
3931
\end{align*}
3932
\normalsize{}
3933
The ET class contains six extended Cayley classes as per Table~\ref{tab-c8_7_EC_classes}.
3934
3935
The six extended Cayley classes are distributed between the two weight classes,
3936
as shown in Figures~\ref{fig:c8_7_weight_class_matrix} and~\ref{fig:c8_7_bent_cayley_graph_index_matrix}.
3937
3938
% f8_7
3939
\begin{table}[!bhpt] % [H]
3940
\small{}
3941
\begin{align*}
3942
\def\arraystretch{1.2}
3943
\begin{array}{|cccl|}
3944
\hline
3945
\text{Class} &
3946
\text{Parameters} &
3947
\text{2-rank} &
3948
\text{Clique polynomial}
3949
\\
3950
\hline
3951
0 &
3952
(256, 120, 56, 56) &
3953
16 &
3954
\begin{array}{l}
3955
29696t^{9} + 655360t^{8} + 2789376t^{7}
3956
\,+
3957
\\
3958
5332992t^{6} + 4816896t^{5} + 1892352t^{4}
3959
\,+
3960
\\
3961
286720t^{3} + 15360t^{2} + 256t + 1
3962
\end{array}
3963
\\
3964
1 &
3965
(256, 120, 56, 56) &
3966
16 &
3967
\begin{array}{l}
3968
20480t^{9} + 409600t^{8} + 1837056t^{7}
3969
\,+
3970
\\
3971
4235264t^{6} + 4423680t^{5} + 1859584t^{4}
3972
\,+
3973
\\
3974
286720t^{3} + 15360t^{2} + 256t + 1
3975
\end{array}
3976
\\
3977
2 &
3978
(256, 136, 72, 72) &
3979
16 &
3980
\begin{array}{l}
3981
143360t^{9} + 3981312t^{8} + 16697344t^{7}
3982
\,+
3983
\\
3984
25108480t^{6} + 15302656t^{5} + 3940352t^{4}
3985
\,+
3986
\\
3987
417792t^{3} + 17408t^{2} + 256t + 1
3988
\end{array}
3989
\\
3990
3 &
3991
(256, 136, 72, 72) &
3992
16 &
3993
\begin{array}{l}
3994
64512t^{9} + 2316288t^{8} + 10932224t^{7}
3995
\,+
3996
\\
3997
19783680t^{6} + 13991936t^{5} + 3874816t^{4}
3998
\,+
3999
\\
4000
417792t^{3} + 17408t^{2} + 256t + 1
4001
\end{array}
4002
\\
4003
4 &
4004
(256, 136, 72, 72) &
4005
16 &
4006
\begin{array}{l}
4007
92160t^{9} + 2979840t^{8} + 13608960t^{7}
4008
\,+
4009
\\
4010
22388736t^{6} + 14647296t^{5} + 3907584t^{4}
4011
\,+
4012
\\
4013
417792t^{3} + 17408t^{2} + 256t + 1
4014
\end{array}
4015
\\
4016
5 &
4017
(256, 120, 56, 56) &
4018
16 &
4019
\begin{array}{l}
4020
6144t^{9} + 124928t^{8} + 944128t^{7}
4021
\,+
4022
\\
4023
3219456t^{6} + 4030464t^{5} + 1826816t^{4}
4024
\,+
4025
\\
4026
286720t^{3} + 15360t^{2} + 256t + 1
4027
\end{array}
4028
\\
4029
\hline
4030
\end{array}
4031
\end{align*}
4032
4033
\caption{$[f_{8,7}]$ extended Cayley classes.}
4034
\label{tab-c8_7_EC_classes}
4035
\end{table}
4036
4037
\begin{figure}[!bhpt] % [H]
4038
\centering
4039
\begin{minipage}{.48\textwidth}
4040
\centering
4041
\includegraphics[width=.9\linewidth]{c8_7_weight_class_matrix.png}
4042
\captionof{figure}{$[f_{8,7}]$: weight classes. ~~~~\\~~~~}
4043
\label{fig:c8_7_weight_class_matrix}
4044
\end{minipage}%
4045
~~~~
4046
\begin{minipage}{.48\textwidth}
4047
\centering
4048
\includegraphics[width=.9\linewidth]{c8_7_bent_cayley_graph_index_matrix.png}
4049
\captionof{figure}{$[f_{8,7}]$: extended Cayley classes.}
4050
\label{fig:c8_7_bent_cayley_graph_index_matrix}
4051
\end{minipage}
4052
\end{figure}
4053
4054
% \end{frame}
4055
\newpage
4056
% \begin{frame}
4057
\paragraph*{ET class $[f_{8,8}]$.}
4058
%
4059
This is the ET class of the bent function
4060
\small{}
4061
\begin{align*}
4062
f_{ 8 , 8 } &=
4063
\begin{array}{l}
4064
x_{0} x_{1} x_{2} + x_{0} x_{5} + x_{1} x_{3} x_{4} + x_{1} x_{6} + x_{2} x_{3} x_{5} + x_{2} x_{4}
4065
+ x_{3} x_{7}.
4066
\end{array}
4067
\end{align*}
4068
\normalsize{}
4069
The ET class contains six extended Cayley classes as per Table~\ref{tab-c8_8_EC_classes}.
4070
4071
The six extended Cayley classes are distributed between the two weight classes,
4072
as shown in Figures~\ref{fig:c8_8_weight_class_matrix} and~\ref{fig:c8_8_bent_cayley_graph_index_matrix}.
4073
4074
% f8_8
4075
\begin{table}[!bhpt] % [H]
4076
\small{}
4077
\begin{align*}
4078
\def\arraystretch{1.2}
4079
\begin{array}{|cccl|}
4080
\hline
4081
\text{Class} &
4082
\text{Parameters} &
4083
\text{2-rank} &
4084
\text{Clique polynomial}
4085
\\
4086
\hline
4087
0 &
4088
(256, 120, 56, 56) &
4089
14 &
4090
\begin{array}{l}
4091
32768t^{9} + 712704t^{8} + 3014656t^{7}
4092
\,+
4093
\\
4094
5734400t^{6} + 5013504t^{5} + 1908736t^{4}
4095
\,+
4096
\\
4097
286720t^{3} + 15360t^{2} + 256t + 1
4098
\end{array}
4099
\\
4100
1 &
4101
(256, 120, 56, 56) &
4102
14 &
4103
\begin{array}{l}
4104
24576t^{9} + 466944t^{8} + 2064384t^{7}
4105
\,+
4106
\\
4107
4685824t^{6} + 4620288t^{5} + 1875968t^{4}
4108
\,+
4109
\\
4110
286720t^{3} + 15360t^{2} + 256t + 1
4111
\end{array}
4112
\\
4113
2 &
4114
(256, 136, 72, 72) &
4115
14 &
4116
\begin{array}{l}
4117
172032t^{9} + 5332992t^{8} + 20283392t^{7}
4118
\,+
4119
\\
4120
27295744t^{6} + 15630336t^{5} + 3956736t^{4}
4121
\,+
4122
\\
4123
417792t^{3} + 17408t^{2} + 256t + 1
4124
\end{array}
4125
\\
4126
3 &
4127
(256, 136, 72, 72) &
4128
14 &
4129
\begin{array}{l}
4130
147456t^{9} + 3858432t^{8} + 15990784t^{7}
4131
\,+
4132
\\
4133
24150016t^{6} + 14974976t^{5} + 3923968t^{4}
4134
\,+
4135
\\
4136
417792t^{3} + 17408t^{2} + 256t + 1
4137
\end{array}
4138
\\
4139
4 &
4140
(256, 120, 56, 56) &
4141
14 &
4142
\begin{array}{l}
4143
16384t^{9} + 270336t^{8} + 1376256t^{7}
4144
\,+
4145
\\
4146
3768320t^{6} + 4227072t^{5} + 1843200t^{4}
4147
\,+
4148
\\
4149
286720t^{3} + 15360t^{2} + 256t + 1
4150
\end{array}
4151
\\
4152
5 &
4153
(256, 136, 72, 72) &
4154
14 &
4155
\begin{array}{l}
4156
163840t^{9} + 3858432t^{8} + 15532032t^{7}
4157
\,+
4158
\\
4159
23887872t^{6} + 14974976t^{5} + 3923968t^{4}
4160
\,+
4161
\\
4162
417792t^{3} + 17408t^{2} + 256t + 1
4163
\end{array}
4164
\\
4165
\hline
4166
\end{array}
4167
\end{align*}
4168
\caption{$[f_{8,8}]$ extended Cayley classes.}
4169
\label{tab-c8_8_EC_classes}
4170
\end{table}
4171
4172
\begin{figure}[!bhpt] % [H]
4173
\centering
4174
\begin{minipage}{.48\textwidth}
4175
\centering
4176
\includegraphics[width=.9\linewidth]{c8_8_weight_class_matrix.png}
4177
\captionof{figure}{$[f_{8,8}]$: weight classes. ~~~~\\~~~~}
4178
\label{fig:c8_8_weight_class_matrix}
4179
\end{minipage}%
4180
~~~~
4181
\begin{minipage}{.48\textwidth}
4182
\centering
4183
\includegraphics[width=.9\linewidth]{c8_8_bent_cayley_graph_index_matrix.png}
4184
\captionof{figure}{$[f_{8,8}]$: extended Cayley classes.}
4185
\label{fig:c8_8_bent_cayley_graph_index_matrix}
4186
\end{minipage}
4187
\end{figure}
4188
4189
% \end{frame}
4190
\newpage
4191
% \begin{frame}
4192
\paragraph*{ET class $[f_{8,9}]$.}
4193
%
4194
%
4195
This is the ET class of the bent function
4196
\small{}
4197
\begin{align*}
4198
f_{ 8 , 9 } &=
4199
\begin{array}{l}
4200
x_{0} x_{1} x_{6} + x_{0} x_{3} + x_{1} x_{4} + x_{2} x_{3} x_{6} + x_{2} x_{5} + x_{3} x_{4}\, +
4201
x_{4} x_{5} x_{6} + x_{6} x_{7}.
4202
\end{array}
4203
\end{align*}
4204
\normalsize{}
4205
The ET class contains 8 extended Cayley classes as per
4206
%Tables~\ref{tab-c8_9_EC_classes} and~\ref{tab-c8_9_EC_classes_2}.
4207
Table~\ref{tab-c8_9_EC_classes}.
4208
In 4 of these 8 classes, each bent function is extended Cayley equivalent to its dual.
4209
In the remaining 4 extended Cayley classes, the dual of every bent function in the class has a Cayley graph
4210
that is isomorphic to that of one other class. That is, the 4 Cayley classes form two duality pairs of classes.
4211
This correspondence between Cayley classes and Cayley classes of duals is shown in Table~\ref{tab-c8_9-dual-EC_classes}.
4212
4213
\begin{figure}[!bhpt] % [H]
4214
\centering
4215
\begin{minipage}{.48\textwidth}
4216
\centering
4217
\includegraphics[width=.9\linewidth]{c8_9_bent_cayley_graph_index_matrix.png}
4218
\captionof{figure}{$[f_{8,9}]$: 8 extended Cayley classes ~~ ~~~~ ~~~~ ~~~~~~~~~}
4219
\label{fig:c8_9_bent_cayley_graph_index_matrix}
4220
\end{minipage}
4221
~~
4222
\begin{minipage}{.48\textwidth}
4223
\centering
4224
\includegraphics[width=.9\linewidth]{c8_9_dual_cayley_graph_index_matrix.png}
4225
\captionof{figure}{$[f_{8,9}]$: 8 extended Cayley classes of dual bent functions}
4226
\label{fig:c8_9_dual_cayley_graph_index_matrix}
4227
\end{minipage}%
4228
\end{figure}
4229
4230
The 8 extended Cayley classes are distributed
4231
as shown in Figures~\ref{fig:c8_9_bent_cayley_graph_index_matrix} (classes) and~\ref{fig:c8_9_dual_cayley_graph_index_matrix}
4232
(classes of duals).
4233
4234
% f8_9
4235
\begin{table}[!bhpt] % [H]
4236
\small{}
4237
\begin{align*}
4238
\def\arraystretch{1.2}
4239
\begin{array}{|cccl|}
4240
\hline
4241
\text{Class} &
4242
\text{Parameters} &
4243
\text{2-rank} &
4244
\text{Clique polynomial}
4245
\\
4246
\hline
4247
0 &
4248
(256, 120, 56, 56) &
4249
16 &
4250
\begin{array}{l}
4251
45056t^{9} + 780288t^{8} + 2998272t^{7}
4252
\,+
4253
\\
4254
5505024t^{6} + 4816896t^{5} + 1892352t^{4}
4255
\,+
4256
\\
4257
286720t^{3} + 15360t^{2} + 256t + 1
4258
\end{array}
4259
\\
4260
1 &
4261
(256, 120, 56, 56) &
4262
16 &
4263
\begin{array}{l}
4264
45056t^{9} + 780288t^{8} + 2998272t^{7}
4265
\,+
4266
\\
4267
5505024t^{6} + 4816896t^{5} + 1892352t^{4}
4268
\,+
4269
\\
4270
286720t^{3} + 15360t^{2} + 256t + 1
4271
\end{array}
4272
\\
4273
2 &
4274
(256, 136, 72, 72) &
4275
16 &
4276
\begin{array}{l}
4277
184320t^{9} + 3852288t^{8} + 14893056t^{7}
4278
\,+
4279
\\
4280
23003136t^{6} + 14647296t^{5} + 3907584t^{4}
4281
\,+
4282
\\
4283
417792t^{3} + 17408t^{2} + 256t + 1
4284
\end{array}
4285
\\
4286
3 &
4287
(256, 136, 72, 72) &
4288
16 &
4289
\begin{array}{l}
4290
184320t^{9} + 3852288t^{8} + 14893056t^{7}
4291
\,+
4292
\\
4293
23003136t^{6} + 14647296t^{5} + 3907584t^{4}
4294
\,+
4295
\\
4296
417792t^{3} + 17408t^{2} + 256t + 1
4297
\end{array}
4298
\\
4299
4 &
4300
(256, 120, 56, 56) &
4301
16 &
4302
\begin{array}{l}
4303
105984t^{8} + 976896t^{7} + 3440640t^{6}
4304
\,+
4305
\\
4306
4128768t^{5} + 1835008t^{4} + 286720t^{3}
4307
\,+
4308
\\
4309
15360t^{2} + 256t + 1
4310
\end{array}
4311
\\
4312
% \hline
4313
% \end{array}
4314
% \end{align*}
4315
% \caption{$[f_{8,9}]$ extended Cayley classes (part 1).}
4316
% \label{tab-c8_9_EC_classes}
4317
% \end{table}
4318
% %%\newpage
4319
% \begin{table}[!bhpt] % [H]
4320
% \small{}
4321
% \begin{align*}
4322
% \def\arraystretch{1.2}
4323
% \begin{array}{|cccl|}
4324
% \hline
4325
% \text{Class} &
4326
% \text{Parameters} &
4327
% \text{2-rank} &
4328
% \text{Clique polynomial}
4329
% \\
4330
% \hline
4331
5 &
4332
(256, 136, 72, 72) &
4333
16 &
4334
\begin{array}{l}
4335
9216t^{10} + 264192t^{9} + 4468224t^{8}
4336
\,+
4337
\\
4338
16803840t^{7} + 24772608t^{6} + 15138816t^{5}
4339
\,+
4340
\\
4341
3932160t^{4} + 417792t^{3} + 17408t^{2} + 256t + 1
4342
\end{array}
4343
\\
4344
6 &
4345
(256, 120, 56, 56) &
4346
16 &
4347
\begin{array}{l}
4348
9216t^{9} + 124416t^{8} + 976896t^{7}
4349
\,+
4350
\\
4351
3440640t^{6} + 4128768t^{5} + 1835008t^{4}
4352
\,+
4353
\\
4354
286720t^{3} + 15360t^{2} + 256t + 1
4355
\end{array}
4356
\\
4357
7 &
4358
(256, 136, 72, 72) &
4359
16 &
4360
\begin{array}{l}
4361
193536t^{9} + 4449792t^{8} + 16803840t^{7}
4362
\,+
4363
\\
4364
24772608t^{6} + 15138816t^{5} + 3932160t^{4}
4365
\,+
4366
\\
4367
417792t^{3} + 17408t^{2} + 256t + 1
4368
\end{array}
4369
\\
4370
\hline
4371
\end{array}
4372
\end{align*}
4373
%\caption{$[f_{8,9}]$ extended Cayley classes (part 2).}
4374
\caption{$[f_{8,9}]$ extended Cayley classes.}
4375
%\label{tab-c8_9_EC_classes_2}
4376
\label{tab-c8_9_EC_classes}
4377
\end{table}
4378
4379
\begin{table}
4380
\small{}
4381
\begin{align*}
4382
\def\arraystretch{1.2}
4383
\begin{array}{|ccc|}
4384
\hline
4385
[f_{8,9}] &
4386
[f_{8,9}] &
4387
\text{Frequency}
4388
\\
4389
&
4390
\text{duals} &
4391
\\
4392
\hline
4393
0 & 1 & 9216
4394
\\
4395
1 & 0 & 9216
4396
\\
4397
2 & 3 & 7168
4398
\\
4399
3 & 2 & 7168
4400
\\
4401
4 & 4 & 8192
4402
\\
4403
5 & 5 & 8192
4404
\\
4405
6 & 6 & 8192
4406
\\
4407
7 & 7 & 8192
4408
\\
4409
\hline
4410
\end{array}
4411
\end{align*}
4412
\caption{Correspondence between $[f_{8,9}]$ extended Cayley classes and $[f_{8,9}]$ dual extended Cayley classes.}
4413
\label{tab-c8_9-dual-EC_classes}
4414
\end{table}
4415
% \end{frame}
4416
\newpage
4417
% \begin{frame}
4418
\paragraph*{ET class $[f_{8,10}]$.}
4419
%
4420
This is the ET class of the bent function
4421
\small{}
4422
\begin{align*}
4423
f_{ 8 , 10 } :=
4424
\begin{array}{l}
4425
x_{0} x_{1} x_{2} + x_{0} x_{3} x_{6} + x_{0} x_{4} + x_{0} x_{5} + x_{1} x_{3} x_{4} + x_{1} x_{6}
4426
+ x_{2} x_{3} x_{5}\, +
4427
\\
4428
x_{2} x_{4} + x_{3} x_{7}.
4429
\end{array}
4430
\end{align*}
4431
\normalsize{}
4432
The ET class contains 10 extended Cayley classes as per
4433
Table~\ref{tab-c8_10_EC_classes}.
4434
%Tables~\ref{tab-c8_10_EC_classes} and~\ref{tab-c8_10_EC_classes_2}.
4435
In 4 of these 10 classes, each bent function is extended Cayley equivalent to its dual.
4436
In the remaining 6 extended Cayley classes, the dual of every bent function in the class has a Cayley graph
4437
that is isomorphic to that of one other class. That is, the 6 Cayley classes form three duality pairs of classes.
4438
This correspondence between Cayley classes and Cayley classes of duals is shown in Table~\ref{tab-c8_10-dual-EC_classes}.
4439
4440
The 10 extended Cayley classes are distributed
4441
as shown in Figures~\ref{fig:c8_10_bent_cayley_graph_index_matrix} (classes) and~\ref{fig:c8_10_dual_cayley_graph_index_matrix}
4442
(classes of duals).
4443
% f8_10
4444
\begin{table}[!bhpt] % [H]
4445
\small{}
4446
\begin{align*}
4447
\def\arraystretch{1.2}
4448
\begin{array}{|cccl|}
4449
\hline
4450
\text{Class} &
4451
\text{Parameters} &
4452
\text{2-rank} &
4453
\text{Clique polynomial}
4454
\\
4455
\hline
4456
0 &
4457
(256, 120, 56, 56) &
4458
16 &
4459
\begin{array}{l}
4460
16384t^{9} + 464896t^{8} + 2310144t^{7}
4461
\,+
4462
\\
4463
5046272t^{6} + 4816896t^{5} + 1892352t^{4}
4464
\,+
4465
\\
4466
286720t^{3} + 15360t^{2} + 256t + 1
4467
\end{array}
4468
\\
4469
1 &
4470
(256, 120, 56, 56) &
4471
16 &
4472
\begin{array}{l}
4473
16384t^{9} + 464896t^{8} + 2310144t^{7}
4474
\,+
4475
\\
4476
5046272t^{6} + 4816896t^{5} + 1892352t^{4}
4477
\,+
4478
\\
4479
286720t^{3} + 15360t^{2} + 256t + 1
4480
\end{array}
4481
\\
4482
2 &
4483
(256, 120, 56, 56) &
4484
16 &
4485
\begin{array}{l}
4486
12288t^{9} + 301056t^{8} + 1589248t^{7}
4487
\,+
4488
\\
4489
4128768t^{6} + 4423680t^{5} + 1859584t^{4}
4490
\,+
4491
\\
4492
286720t^{3} + 15360t^{2} + 256t + 1
4493
\end{array}
4494
\\
4495
3 &
4496
(256, 120, 56, 56) &
4497
16 &
4498
\begin{array}{l}
4499
12288t^{9} + 301056t^{8} + 1589248t^{7}
4500
\,+
4501
\\
4502
4128768t^{6} + 4423680t^{5} + 1859584t^{4}
4503
\,+
4504
\\
4505
286720t^{3} + 15360t^{2} + 256t + 1
4506
\end{array}
4507
\\
4508
4 &
4509
(256, 136, 72, 72) &
4510
16 &
4511
\begin{array}{l}
4512
110592t^{9} + 4159488t^{8} + 17285120t^{7}
4513
\,+
4514
\\
4515
25296896t^{6} + 15302656t^{5} + 3940352t^{4}
4516
\,+
4517
\\
4518
417792t^{3} + 17408t^{2} + 256t + 1
4519
\end{array}
4520
\\
4521
% \hline
4522
% \end{array}
4523
% \end{align*}
4524
% \caption{$[f_{8,10}]$ extended Cayley classes (part 1).}
4525
% \label{tab-c8_10_EC_classes}
4526
% \end{table}
4527
% %%\newpage
4528
% \begin{table}[!bhpt] % [H]
4529
% \small{}
4530
% \begin{align*}
4531
% \def\arraystretch{1.2}
4532
% \begin{array}{|cccl|}
4533
% \hline
4534
% \text{Class} &
4535
% \text{Parameters} &
4536
% \text{2-rank} &
4537
% \text{Clique polynomial}
4538
% \\
4539
% \hline
4540
5 &
4541
(256, 136, 72, 72) &
4542
16 &
4543
\begin{array}{l}
4544
110592t^{9} + 4159488t^{8} + 17285120t^{7}
4545
\,+
4546
\\
4547
25296896t^{6} + 15302656t^{5} + 3940352t^{4}
4548
\,+
4549
\\
4550
417792t^{3} + 17408t^{2} + 256t + 1
4551
\end{array}
4552
\\
4553
6 &
4554
(256, 120, 56, 56) &
4555
16 &
4556
\begin{array}{l}
4557
2048t^{9} + 167424t^{8} + 1091584t^{7}
4558
\,+
4559
\\
4560
3440640t^{6} + 4128768t^{5} + 1835008t^{4}
4561
\,+
4562
\\
4563
286720t^{3} + 15360t^{2} + 256t + 1
4564
\end{array}
4565
\\
4566
7 &
4567
(256, 136, 72, 72) &
4568
16 &
4569
\begin{array}{l}
4570
7168t^{10} + 143360t^{9} + 3804672t^{8}
4571
\,+
4572
\\
4573
15886336t^{7} + 24313856t^{6} + 15138816t^{5}
4574
\,+
4575
\\
4576
3932160t^{4} + 417792t^{3} + 17408t^{2} + 256t + 1
4577
\end{array}
4578
\\
4579
8 &
4580
(256, 120, 56, 56) &
4581
16 &
4582
\begin{array}{l}
4583
9216t^{9} + 181760t^{8} + 1091584t^{7}
4584
\,+
4585
\\
4586
3440640t^{6} + 4128768t^{5} + 1835008t^{4}
4587
\,+
4588
\\
4589
286720t^{3} + 15360t^{2} + 256t + 1
4590
\end{array}
4591
\\
4592
9 &
4593
(256, 136, 72, 72) &
4594
16 &
4595
\begin{array}{l}
4596
107520t^{9} + 3790336t^{8} + 15886336t^{7}
4597
\,+
4598
\\
4599
24313856t^{6} + 15138816t^{5} + 3932160t^{4}
4600
\,+
4601
\\
4602
417792t^{3} + 17408t^{2} + 256t + 1
4603
\end{array}
4604
\\
4605
\hline
4606
\end{array}
4607
\end{align*}
4608
%\caption{$[f_{8,10}]$ extended Cayley classes (part 2).}
4609
\caption{$[f_{8,10}]$ extended Cayley classes.}
4610
%\label{tab-c8_10_EC_classes_2}
4611
\label{tab-c8_10_EC_classes}
4612
\end{table}
4613
4614
\begin{table}
4615
\small{}
4616
\begin{align*}
4617
\def\arraystretch{1.2}
4618
\begin{array}{|ccc|}
4619
\hline
4620
[f_{8,10}] &
4621
[f_{8,10}] &
4622
\text{Frequency}
4623
\\
4624
&
4625
\text{duals} &
4626
\\
4627
\hline
4628
0 & 1 & 2048
4629
\\
4630
1 & 0 & 2048
4631
\\
4632
2 & 3 & 7168
4633
\\
4634
3 & 2 & 7168
4635
\\
4636
4 & 5 & 7168
4637
\\
4638
5 & 4 & 7168
4639
\\
4640
6 & 6 & 8192
4641
\\
4642
7 & 7 & 8192
4643
\\
4644
8 & 8 & 8192
4645
\\
4646
9 & 9 & 8192
4647
\\
4648
\hline
4649
\end{array}
4650
\end{align*}
4651
\caption{Correspondence between $[f_{8,10}]$ extended Cayley classes and $[f_{8,10}]$ dual extended Cayley classes.}
4652
\label{tab-c8_10-dual-EC_classes}
4653
\end{table}
4654
4655
\begin{figure}[!bhpt] % [H]
4656
\centering
4657
\begin{minipage}{.48\textwidth}
4658
\centering
4659
\includegraphics[width=.9\linewidth]{c8_10_bent_cayley_graph_index_matrix.png}
4660
\captionof{figure}{$[f_{8,10}]$: extended Cayley classes.}
4661
\label{fig:c8_10_bent_cayley_graph_index_matrix}
4662
\end{minipage}
4663
~~
4664
\begin{minipage}{.48\textwidth}
4665
\centering
4666
\includegraphics[width=.9\linewidth]{c8_10_dual_cayley_graph_index_matrix.png}
4667
\captionof{figure}{$[f_{8,10}]$: extended Cayley classes of dual bent functions.}
4668
\label{fig:c8_10_dual_cayley_graph_index_matrix}
4669
\end{minipage}%
4670
\end{figure}
4671
% \end{frame}
4672
% \end{colortheme}
4673
% \begin{colortheme}{seagull}
4674
% \begin{frame}
4675
\newpage
4676
4677
\subsection{Two sequences of bent functions}
4678
4679
As stated in the introduction, in a recent paper \cite{Leo17Hurwitz},
4680
the author found an example of two infinite series of bent functions whose
4681
Cayley graphs have the same strongly regular parameters at each dimension,
4682
but are not isomorphic if the dimension is 8 or more.
4683
The sequences are $\sigma_m$ and $\tau_m$ for $m \geqslant 1$,
4684
whose definitions are reproduced here from \cite{Leo15Twin}.
4685
4686
\begin{definition}
4687
\label{def-sigma-tau}
4688
The sign-of-square function $\sigma_m : \Z_2^{2 m} \To \Z_2$ is defined as follows:
4689
4690
For $i \in \Z_{2^{2m}},$ $\sigma_m(i) = 1$ if and only if the number of
4691
1 digits in the base 4 representation of $i$ is odd.
4692
4693
The non-diagonal-symmetry function $\tau_m \colon \Z_{2^{2 m}} \To \Z_2$
4694
is defined as follows.
4695
4696
For $i$ in $\Z_2^2$:
4697
\begin{align*}
4698
&\tau_1(i) :=
4699
\begin{cases}
4700
1 &\text{if~}i = 10,
4701
\\
4702
0 &\text{otherwise}.
4703
\end{cases}
4704
\end{align*}
4705
4706
For $i$ in $\Z_2^{2 m - 2}$:
4707
\begin{align*}
4708
&\tau_m (00 \odot i) := \tau_{m-1}(i),
4709
\\
4710
&\tau_m (01 \odot i) := \sigma_{m-1}(i),
4711
\\
4712
&\tau_m (10 \odot i) := \sigma_{m-1}(i) + 1,
4713
\\
4714
&\tau_m (11 \odot i) := \tau_{m-1}(i).
4715
\end{align*}
4716
where $\odot$ denotes concatenation of bit vectors, and $\sigma$ is the sign-of-square function, as above.
4717
\end{definition}
4718
4719
As shown in \cite{Leo15Twin}, both sequences produce Cayley graphs whose strongly regular parameters are
4720
\begin{align*}
4721
(v_m,k_m,\lambda_m=\mu_m) &= (4^m, 2^{2 m - 1} - 2^{m-1}, 2^{2 m - 2} - 2^{m-1}).
4722
\end{align*}
4723
4724
%\begin{colortheme}{jubata}
4725
4726
%\begin{frame}
4727
%\frametitle{For 2 dimensions: $[\sigma_1]$ and $[\tau_1]$}
4728
\begin{figure}[!ht]
4729
\centering
4730
\begin{minipage}{.48\textwidth}
4731
\centering
4732
\includegraphics[width=.9\linewidth]{sigma_1_bent_cayley_graph_index_matrix.png}
4733
\captionof{figure}{$[\sigma_1]$:\\2 extended Cayley classes}
4734
\label{fig:sigma_1_bent_cayley_graph_index_matrix}
4735
\end{minipage}%
4736
\begin{minipage}{.48\textwidth}
4737
\centering
4738
\includegraphics[width=.9\linewidth]{tau_1_bent_cayley_graph_index_matrix.png}
4739
\captionof{figure}{$[\tau_1]$:\\2 extended Cayley classes}
4740
\label{fig:tau_1_bent_cayley_graph_index_matrix}
4741
\end{minipage}
4742
\end{figure}
4743
%\end{frame}
4744
4745
%\begin{frame}
4746
%\frametitle{For 4 dimensions: $[\sigma_2]$ and $[\tau_2]$}
4747
\begin{figure}[!hb]
4748
\centering
4749
\begin{minipage}{.48\textwidth}
4750
\centering
4751
\includegraphics[width=.9\linewidth]{sigma_2_bent_cayley_graph_index_matrix.png}
4752
\captionof{figure}{$[\sigma_2]$:\\2 extended Cayley classes}
4753
\label{fig:sigma_2_bent_cayley_graph_index_matrix}
4754
\end{minipage}%
4755
\begin{minipage}{.48\textwidth}
4756
\centering
4757
\includegraphics[width=.9\linewidth]{tau_2_bent_cayley_graph_index_matrix.png}
4758
\captionof{figure}{$[\tau_2]$:\\2 extended Cayley classes}
4759
\label{fig:tau_2_bent_cayley_graph_index_matrix}
4760
\end{minipage}
4761
\end{figure}
4762
%\end{frame}
4763
4764
Figures \ref{fig:sigma_1_bent_cayley_graph_index_matrix} to \ref{fig:tau_4_bent_cayley_graph_index_matrix}
4765
illustrate the extended Cayley classes within the ET classes of each of function $\sigma_m$ and $\tau_m$ for $m$ from 1 to 4.
4766
Note that $\tau_3$ has degree 3, and $\tau_4$ has degree 4.
4767
As shown in \cite{Leo17Hurwitz},
4768
The functions $\sigma_m$ and $\tau_m$ are extended Cayley equivalent for $m$ from 1 to 3, but are inequivalent for $m>3$.
4769
4770
%\begin{frame}
4771
%\frametitle{For 6 dimensions: $[\sigma_3]$ and $[\tau_3]$}
4772
\begin{figure}[!ht]
4773
\centering
4774
\begin{minipage}{.48\textwidth}
4775
\centering
4776
\includegraphics[width=.9\linewidth]{sigma_3_bent_cayley_graph_index_matrix.png}
4777
\captionof{figure}{$[\sigma_3]$:\\2 extended Cayley classes}
4778
\label{fig:sigma_3_bent_cayley_graph_index_matrix}
4779
\end{minipage}%
4780
\begin{minipage}{.48\textwidth}
4781
\centering
4782
\includegraphics[width=.9\linewidth]{tau_3_bent_cayley_graph_index_matrix.png}
4783
\captionof{figure}{$[\tau_3]$:\\3 extended Cayley classes}
4784
\label{fig:tau_3_bent_cayley_graph_index_matrix}
4785
\end{minipage}
4786
\end{figure}
4787
%\end{frame}
4788
4789
%\begin{frame}
4790
%\frametitle{For 8 dimensions: $[\sigma_4]$ and $[\tau_4]$}
4791
\begin{figure}[!hb]
4792
\centering
4793
\begin{minipage}{.48\textwidth}
4794
\centering
4795
\includegraphics[width=.9\linewidth]{sigma_4_bent_cayley_graph_index_matrix.png}
4796
\captionof{figure}{$[\sigma_4]$:\\2 extended Cayley classes}
4797
\label{fig:sigma_4_bent_cayley_graph_index_matrix}
4798
\end{minipage}%
4799
\begin{minipage}{.48\textwidth}
4800
\centering
4801
\includegraphics[width=.9\linewidth]{tau_4_bent_cayley_graph_index_matrix.png}
4802
\captionof{figure}{$[\tau_4]$:\\5 extended Cayley classes}
4803
\label{fig:tau_4_bent_cayley_graph_index_matrix}
4804
\end{minipage}
4805
\end{figure}
4806
%\end{frame}
4807
%\end{colortheme}
4808
~
4809
\newpage
4810
~
4811
\newpage
4812
~
4813
\newpage
4814
%\paragraph*{Example CAST-128 S-Box ET class $[cast128_{1,0}]$.}
4815
\subsection{CAST-128 S-boxes}
4816
%
4817
The CAST-128 encryption algorithm is used in PGP and elsewhere \cite{Ada97}.
4818
The algorithm uses 8 S-boxes, each of which consists of 32 Boolean bent functions in 8 dimensions,
4819
with degree 4, making 256 bent functions in total.
4820
The full CAST-128 algorithm, including the contents of the S-boxes,
4821
is published as IETF Request For Comments 2144 \cite{RFC2144}.
4822
4823
The bent function $cast128_{1,0}$ is the first bent function of S-box number 1 of CAST-128.
4824
Its definition by algebraic normal form is
4825
\footnotesize{}
4826
\begin{align*}
4827
cast128_{1,0} :=
4828
\begin{array}{l}
4829
x_{0} x_{1} x_{2} x_{3} + x_{0} x_{1} x_{2} x_{4} + x_{0} x_{1} x_{2} x_{5} + x_{0} x_{1} x_{2} + x_{0} x_{1} x_{3} x_{5} + x_{0} x_{1} x_{3} x_{6}\, +
4830
\\
4831
x_{0} x_{1} x_{3} + x_{0} x_{1} x_{5} x_{6} + x_{0} x_{1} x_{6} + x_{0} x_{1} x_{7} + x_{0} x_{2} x_{3} x_{4} + x_{0} x_{2} x_{3}\, +
4832
\\
4833
x_{0} x_{2} x_{4} x_{5} + x_{0} x_{2} x_{5} x_{7} + x_{0} x_{2} x_{6} + x_{0} x_{2} x_{7} + x_{0} x_{2} + x_{0} x_{3} x_{4} x_{5}\, +
4834
\\
4835
x_{0} x_{3} x_{4} x_{6} + x_{0} x_{3} x_{5} x_{6} + x_{0} x_{3} + x_{0} x_{4} x_{5} x_{6} + x_{0} x_{4} x_{5} x_{7} + x_{0} x_{4} x_{5}\, +
4836
\\
4837
x_{0} x_{4} x_{6} + x_{0} x_{4} + x_{0} x_{5} x_{6} + x_{0} x_{5} x_{7} + x_{0} x_{6} + x_{0} x_{7} + x_{0} + x_{1} x_{2} x_{4} x_{6}\, +
4838
\\
4839
x_{1} x_{2} x_{4} x_{7} + x_{1} x_{2} x_{5} x_{6} + x_{1} x_{2} x_{7} + x_{1} x_{3} x_{4} x_{6} + x_{1} x_{3} x_{4} x_{7} + x_{1} x_{3} x_{5}\, +
4840
\\
4841
x_{1} x_{3} x_{7} + x_{1} x_{4} x_{5} x_{7} + x_{1} x_{4} x_{6} + x_{1} x_{5} x_{6} + x_{1} + x_{2} x_{3} x_{4} x_{6} + x_{2} x_{3} x_{4}\, +
4842
\\
4843
x_{2} x_{3} x_{5} x_{6} + x_{2} x_{3} x_{5} + x_{2} x_{3} x_{7} + x_{2} x_{4} + x_{2} x_{5} x_{6} + x_{2} x_{5} + x_{2} + x_{3} x_{4} x_{5} x_{6}\, +
4844
\\
4845
x_{3} x_{5} x_{6} + x_{3} x_{5} x_{7} + x_{3} x_{6} + x_{3} + x_{4} + x_{6} x_{7}.
4846
\end{array}
4847
\end{align*}
4848
\normalsize{}
4849
4850
This bent function $cast128_{1,0}$ is prolific:
4851
the ET class $[cast128_{1,0}]$ contains the maximum possible number of Cayley classes,
4852
that is $65\,536$.
4853
The duals of the bent functions $[cast128_{1,0}]$ give another $65\,536$ extended Cayley classes.
4854
In other words, no bent function in $[cast128_{1,0}]$ is EA equivalent to its dual.
4855
The two weight classes of $[cast128_{1,0}]$ are
4856
shown in Figure~\ref{fig:cast128_1_0_weight_class_matrix}.
4857
4858
\begin{figure}[!hb]
4859
\centering
4860
\begin{minipage}{.48\textwidth}
4861
\centering
4862
\includegraphics[width=.9\linewidth]{cast128_1_0_weight_class_matrix.png}
4863
\captionof{figure}{$[cast128_{1,0}]$:\\Weight classes ~~~~~~ ~~~~~~~~\\~\\Colormap: gist\_stern.}
4864
\label{fig:cast128_1_0_weight_class_matrix}
4865
\end{minipage}
4866
\begin{minipage}{.48\textwidth}
4867
\centering
4868
\includegraphics[width=.9\linewidth]{cast128_1_0_bent_cayley_graph_index_matrix.png}
4869
\captionof{figure}{$[cast128_{1,0}]$:\\$65\,536$ extended Cayley classes.\\Total including duals is $131\,072$.
4870
\\Colormap: jet.}
4871
\label{fig:cast128_1_0_bent_cayley_graph_index_matrix}
4872
\end{minipage}%
4873
\end{figure}
4874
%\frametitle{CAST-128 ET classes $[cast128_{2,1}]$ and $[cast128_{2,16}]$}
4875
4876
\begin{figure}[!ht]
4877
\centering
4878
\begin{minipage}{.48\textwidth}
4879
\centering
4880
\includegraphics[width=.9\linewidth]{cast128_2_1_bent_cayley_graph_index_matrix.png}
4881
\captionof{figure}{$[cast128_{2,1}]$:\\$8\,256$ extended Cayley classes.\\Total including duals is $8\,256$.
4882
\\Colormap: jet.}
4883
\label{fig:cast128_2_1_bent_cayley_graph_index_matrix}
4884
\end{minipage}%
4885
\begin{minipage}{.48\textwidth}
4886
\centering
4887
\includegraphics[width=.9\linewidth]{cast128_2_16_bent_cayley_graph_index_matrix.png}
4888
\captionof{figure}{$[cast128_{2,16}]$:\\$32\,768$ extended Cayley classes.\\Total including duals is $65\,536$.
4889
\\Colormap: jet.}
4890
\label{fig:cast128_2_16_bent_cayley_graph_index_matrix}
4891
\end{minipage}%
4892
\end{figure}
4893
%\frametitle{CAST-128 ET classes $[cast128_{4,27}]$ and $[cast128_{5,16}]$}
4894
\begin{figure}[!hb]
4895
\centering
4896
\begin{minipage}{.48\textwidth}
4897
\centering
4898
\includegraphics[width=.9\linewidth]{cast128_4_27_bent_cayley_graph_index_matrix.png}
4899
\captionof{figure}{$[cast128_{4,27}]$:\\$65\,536$ extended Cayley classes.\\Total including duals is $65\,536$.
4900
\\Colormap: jet.}
4901
\label{fig:cast128_4_27_bent_cayley_graph_index_matrix}
4902
\end{minipage}%
4903
\begin{minipage}{.48\textwidth}
4904
\centering
4905
\includegraphics[width=.9\linewidth]{cast128_5_16_bent_cayley_graph_index_matrix.png}
4906
\captionof{figure}{$[cast128_{5,16}]$:\\$33\,280$ extended Cayley classes.\\Total including duals is $66\,560$.
4907
\\Colormap: jet.}
4908
\label{fig:cast128_5_16_bent_cayley_graph_index_matrix}
4909
\end{minipage}%
4910
\end{figure}
4911
%\frametitle{CAST-128 ET classes $[cast128_{5,27}]$ and $[cast128_{6,17}]$}
4912
\begin{figure}[!ht]
4913
\centering
4914
\begin{minipage}{.48\textwidth}
4915
\centering
4916
\includegraphics[width=.9\linewidth]{cast128_5_27_bent_cayley_graph_index_matrix.png}
4917
\captionof{figure}{$[cast128_{5,27}]$:\\$6\,144$ extended Cayley classes.\\Total including duals is $6\,144$.
4918
\\Colormap: jet.}
4919
\label{fig:cast128_5_27_bent_cayley_graph_index_matrix}
4920
\end{minipage}%
4921
\begin{minipage}{.48\textwidth}
4922
\centering
4923
\includegraphics[width=.9\linewidth]{cast128_6_17_bent_cayley_graph_index_matrix.png}
4924
\captionof{figure}{$[cast128_{6,17}]$:\\$65\,536$ extended Cayley classes.\\Total including duals is $65\,536$.
4925
\\Colormap: jet.}
4926
\label{fig:cast128_6_17_bent_cayley_graph_index_matrix}
4927
\end{minipage}%
4928
\end{figure}
4929
%\frametitle{CAST-128 ET classes $[cast128_{7,15}]$ and $[cast128_{7,21}]$}
4930
\begin{figure}[!ht]
4931
\centering
4932
\begin{minipage}{.48\textwidth}
4933
\centering
4934
\includegraphics[width=.9\linewidth]{cast128_7_15_bent_cayley_graph_index_matrix.png}
4935
\captionof{figure}{$[cast128_{7,15}]$:\\$32\,768$ extended Cayley classes.\\Total including duals is $65\,536$.
4936
\\Colormap: jet.}
4937
\label{fig:cast128_7_15_bent_cayley_graph_index_matrix}
4938
\end{minipage}%
4939
\begin{minipage}{.48\textwidth}
4940
\centering
4941
\includegraphics[width=.9\linewidth]{cast128_7_21_bent_cayley_graph_index_matrix.png}
4942
\captionof{figure}{$[cast128_{7,21}]$:\\$32\,768$ extended Cayley classes.\\Total including duals is $65\,536$.
4943
\\Colormap: jet.}
4944
\label{fig:cast128_7_21_bent_cayley_graph_index_matrix}
4945
\end{minipage}%
4946
\end{figure}
4947
4948
Of the 256 bent functions that make up the 8 S-boxes of CAST-128, 248 are like $cast128_{1,0}$,
4949
they are prolific and are not EA equivalent to their duals.
4950
The remaining 8 bent functions are exceptional.
4951
Both $cast128_{4,27}$ and $cast128_{6,17}$ are prolific, but both are EA equivalent to their duals.
4952
\newpage
4953
4954
The other 6 bent functions are not prolific and the number of Cayley classes for each is given in the captions to
4955
Figures \ref{fig:cast128_2_1_bent_cayley_graph_index_matrix} to \ref{fig:cast128_7_21_bent_cayley_graph_index_matrix}.
4956
\subsection{Partial spread bent functions.}
4957
4958
According to Langevin and Hou \cite{LanH11counting}
4959
there are $70\,576\,747\,237\,594\,114\,392\,064 \approx 2^{75.9}$ \Emph{partial spread} bent functions in
4960
dimension 8,
4961
contained in $14\,758$ EA classes.
4962
The EA class representatives are listed at Langevin's web page \cite{Lan10psf}.
4963
On this web page,
4964
the file \texttt{psf-8.txt} contains details of $9316$ representatives that are
4965
$\mathcal{PS}^{(-)}$ bent functions, all of degree 4; and
4966
the file \texttt{psf-9.txt} contains details of $5442$ representatives that are
4967
$\mathcal{PS}^{(+)}$ bent functions, of which $5440$ are of degree 4.
4968
4969
Preliminary calculations using SageMath on the NCI Raijin supercomputer indicate that
4970
\begin{enumerate}
4971
\item
4972
The $5442$ EA classes of $\mathcal{PS}^{(+)}$ bent functions of dimension 8
4973
contain $296\,594\,720$ extended Cayley classes, assuming that each extended Cayley class appears in only one of the EA classes.
4974
\item
4975
If the duals of the $5442$ representatives, and their corresponding EA classes are included,
4976
the total number of extended Cayley classes is $541\,700\,450$, under the same assumption.
4977
\item
4978
Of the $5442$ representatives,
4979
$3434$ are prolific and not EA equivalent to their dual,
4980
$582$ are prolific and are EA equivalent to their dual,
4981
and the EA classes of the remaining $1426$ each contain less than $65\,536$ extended Cayley classes.
4982
\end{enumerate}
4983
The classifications of these $5442$ EA classes take up 2.1TB of space on the NCI Raijin supercomputer,
4984
and it is intended that these classifications will be incorporated into a public database, if support can be found to maintain it
4985
\cite{Leo18Database}.
4986
%\slidecite{Langevin and Hou 2011}
4987
% \end{frame}
4988
% \end{colortheme}
4989
% \begin{colortheme}{jubata}
4990
% \begin{frame}
4991
%\paragraph*{Example partial spread ET class $[psf_{9,5439}]$.}
4992
4993
%There are obviously too many bent functions of these two types to list here, but there is room for one example.
4994
4995
One example classification from $\mathcal{PS}^{(+)}$ in dimension 8 is that of $psf_{9,5439}$.
4996
The bent function $psf_{9,5439}$ is listed as function number $5439$ in \texttt{psf-9.txt},
4997
and is a $\mathcal{PS}^{(+)}$ bent function of degree 4.
4998
Its ET class $[psf_{9,5439}]$ contains 16 extended Cayley classes,
4999
of which 6 form three duality pairs similar to those seen in $[f_{8,9}]$ and $[f_{8,10}]$ above.
5000
5001
The 16 extended Cayley classes are distributed
5002
as shown in Figures~\ref{fig:psf_9_5439_bent_cayley_graph_index_matrix} (classes) and~\ref{fig:psf_9_5439_dual_cayley_graph_index_matrix}
5003
(classes of duals).
5004
5005
\begin{figure}[!ht] % [H]
5006
\centering
5007
\begin{minipage}{.48\textwidth}
5008
\centering
5009
\includegraphics[width=.9\linewidth]{psf_9_5439_bent_cayley_graph_index_matrix.png}
5010
\captionof{figure}{$[psf_{9,5439}]$:\\extended Cayley classes ~~ ~~~~ ~~~~\\~~~~~~~~~}
5011
\label{fig:psf_9_5439_bent_cayley_graph_index_matrix}
5012
\end{minipage}
5013
~~
5014
\begin{minipage}{.48\textwidth}
5015
\centering
5016
\includegraphics[width=.9\linewidth]{psf_9_5439_dual_cayley_graph_index_matrix.png}
5017
\captionof{figure}{$[psf_{9,5439}]$:\\extended Cayley classes of dual bent\\functions}
5018
\label{fig:psf_9_5439_dual_cayley_graph_index_matrix}
5019
\end{minipage}%
5020
\end{figure}
5021
5022
% \end{frame}
5023
5024
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5025
5026
%\addtocontents{toc}{\vspace{0.5cm}}
5027
5028
\newpage
5029
5030
\bibliographystyle{abbrv-par}
5031
5032
\bibliography{bib}
5033
5034
%\input{Leopardi-Bent-functions-Cayley-graphs.bbl}
5035
5036