Combinatorics of p-ary Bent Functions Steven Walsh April 25, 2014

advertisement
Combinatorics of p-ary Bent Functions
Steven Walsh∗
April 25, 2014
Abstract
In this paper, we investigate, from a combinatorical perspective,
a class of functions called p-ary bent functions, which are a class of
non-linear functions over finite fields that can be used to construct
more secure stream cipher cryptosystems. We will also examine partial difference sets, association schemes, and Schur rings. Ultimately,
we seek to explore the correlation between properties of weighted partial difference sets and bentness (see Question 12) and the correlation
between properties of Schur rings (and their association schemes) and
bentness (see Question 23). Finally, in our main result, we will prove
a partial characterization of bent functions in Theorem 25.
Contents
1 Introduction
2
2 Background and Definitions
3
3 Main Results
16
2
3.1 GF (3) → GF (3) . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.2 GF (3)3 → GF (3) . . . . . . . . . . . . . . . . . . . . . . . . . 18
3.3 Proof of Theorem 25 . . . . . . . . . . . . . . . . . . . . . . . 20
4 Acknowledgements
∗
22
Honors thesis, United States Naval Academy Mathematics Department, 2014
1
1
Introduction
A linear feedback shift register (LFSR) is a shift register in which inputs are
linear functions of their previous states. LFSRs are very easy to implement;
all they require is an initial state and a recursive function that utilizes the
values it generates. One example of a LFSR is the Fibonacci sequence (mod
2), which is defined by the initial state x0 = 0, x1 = 1 and the recursive
function xn = xn−1 + xn−2 . The Fibonacci sequence (0, 1, 1, 2, 3, 5, 8, 13,
21...) is converted to binary code (0, 1, 1, 0, 1, 1, 0, 1, 1...) to produce a
repeating sequence. LFSRs are especially useful because they can be used to
generate pseudo-random sequences of numbers, which can be very helpful in
areas such as electronic communications and crpytography. One specific application of LFSRs is the generation of keystreams in stream cipher systems.
In a stream cipher system, the keystream is a pseudo-random sequence of elements of some abelian group which is added coordinate-wise to the plaintext,
which is also comprised of elements from the same group. This forms the
ciphertext, which the sender sends to the recipient. The sender and recipient
of the plaintext both have access to the keystream and the recipient simply
has to subtract each symbol of the keystream from the ciphertext to recover
the original message. Most stream cipher systems will utilize modular arithmetic so that the coordinate-wise differences of the elements in the plaintext
and the elements in the ciphertext are difficult to determine. We can start
with a plaintext message (for example, 0, 0, 1, 0, 1, 1, 0, 0, 0...) and add the
binary Fibonacci sequence bit-wise to produce the ciphertext (0, 1, 0, 0, 0,
0, 0, 1, 1...).
+
001011000
011011011
010000011
These pseudo-random sequences, although seemingly random, and hence
secure, can be broken relatively easily using the Berlekamp-Massey algorithm. This algorithm was first discovered in 1968 by Elwyn Berlekamp and
was used to decode BCH codes; the algorithm was refined by James Massey
to decode stream ciphers. If a binary LFSR of key length k has maximal
length period of 2k − 1, then the Berlekamp-Massey algorithm requires only
2n consecutive terms of the sequence in order to find the coefficients of the
smallest LFSR that will generate that sequence. Again we will use the Fibonacci sequence as an example. Recall the equation that generates the
2
sequence: xn = xn−1 + xn−2 . The key is (1, 1), thus it has length 2. The
binary sequence generated has period 3 = 22 −1. Therefore, any 4-bit portion
of the sequence can be used to determine that the coefficients of the function
are both 1. This particular LFSR can be broken by brute force by testing
the only other recurrence relation of length 2 over GF (2), xn = xn−2 . It can
also be broken with simple linear algebra: choose a 4-bit subsequence (say,
(0,1,1,0)) and use the equation xn = c1 xn−1 + c2 xn−2 to solve for c1 and c2
and thus, determine the key (c1 , c2 ):
1 = c1 (1) + c2 (0) ⇒ c1 = 1
0 = c1 (1) + c2 (1) = 1(1) + c2 (1) ⇒ c2 = 1
As we can see, some LFSRs are very susceptible to easy decryption.
One way to prevent the decryption of an LFSR is to extend the period
of the sequence to a very large length, which will slightly complicate the
use of the Berlekamp-Massey algorithm. However, this will only delay an
inevitable decryption. A better method to produce a pseudo-random sequence that is difficult to decrypt is to use a bent, or perfectly non-linear,
function as a “filter”. Sequences yielded by bent functions lose the periodicity of LFSRs, so these sequences are much more resistant to linear
cryptanalysis, therefore keeping messages and transactions more secure. To
demonstrate this, we will return to the Fibonacci sequence (mod 2). Let
f : GF (3)2 → GF (3) be defined by f (x0 , x1 ) = x0 x1 . Then we can use the
filter (f (x0 , x1 ), f (x1 , x2 ), f (x2 , x3 ), ...), where the xi are the elements of the
Fibonacci sequence (mod 2), to produce the sequence (0, 1, 0, 0, 1, 0, 0, 1,
0...) and use it as a keystream. This filtering is done as follows:
f (0, 1) = 0 · 1 = 0
f (1, 1) = 1 · 1 = 1
f (1, 0) = 1 · 0 = 0
2
Background and Definitions
Here we introduce the Dillon correspondence: John Dillon proved in his PhD
thesis [D] that when p = 2, a function f : GP (2)n → GF (2) is bent if and
only if the level curve f −1 (1) = {v ∈ GF (2)n | f (v) = 1} yields a difference
set in GF (2)n (more specifically, a Hadamard difference set). We will consider bent functions f : GP (p)n → GF (p), where p is a prime number, and
3
explore the level curves f −1 (i) = {v ∈ GF (p)n | f (v) = i} to try to achieve
analogous results.
Some essential definitions follow.
Definition 1. Every GF (p)-valued function over GF (p)n can be expressed
as a polynomial. In particular, there is a unique polynomial g(x) of minimal degree called the algebraic normal form (analogous to the LaGrange
interpolation theorem). Let f : GF (p)n → GF (p). Then
g(x) =
X
v∈GF (p)n
f (v)
n−1
Y
i=0
!
p−1
Y
1
(j + vi − xi )
(p − 1)! j=1
(1)
This definition is explored more thoroughly in [CJMPW].
Definition 2. For a function f : GF (p)n → GF (p), the Walsh-Hadamard
transform of f is a complex-valued function on GF (p)n defined by:
X
Wf (u) =
ζ f (x)−hu,xi
(2)
x∈GF (p)n
where ζ = e2πi/p (i.e. the pth root of unity).1
Definition 3. A function f : GF (p)n → GF (p) is bent if
|Wf (u)| = pn/2
for all u ∈ GF (p)n .
Definition 4. Let G be a finite abelian multiplicative group of order v and
let D be a subset of G with order k. D is a (v, k, λ)-difference set if the
multiset {d1 d−1
| d1 , d2 ∈ D} represents every non-identity element of G
2
exactly λ times.
Remark 5. A Hadamard difference set has the parameters (v, k, λ) = (4n2 , 2n2 ±
n, n2 ± n) for some integer n.
1
This function is well-defined because if x1 , x2 are integers such that x1 ≡ x2 (mod p),
then we can say x2 = kp + x1 , k ∈ Z; then ζ x2 = ζ kp ζ x1 = ζ x1
4
Definition 6. Let G be a finite abelian multiplicative group of order v and
let D be a subset of G with order k. D is a (v, k, λ, µ)-partial difference
set (PDS) if the multiset {d1 d−1
2 | d1 , d2 ∈ D} represents every non-identity
element of D exactly λ times and every non-identity element of G \ D exactly
µ times.
Remark 7. The complement of a partial difference set is a partial difference
set. (see [MW])
Notation: For any subsets S1 and S2 of a group G, S1−1 = {−s1 | s1 ∈
S1 }, and S1 S2 = {s1 s2 | s1 ∈ S1 , s2 ∈ S2 }. As elements of C[G], the product
S1 S2 is similar.
In order to reach many of our conclusions, it is also required that D =
D−1 .
Definition 8. The Cayley graph X(G, D) is a graph constructed as follows:
from a subset D of G, let the vertices of the graph be the elements of the
group G. Two vertices g1 and g2 are connected by a directed edge from g1
to g − 2 if g2 = dg1 for some d ∈ D.
If D is a partial difference set such that λ 6= µ, then D = D−1 . Thus,
if g2 = dg1 , then g1 = d−1 g2 , so the Cayley graph X(G, D) is an undirected
graph.
Definition 9. For a (v, k, λ, µ)-PDS D, the Cayley graph X(G, D) is a
(v, k, λ, µ)-strongly regular graph if:
• X(G, D) has v vertices such that each vertex is connected to k other
vertices
• Distinct vertices g1 and g2 share edges with either λ or µ common
vertices
The neighborhood of a vertex g is the set N (g) = {g 0 ∈ G | g and g 0 are
connected}.
Here we introduce the Bernasconi correspondence: Bernasconi et al proved
in [BC] and [BCV] that when p = 2, a function f : GF (p)n → GF (p) is bent
if and only if the Cayley graph of f is a strongly regular graph having parameters srg(2n , k, λ, µ), where λ = µ and k = |supp(f )|.
5
The following theorem is a known fact; we will prove it to enforce understanding.
Theorem 10. Let G be an abelian multiplicative group and let D ⊆ G be
a subset such that 1 6∈ D. D is a (v, k, λ, µ)-PDS such that D = D−1 if and
only if the associated Cayley graph X(G, D) is a (v, k, λ, µ)-strongly regular
graph.
Proof. Suppose D is a (v, k, λ, µ)-PDS such that D = D−1 . Then X(G, D)
has v vertices. D has k elements, and each vertex g of X(G, D) has neighbors
dg, d ∈ D. Therefore, X(G, D) is regular, degree k. Let g1 and g2 be distinct
vertices in X(G, D). Let x be a vertex that is a common neighbor of g1 and
g2 , i.e. x ∈ N (g1 ) ∩ N (g2 ). Then x = d1 g1 = d2 g2 for some d1 , d2 ∈ D,
−1
−1
which implies that d1 d−1
2 = g1 g2 . If g1 g2 ∈ D, then there are exactly λ
ordered pairs (d1 , d2 ) that satisfy the previous equation (by Definition 3). If
g1−1 g2 ∈
/ D, then g1−1 g2 ∈ G \ D, so there are exactly µ ordered pairs (d1 , d2 )
that satisfy the equation. If g1−1 g2 ∈ D, then g2 = dg1 for some d ∈ D, so g1
and g2 are adjacent. By a similar argument, if g1−1 g2 ∈ G \ D, then g1 and
g2 are not adjacent. So X(G, D) is a (v, k, λ, µ)-strongly regular graph.
Conversely, suppose X(G, D) is a (v, k, λ, µ)-strongly regular graph. If
X(G, D) is undirected, then for vertices g1 and g2 , there is an edge from g1
to g2 if and only if there is an edge from g2 to g1 . This means that g1 = d1 g2
if and only if g2 = d2 g1 , for some d1 , d2 ∈ D. This implies that d2 = d−1
1 ,
so D = D−1 . By definition, g1 and g2 are connected by an edge if and only
if g1 = dg2 , d ∈ D. Since X(G, D) is (v, k, λ, µ)-strongly regular, it is kregular, so the order of D is k. Let x be a vertex in X(G, D) such that
x ∈ N (g1 ) ∩ N (g2 ). Then x = d1 g1 = d2 g2 for some d1 , d2 ∈ D, which implies
that d1 d−1
= g1−1 g2 . If g1 and g2 are adjacent, then g1−1 g2 ∈ D, so there
2
are exactly λ ordered pairs (d1 , d2 ) that satisfy the previous equation. If g1
and g2 are not adjacent, then g1−1 g2 ∈ G \ D, so there are exactly µ ordered
pairs (d1 , d2 ) that satisfy the equation. Therefore, D is a (v, k, λ, µ)-PDS and
D = D−1 . This notion of a partial difference set can be further explored by constructing “weighted partial difference sets”.
Let G be a finite abelian multiplicative group of order v and let D be a
subset of G of order k. Decompose D into a union of disjoint subsets
D = D1 ∪ D2 ∪ · · · ∪ Ds
6
and assume 1G ∈
/ D. Let ki = |Di |.
Definition 11. D is a weighted (v, k, λ, µ)-PDS if the following properties
hold:
• The multiset
Di Dj−1 = {d1 d−1
2 | d1 ∈ Di , d2 ∈ Dj }
represents every non-identity element of Dl exactly λi,j,l times and every
non-identity element of G − D exactly µi,j times (1 ≤ i, j, l ≤ s).
• For each i ∈ {1, 2, ..., s}, there exists a j ∈ {1, 2, ..., s} such that Di−1 =
Dj (if Di−1 = Di for all i, then the weighted PDS is symmetric).
For an even function f : GF (p)n → GF (p) (i.e. a function such that
f (x) = f (−x)), one possible method of constructing a weighted partial difference set on GF (p)n is to use the level curves of the function. In other
words, we can construct each individual Di as the set f −1 (i), (1 ≤ i ≤ p − 1),
and produce a weighted partial difference set. This does not work for all
cases; with some functions, some of the level curves are empty, and these
functions do not behave as well as those where all of the level curves are
non-empty.
Next we will introduce one of the questions that we will explore in this
paper.
Question 12. For an even function f : GF (p)n → GF (p) such that the
sets Di = f −1 (i) form a weighted partial difference set on GF (p)n , what
properties of this weighted partial difference set imply that f is bent?
Note: to clarify, we take D0 to be the set containing only the zero element
of GF (p)n , while Dp is the set GF (p)n \ (D0 ∪ D1 ∪ . . . ∪ Dp−1 ). In other
words, Dp contains all of the elements v besides the zero element such that
f (v) = 0.
Weighted partial difference sets can be reformulated in terms of the more
familiar concept of association schemes.
Definition 13. Let S be a finite set and let R0 , R1 , . . . , Rs denote binary
relations on S (subsets of S × S). The dual of a relation R is the set
7
R∗ = {(x, y) ∈ S × S | (y, x) ∈ R}.
Assume R0 = ∆S = {(x, x) ∈ S × S | x ∈ S}. We say (S, R0 , R1 , . . . , Rs ) is
a s-class association scheme on S if the following properties hold.
• We have a disjoint union
S × S = R0 ∪ R1 ∪ · · · ∪ Rs ,
with Ri ∩ Rj = ∅ for all i 6= j.
• For each i there is a j such that Ri∗ = Rj (and if Ri∗ = Ri for all i then
we say the association scheme is symmetric).
• For all i, j and all (x, y) ∈ S × S, define
pij (x, y) = |{z ∈ S | (x, z) ∈ Ri , (z, y) ∈ Rj }|.
For all k and for all (x, y) ∈ Rk , pij (x, y) is a constant, denoted pkij .
Definition 14. Let S be a finite set {s1 , s2 , · · · , sm } (of cardinality m) and
define R0 , R1 , · · · , Rs as above. The adjacency matrix of a set Rl is the m×m
matrix Al whose (i, j)th entry is 1 if (si , sj ) ∈ Rl or 0 otherwise.
Definition 15. Let (S, R0 , . . . , Rs ) denote a tuple consisting of a finite
abelian group S of order m with relations Ri for which we have a disjoint
union
S × S = R0 ∪ R1 ∪ · · · ∪ Rs ,
with Ri ∩ Rj = ∅ for all i 6= j. Let Ai denote the m × m adjacency matrix
of Ri , i = 0, 1, . . . , s.
We say that a subring of C[Mm×m (Z)] (where Mm×m (Z) is the ring of all
integer-valued m × m matrices) is an adjacency ring (also called the BoseMesner algebra) provided the set of adjacency matrices satisfies the following
properties:
• for each integer i ∈ [0, d], Ai is a (0, 1)-matrix,
Ps
•
i=0 Ai = J (the all 1’s matrix),
8
• for each integer i ∈ [0, d], t Ai = Aj , for some integer j ∈ [0, d],
P
• there is a subset J ⊂ G such that j∈J Aj = I, and
• there is a set of non-negative integers {pkij | i, j, k ∈ [0, . . . , d]} such
that
Ai Aj =
d
X
pkij Ak ,
k=0
for all such i, j.
It is well-known that a PDS (G, D) is naturally associated to a 2-class
association scheme, namely (G, R0 , R1 , R2 ) where
R0 = ∆G = {(g, g) | g ∈ G},
R1 = {(g, h) | gh−1 ∈ D},
R2 = {(g, h) | gh−1 ∈
/ D}.
To verify this, consider the “Schur ring.”
For the following definition, we identify any subset S of G with the formal
sum of its elements in C[G].
Definition 16. Let G be a finite abelian group and let C0 , C1 , . . . , Cs denote
finite subsets of G. The subalgebra of C[G] generated by C0 , C1 , . . . , Cs is
called a Schur ring over G if it satisfies the following conditions:
• C0 = {1} is the singleton containing the identity.
• We have a disjoint union
G = C0 ∪ C1 ∪ · · · ∪ Cs ,
with Ci ∩ Cj = ∅ for all i 6= j.
• for each i there is a j such that Ci−1 = Cj (and if Ci−1 = Ci for all i
then we say the Schur ring is symmetric).
9
• for all i, j, we have
Ci · Cj =
d
X
pkij Ck ,
k=0
for some integers pkij (these are sometimes referred to as the intersection
numbers).
Example 17. Let G = {ζ k | k ∈ Z, 0 ≤ k ≤ 5}, where ζ = e2πi/6 (G is the
set of the 6th roots of unity). Define
D0 = {ζ 0 } = {1} , D1 = {ζ 2 , ζ 4 }, D2 = {ζ, ζ 3 , ζ 5 }.
Clearly G is the disjoint union D0 ∪ D1 ∪ D2 and each Di is symmetric.
We compute D1 D2 , for instance, as follows:
D1 · D2 = (ζ 2 + ζ 4 ) · (ζ + ζ 3 + ζ 5 )
= ζ3 + ζ5 + ζ7 + ζ5 + ζ7 + ζ9
= 2ζ + 2ζ 3 + 2ζ 5 = 2D2
By this same process,
D1 · D1 = 2D0 + D1
D2 · D2 = 3D0 + 3D1
Therefore, the intersection numbers for this Schur ring are:
p011 = 2, p111 = 1, p211 = 0
p012 = 0, p112 = 0, p212 = 2
p022 = 3, p122 = 3, p222 = 0
Example 18. For another example of a Schur ring, we return to the PDS,
(G, D). Let
D0 = G \ (D ∪ {1}).
Note that
10
D · D = (k − µ) · I + (λ − µ) · D + µ · G,
(3)
D · D0 = (−k + µ) · 1 + (−1 − λ + µ) · D + (k − µ) · G.
(4)
and
With these equations, one can verify that a PDS naturally yields an associated Schur ring, generated by D, D0 , and D0 = {1} in C[G], and a 2-class
association scheme.
We will now state a more general proposition concerning weighted partial
difference sets.
Proposition 19. Let G be a finite abelian group. Let D0 , · · · , Ds ⊆ G such
that Di ∩ Dj = ∅ if i 6= j, and
• G is the disjoint union D0 ∪ · · · ∪ Ds
• for each i there is a j such that Di−1 = Dj , and
• Di · Dj =
l
P
pkij Dk for some positive integer pkij .
k=0
Then the matrices Pk = (pkij )0≤i,j≤l satisfy the following properties:
• P0 is a diagonal matrix with entries |D0 |, · · · , |Ds |
• For each k, the jth column of Pk has sum |Dj | (j = 0, · · · , l). Likewise,
the ith row of Pk has sum |Di | (i = 0, · · · , l).
Proof. We begin by taking the sum
Di · Dj =
l
P
pkij Dk
k=0
over all i, 0 ≤ i ≤ l.
G · Dj =
l P
l
P
( pkij )Dk
k=0 i=0
We know that G · Dj = |Dj | · G, and all the Dk are disjoint. As an identity
in the Schur ring, each element of G must occur |Dj | times on each side of
this equation. Therefore,
11
|Dj | =
l
P
pkij .
i=0
So the sum of the elements in the jth row of Pk is |Dj | for each j and k. The
analogous claim for the row sums is proven similarly. We will begin a series of propositions concerning intersection numbers
with the Matrix Walk theorem. Suppose we have an edge-weighted graph,
with weighted adjacency matrix A = (aij ), where aij = w if (i, j) is an edge
of the graph with weight w, and aij = 0 otherwise. Here, i, j run over all
vertices of the graph. For each weight w, let Aw = (aij (w)), where aij (w) = 1
if (i, j) is an edge of weight w, and aij (w) = 0 otherwise. Clearly, for w 6= w0 ,
the non-zero entries of Aw are distinct from the non-zero entries of Aw0 . Let
Aw Aw0 = (aij (w, w0 )). Then aij (w, w0 ) is the number of walks of length 2 from
i to j, where the first edge has weight w and the second edge has weight w0 ,
and aij (w, w0 ) = 0 if there is no such walk.
Theorem 20. Let f : GF (p)n → GF (p) be a function and let Γ be its
Cayley graph. Assume Γ is a weighted strongly regular graph. Let A = (ak,l )
be the adjacency matrix of Γ. Let Ai = (aik,l ) be the (0, 1)-matrix where
(
1 if ak,l = i
aik,l =
0 otherwise
for each i = 1, 2, . . . , p − 1. Let A0 be the pn × pn identity matrix. Let Ap
be the (0, 1)-matrix such that A0 + A1 + · · · + Ap−1 + Ap = J, the pn ×
pn matrix with all entries 1. Let R denote the matrix ring generated by
{A0 , A1 , · · · , Ap }. The intersection numbers pkij defined by
p
P
Ai Aj =
pkij Ak
k=0
satisfy the formula
pkij
=
1
pn |Dk |
for all i, j, k = 1, 2, . . . , p.
12
T r(Ai Aj Ak )
Proof. By the Matrix-Walk Theorem, Ai Aj can be considered as counting
walks along the Cayley graph of specific edge weights. Supposed (u, v) is an
edge of Γ with weight k. If k = 0, then u = v and the edge is a loop. If
k = p, then (u, v) is technically not an edge in Γ, but we will label it as an
edge of weight p.
The (u, v)-th entry of Ai Aj is the number of walks of length 2 from u to
v where the first edge has weight i and the second edge has weight j; the
entry is 0 if no such walk exists. If we consider the (u, v)-th entry on each
side of the equation
p
P
pkij Ak
Ai Aj =
k=0
pkij
we can deduce that
is the number of walks of length 2 from u to v where
the first edge has weight i and the second edge has weight j (it equals 0 if
no such walk exists) for any edge (u, v) with weight k in Γ.
Similarly, the Matrix-Walk Theorem implies that T r(Ai Aj Ak ) is the total
number of walks of length 3 having edge weights i, j, k. We claim that if
4 is any triangle with edge weights i, j, k, then by subtracting an element
v ∈ GF (p)n , we will obtain a triangle in Γ containing the zero vector as a
vertex with the same edge weights. Suppose 4 = (u1 , u2 , u3 ), where (u1 , u2 )
has edge weight i, (u2 , u3 ) has edge weight j, and (u3 , u1 ) has edge weight k.
Let 40 = (0, u2 − u1 , u3 − u1 ). We compute the edge weights of 40 :
edge weight of (0, u2 − u1 ) = f ((u2 − u1 ) − 0) = f (u2 − u1 ) = i
edge weight of (u2 − u1 , u3 − u1 ) = f ((u3 − u1 ) − (u2 − u1 ) = f (u3 − u2 ) = j
edge weight of (u3 − u1 , 0) = f (0 − (u3 − u1 )) = f (u1 − u3 ) = k
Thus the claim is proven.
Therefore,
1
|GF (p)n |
T r(Ai Aj Ak ) =
1
pn
T r(Ai Aj Ak )
is the number of closed walks of length 3 having edge weights i, j, k and containing the zero vector as a vertex, incident to the edge of weight i and the
edge of weight k.
13
There are |Dk | edges incident to the zero vector, so
1
1
T r(Ai Aj Ak )
pn
|Dk |
is the number of walks of length 2 from the zero vector to any neighbor of it
along an edge of weight k. This is equivalent to the definition of the number
pkij in the Matrix-Walk Theorem. The following proposition is from [CvL] (page 202).
Proposition 21. Let G = GF (p)n . Let D0 , · · · , Ds ⊆ G such that Di ∩Dj =
∅ if i 6= j, and
• G is the disjoint union of D0 ∪ · · · ∪ Ds
• for each i there is a j such that Di−1 = Dj , and
• Di · Dj =
l
P
pkij Dk for some positive integer pkij .
k=0
Then, for all i, j, k, |Dk |pkij = |Di |pikj .
Proof. For all i, j, k, we have the following identity of adjacency matrices:
Tr(Ai Aj Ak ) = pn |Dk |pkij
where pn is the order of G and pkij is an intersection number. Since Tr(AB)
= Tr(BA) for all matrices A and B, Tr(Ai Aj Ak ) = Tr(Ak Aj Ai ), and the
proposition follows. We can apply this concept to a weighted partial difference set and achieve
similar results. If G is a set and D = D1 ∪ D2 ∪ · · · ∪ Ds (all Di distinct) is
a weighted partial difference set of G, then we can construct an association
scheme as follows:
• Define R0 = ∆G = {(x, x) ∈ G × G | x ∈ G}.
• For 1 ≤ i ≤ s, define Ri = {(x, y) ∈ G × G | xy −1 ∈ Di , x 6= y}
• Define Rs+1 = {(x, y) ∈ G × G | xy −1 ∈
/ D, x 6= y}
14
Proposition 22. The collection (G, R0 , R1 , . . . , Rs , Rs+1 ) as defined above
produces an association scheme of class s + 1.
Proof. Consider the subring S of C[G] generated by D0 , · · · , Ds+1 , where
D0 = {1} and Ds+1 = G \ (D ∪ {1}). First, we show that S is a Schur ring.
−1
We know that for 0 ≤ i ≤ s, Di−1 = Dj for some j. Ds+1
= Ds+1 because (G, D) is a partial difference set if and only if (G, G \ D) is a partial
difference set.
We can then compute Di · Dj in C[G]; by the definition of a weighted partial
difference set,
s
P
Di · Dj = αij · 1 +
λi,j,l Dl + µi,j Ds+1
l=1
for some integer αij . So the Schur ring decomposition formula
Di · Dj =
s+1
P
pkij Dk
0
holds for some integer pkij .
Next, we will show that for all i, j, k ∈ {0, · · · , s + 1} and for (x, y) ∈ Rk ,
|{z ∈ G|(x, z) ∈ Ri , (z, y) ∈ Rj }|
is a constant that depends only on k (and i, j).
Choose (x, z) ∈ Ri , (z, y) ∈ Rj ; then xz −1 ∈ Di , zy −1 ∈ Dj . Consider
(xz −1 )(zy −1 ) = xy −1 ∈ Di · Dj . This is independent of z. There are exactly
pkij such elements z by the Schur ring structure identity, since every element
in Dk (e.g. xy −1 ) is repeated pkij times. With this additional structure on GF (p)n , we can ask another question.
Question 23. For an even function f : GF (p)n → GF (p), suppose that the
sets Di = f −1 (i) form a weighted partial difference set on GF (p)n . What
properties of the associated Schur ring and p-class association scheme imply
that f is bent?
15
We can begin exploring Question 1 with a table that displays the values
of all even bent functions GF (3)2 → GF (3) sending 0 to 0. There are exactly
18 such functions.
GF (3)2
b1
b2
b3
b4
b5
b6
b7
b8
b9
b10
b11
b12
b13
b14
b15
b16
b17
b18
(0, 0)
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
(1, 0)
1
2
1
2
0
1
0
2
0
2
0
2
1
1
0
0
2
1
(2, 0)
1
2
1
2
0
1
0
2
0
2
0
2
1
1
0
0
2
1
(0, 1)
1
1
2
0
2
0
1
0
2
2
0
1
2
0
1
0
1
2
(1, 1)
2
0
0
1
1
2
2
0
0
1
2
2
2
0
0
1
1
1
(2, 1)
2
0
0
0
0
0
0
1
1
1
1
1
1
2
2
2
2
2
(0, 2)
1
1
2
0
2
0
1
0
2
2
0
1
2
0
1
0
1
2
(1, 2)
2
0
0
0
0
0
0
1
1
1
1
1
1
2
2
2
2
2
(2, 2)
2
0
0
1
1
2
2
0
0
1
2
2
2
0
0
1
1
1
The algebraic normal form of these functions are:
b1 = x20 + x21 ,
b5 = −x0 x1 − x21 ,
b9 = x0 x1 − x21 ,
b2 = −x20 + x21 ,
b6 = x20 + x0 x1 ,
b10 = −x20 − x21 ,
b13 = x20 − x0 x1 − x21 ,
b16 = x0 x1 ,
b3 = x20 − x21 ,
b4 = −x20 − x0 x1 ,
b7 = x0 x1 + x21 ,
b11 = −x0 x1 ,
b14 = x20 − x0 x1 ,
b17 = −x20 + x0 x1 + x21 ,
b8 = −x20 + x0 x1 ,
b12 = −x20 − x0 x1 + x21 ,
b15 = −x0 x1 + x21 ,
b18 = x20 + x0 x1 − x21 .
The table and list of functions are from [CJMPW].
3
3.1
Main Results
GF (3)2 → GF (3)
By exhaustive case-by-case analysis, we have made an observation in the case
of functions from GF (3)2 to GF (3).
Theorem 24. Let f : GF (3)2 → GF (3) be an even bent function with
f (0) = 0. If the level curves of f ,
16
Di = {v ∈ GF (3)2 | f (v) = i},
yield a weighted PDS with intersection numbers pkij then one of the following
occurs.
1. We have |D1 | = |D2 | = 2, and the intersection numbers pkij are given
as follows:
p0ij
0
1
2
3
0
1
0
0
0
1
0
2
0
0
2
0
0
2
0
3
0
0
0
4
p1ij
0
1
2
3
0
0
1
0
0
1
1
1
0
0
2
0
0
0
2
3
0
0
2
2
p2ij
0
1
2
3
0
0
0
1
0
1
0
0
0
2
2
1
0
1
0
3
0
2
0
2
p3ij
0
1
2
3
0
0
0
0
1
1
0
0
1
1
2
0
1
0
1
3
1
1
1
1
2. We have |D1 | = |D2 | = 4, D3 = ∅, and the intersection numbers pkij are
given as follows:
p0ij
0
1
2
0
1
0
0
1
0
4
0
2
0
0
4
p2ij
0
1
2
0
0
0
1
1
0
2
2
2
1
2
1
p1ij
0
1
2
0
0
1
0
1
1
1
2
2
0
2
2
no p3ij
Since D3 = ∅, there are no i, j such that Di Dj will produce elements
of D3 .
17
3.2
GF (3)3 → GF (3)
We also pose the following theorem in the case of functions from GF (3)3 to
GF (3):
Theorem 25. Let f : GF (3)3 → GF (3) be an even bent function with
f (0) = 0. If the level curves of f ,
Di = {v ∈ GF (3)3 | f (v) = i},
yield a weighted PDS with intersection numbers pkij then one of the following
occurs.
1. We have |D1 | = 6, |D2 | = 12, and the intersection numbers pkij are
given as follows:
p0ij
0
1
2
3
0
1
0
0
0
1 2 3
0 0 0
6 0 0
0 12 0
0 0 8
p1ij
0
1
2
3
0
0
1
0
0
1
1
1
4
0
2
0
4
4
4
3
0
0
4
4
p2ij
0
1
2
3
0
0
0
1
0
1
0
2
2
2
p3ij
0
1
2
3
0
0
0
0
1
1
0
0
3
3
2
0
3
6
3
3
1
3
3
1
2
1
2
5
4
3
0
2
4
2
2. We have |D1 | = 12, |D2 | = 6, and the intersection numbers pkij are
given as follows:
18
p0ij
0
1
2
3
0 1 2 3
1 0 0 0
0 12 0 0
0 0 6 0
0 0 0 8
p1ij
0
1
2
3
0
0
1
0
0
1
1
5
2
4
2
0
2
2
2
3
0
4
2
2
p2ij
0
1
2
3
0
0
0
1
0
p3ij
0
1
2
3
0
0
0
0
1
1
0
6
3
3
2
0
3
0
3
3
1
3
3
1
1
0
4
4
4
2
1
4
1
0
3
0
4
0
4
Next, we examine the effect of the group action GL(n, GF (p)) (the group
of n × n invertible matrices with entries in GF (p)) on bent functions and the
corresponding weighted PDSs.
Proposition 26. Let f : GF (p)n → GF (p) be an even function such that
f (0) = 0 and define Di = f −1 (i) for i ∈ GF (p). Suppose φ : GF (p)n →
GF (p)n is a linear map that is invertible (i.e., det φ 6= 0 mod p). Define
the function g = f ◦ φ. If the collection of sets D1 , D2 , · · · , Dp−1 forms a
weighted partial difference set for GF (p)n then so does its image under the
function φ.
Proof. We can explore this question by utilizing the Schur ring generated by
the sets Di .
Recall that (D1 , D2 , · · · , Dp−1 ) forms a weighted partial difference set for
GF (p)n if and only if (C0 , C1 , C2 , · · · , Cp ) forms a Schur ring, where
C0 = {0}
C1 = D1 , · · · , Cp−1 = Dp−1
Cp = GF (p)n − (C0 ∪ · · · ∪ Cp−1 )
Ci · Cj =
p
P
ρkij Ck ,
k=0
for some intersection numbers ρkij . Note that f is even, so Ci = Ci−1 for all
i, where Ci−1 = {−x | x ∈ Ci }.
Define Si = g −1 (i) = {v ∈ GF (p)n | g(v) = i}. Di = f −1 (i) = (g ◦
19
φ−1 )−1 (i) = (φ · g −1 )(i) = φ(Si ). So the map φ sends Si to Di . φ can be
extended to a map from C[GF (p)n ] → C[GF (p)n ] such that φ(x1 + x2 ) =
φ(x1 ) + φ(x2 ) and φ(Si ) = Di . So φ is a homomorphism from the Schur
ring of g to the Schur ring of f . Therefore, the level curves of g give rise to
a Schur ring, and the weighted partial difference set generated by f is sent
to a weighted partial difference set generated by g under the map φ−1 . We
conclude that the Schur ring of g corresponds to a weighted partial difference
set for GF (p)n , which is the image of that for f . Remark 27. If f is bent, then g is the composition of a bent function and
an affine function, so it is also bent.
The above proof has the following corollary.
Corollary 28. Assuming the same hypothesis as in Proposition 26, the Schur
ring associated to the weighted partial difference set of f (as in the proof
above) is isomorphic to the Schur ring associated to the weighted partial
difference set of g.
Definition 29. Let G be a multiplicative group and let X be a set. G acts
on X (on the left) if there exists a map ρ : G × X → X such that:
• ρ(1G , x) = x for all x ∈ X
• ρ(g, ρ(h, x)) = ρ(gh, x) for all g, h ∈ G, x ∈ X
An orbit is any set of the form {ρ(g, x) | g ∈ G}; we call this the orbit of x.
3.3
Proof of Theorem 25
We will now prove Theorem 25.
Proof. One way to investigate this theorem is to partition the set of even functions into equivalence classes with respect to the group action of GL(3, GF (3)),
then pick a representative from each class and test for bentness. Once we
know which orbits under GL(3, GF (3)) are bent, we can check the conjecture
and the question for a representative from each orbit.
Consider the set E of all functions f : GF (3)3 → GF (3) such that
• f is even,
20
• f (0) = 0, and
• the degree of the algebraic normal form of f is at most 4.
We limit the degree to 4 because [CM] proved that this is the maximal
degree for bent functions.
Let B be the set of all bent functions in E. Recall the signature of f is
the sequence of cardinalities of the level curves
Di = {x ∈ GF (3)3 | f (x) = i}.
If f is bent, then so is f ◦ φ, for φ in G. We next note that the size
of the level curves f −1 (1) and f −1 (2) is the same for all functions in each
equivalence class. There are 120120 elements of E of signature (6, 12) or
(12, 6).
Mathematica was then used to find that there are a total of 281 equivalence classes of functions in E under the action of GL(3, GF (3)). Of these,
4 classes consist of bent functions.
There were two equivalence classes of bent functions of type |D1 | = 6 and
|D2 | = 12. The other two bent classes were of type |D1 | = 12 and |D2 | = 6
and consisted of the negatives of the functions in the first two classes. We
will call the classes B1 , B2 , B3 , and B4 :
B/G = B1 ∪ B2 ∪ B3 ∪ B4 .
Note the (6, 12) classes are negatives of the (12, 6) classes, so after a possible
re-indexing, we have B3 = −B1 and B4 = −B2 .
A representative of B1 is
f (x1 , x2 , x3 ) = x21 + x22 + x23 .
Note that the algebraic normal form of all these functions is quadratic.
A representative of B2 is
f (x1 , x2 , x3 ) = x1 x3 + 2x22 + 2x21 x22 .
After computing intersection numbers for the four equivalence class representatives, we have further seen that the equivalence class represented by
B1 corresponds to the first condition of Theorem 25 and the equivalence
class represented by B3 corresponds to the second condition. Meanwhile,
21
the equivalence classes represented by the functions B2 and B4 do not yield
weighted partial difference sets. In summary, we have defined bent functions, partial difference sets, Cayley graphs, association schemes, and Schur rings, and we have examined
several examples of bent functions in order to find information about their
corresponding algebraic structures. We have also provided a partial characterization of bent functions on GF (3)2 and GF (3)3 based on the sizes of the
level curves and the intersection numbers that correspond with the weighted
partial difference sets produced by these level curves.
With the final result in mind, there are some questions we can ask for
further research.
• Theorem 25 assumes a function is bent and shows that it yields certain
combinatorical structures. Is there a way to ”work backwards”, i.e.
use the combinatorical structures presented in this paper to determine
that a function is bent?
• Are there other combinatorical or algebraic structures that can be used
to characterize bent functions? Are bent functions generally conducive
to combinatorics or do they exhibit more ”random” behavior in that
regard?
• Is it better to use a bent function that has certain combinatorical structures as a filter function in a cipherstream system, or is it better to use
one that does not have this kind of organization?
4
Acknowledgements
I would like to thank Professor Joyner and Professor Melles of the USNA
Mathematics Department for their assistance with this project. Professor
Joyner was my main advisor throughout the project and Professor Melles
provided essential Mathematica calculations and general advice in proving
Theorem 25.
22
References
[BC] Anna Bernasconi and Bruno Codenotti, Spectral analysis of Boolean
functions as a graph eigenvalue problem, IEEE Transactions on Computers, 48:3 (1999) 345-351.
http://ilex.iit.cnr.it/codenotti/ps_files/graph_fourier.ps
[BCV] A. Bernasconi, B. Codenotti, J.M. VanderKam. A characterization
of bent functions in terms of strongly regular graphs, IEEE Transactions
on Computers, 50:9 (2001), 984-985.
[CJMPW] C. Celerier, D. Joyner, C. Melles, D. Phillips, S. Walsh Edgeweighted Cayley graphs and p-ary bent functions, preprint, 2014.
[CM] A. Cesmelioglu and W. Meidl, Bent functions of maximal degree, IEEE
Trans. Info. Theory 58(2012)1186-1190.
[CvL] P.J. Cameron, J.H. van Lint, Designs, Graphs, Codes, and their Links,
London Mathematical Society Student Texts 22, Cambridge University
Press (1991).
[D] J.F. Dillon, Elementary Hadamard difference sets, PhD thesis, University of Maryland, 1974.
[GK] M. Goresky, A. Klapper, Algebraic Shift Register Sequences, Cambridge
University Press (2012).
[MW] P. Magliaro, A. Weaver, Investigations into a possible new family of Partial Difference Sets, University of Richmond, 2003. http:
//www.mathcs.richmond.edu/~jad/summerwork/paper4.pdf
[PTFL] A. Pott, Y. Tan, T. Feng, S. Ling, Association schemes arising from
bent functions, Des. Codes Crypt. 59(2011)319-331.
23
Download