Open Problems On Cyclic Codes: Pascale Charpin
Open Problems On Cyclic Codes: Pascale Charpin
∗
Pascale Charpin
Contents
1 Introduction 3
1
4 Related problems. 90
4.1 Some problems in cryptography . . . . . . . . . . . . . . . . . 91
4.2 Cyclic codes and Goppa codes . . . . . . . . . . . . . . . . . . 96
4.3 On the weight enumerator of Preparata codes . . . . . . . . . 104
5 Conclusion 117
∗∗
“Handbook of Coding Theory”, Part 1: Algebraic Coding,
chapter 11, V. S. Pless, W. C. Huffman, editors, R. A. Brualdi, assistant
editor.
2
1 Introduction
We do not intend to give an exhaustive account of the research problems on
cyclic codes. Many are suggested in Chapter 1 and in several other chapters.
There are chapters which deal with a specific class of cyclic codes or with
related problems and it would be superfluous to say it again. Above all we
want to avoid a boring enumeration of the open problems; many are just
mentioned and could be solved soon.
Our purpose is to emphasize that this topic remains of great interest
for researchers in coding theory. It is a fact that cyclic codes are crucial
objects of coding theory. The involvement of Reed-Solomon codes and of
BCH codes in a number of applications is well-known. On the other hand
the generalized Reed-Muller codes are at the core of algebraic coding theory
and they should be considered as “classical”. The reader can be convinced
of the importance of cyclic codes by referring to the recent publications and
proceedings including as a topic Error-control Coding or, more generally,
Coding Theory. However there are famous old problems which have remained
open for a long time and we have chosen to focus on them. They essentially
involve questions of weights and forms of codewords.
Our concern is to place the problem in a large theoretical context. It
can be the general behaviour of group algebras, or of polynomials over finite
fields, or of the solving of algebraic systems. We want to show that general
tools can be used here in an extremely rich environment. Furthermore we
wish to point out any results on cyclic codes that apply in other contexts.
We give an elementary presentation, choosing simple aspects and basic
results. We don’t want to develop a theory, or even to suggest a method
precisely. It is because we have in mind that a hard research problem is
generally solved by building a theory for solving it. The main recent illustra-
tion of this fact in coding theory is the explanation of the duality between
Preparata and Kerdock codes.
We will often give results without proofs or with a sketch of a proof
because of the special subject of our chapter. Generally we prefer to explain
rather than to prove precisely. Following the same idea, we mainly treat
binary codes, which are simpler to handle. BCH codes and GRM codes
appear many times. This is because these classes impose the main filters of
the general class of cyclic codes — it is usual, when we study any cyclic code,
to begin by looking at their relations with BCH codes, or with GRM codes
3
when the code is primitive. For this reason, any result on BCH codes or on
GRM codes could have surprising consequences. In contrast, the Quadratic
Residue codes , which form a famous class with remarkable properties, appear
as a specific class.
The main notation and definitions are introduced in Section 2 and they
will be held to afterwards. However they will be specified again as often as
necessary. We don’t give a series of “research problems”. We think that
“comments” are more suited to our purpose. They are placed at the end of
the sections; short sections have no comments. Our purpose or our choices
are explained at the beginning of the main sections.
This chapter is not self-contained. We suppose that at least the intro-
duction on cyclic codes given in Chapter 1 is known. Our main reference for
the theory of finite fields is [102].
4
2.1 Notation
In accordance with Chapter 1, a cyclic code is viewed as an ideal in a poly-
nomial ring over a finite field; it is characterized by its generator polynomial.
In Chapter 1, the proper context for studying cyclic codes of length n over
the finite field k of order q, q = pr and p a prime, is the residue class ring
Rn = k[X]/(X n − 1).
5
2.2 Definitions
Let us denote by M the group algebra k[{G∗ , ×}], which is the group algebra
of the multiplicative group G∗ , over the field of order q denoted by k. An
element of M is a formal sum:
X
x= xg (g) , xg ∈ k .
g∈G∗
and !
X X X X
xg (g) × yg (g) = xh y k (g) .
g∈G∗ g∈G∗ g∈G∗ hk=g
where α is an nth root of unity. So any cyclic code can be seen as a group
algebra code, an ideal of M, say a code of M, the image
P by ψ of an ideal of
Rn . The shift of the codeword x is the codeword g∈G∗ xg (αg). Consider
the following k-linear map of M into F:
!
X X
ρs xg (g) = xg g s (1)
g∈G∗ g∈G∗
6
Definition 2.1 Let C be a cyclic code of length n over k. The defining
set T of C is the largest subset of the range [0, n − 1], invariant under the
multiplication by q (mod n), such that any codeword x ∈ C satisfies
ρs (x) = 0 , ∀s ∈ T .
C = { x ∈ M | ρs (x) = 0 , ∀s ∈ T } .
T ⊥ = { s ∈ [0, n − 1] | n − s 6∈ T } .
multiplicity p` in its splitting field. That means that the general form of the
generator polynomial of such a code is
Y
g(X) = (gi (X))ki , ki ∈ [1, p` ] ,
i∈I
where gi is the minimal polynomial of αi over k. In this case the defining set
of the cyclic code does not define the code uniquely – i.e. the condition on the
codewords given in Definition 2.1 is only a necessary condition. Henceforth,
in the remainder of the chapter, a cyclic code will be implicitly a simple-root
cyclic code, assuming that gcd(n, p) = 1. Although we will mainly treat
cyclic codes, the repeated-root codes will be mentioned later several times.
7
The Fourier transform of any codeword x, referred to as the Mattson-
Solomon (MS) polynomial , will be denoted by Mx (X). It is the polynomial
X
n−1
Mx (X) = ρn−s (x) X s , (3)
s=0
P
For any ξ ∈ F which is an nth root of unity the value of n−1 s=0 ξ is 0 if ξ 6= 1
s
One obviously deduces from (4) that when gcd(p, n) = 1, the weight of x
is n minus the number of roots of Mx (g). Note that one can define the MS
polynomial of codewords when gcd(n, p) 6= 1, but it is generally not invertible.
So it is of little interest for the codewords of a repeated-root cyclic code. Any
codeword of M can be characterized by its MS polynomial but this tool is of
most interest for the study of cyclic codes. In accordance with Definition 2.2
and with (3), (4), we can define a cyclic code by means of its MS polynomial.
X
n−1
x∈C 7−→ Φ(x) = Λn−s X s , Λn−s = ρn−s (x) .
s=0
8
Note that the image of the shift of x is as follows:
!
X X
n−1
Φ xg (αg) = Λn−s (α−1 X)s = Mx (X/α) . (5)
g∈G∗ s=0
One can say that the code C is formally defined by the polynomial
X
n−1
MC (X) = Λn−s X s ,
s=0
where (Λ1 , . . . , Λn ) ∈ L.
Therefore
X
n−1 X
n−1 X
n−1
0
Mx0 (X) = s
ρn−s (x ) X = α n−s s
ρn−s (x)X = ρn−s (x)(α−1 X)s ,
s=0 s=0 s=0
9
and M = k[{G∗ , ×}]. Recall that the cyclotomic cosets modulo 15 are
{0}, {1, 2, 4, 8}, {3, 6, 12, 9}, {5, 10}, {7, 14, 13, 11} .
Recall that Λ15 ∈ {0, 1}. Set = Λ15 , λ = Λ3 and µ = Λ7 . Each codeword
x of C is uniquely defined by a triple (, λ, µ) ∈ F3 ; its MS polynomial is as
follows:
Mx (X) = λX 12 + λ2 X 9 + µX 8 + λ8 X 6 + µ8 X 4 + λ4 X 3 + µ4 X 2 + µ2 X +
= + T r(λ4 X 3 + µ2 X) ,
where T r is the trace function from F to k. Note that the code C contains
2(24 )2 codewords; C has dimension 9. Consider the generating idempotent
of C. That is the codeword y defined by = λ = µ = 1. We obtain the
symbols of y by computing, for i ∈ [0, 14],
10
implying, by using (6),
where {αj | j ∈ J} is the support of y; note that wt(y) = 11. We can check
that y is the generating idempotent of C by computing the ρs (y). According
to (1) we obtain
providing
11
Denote by L the n × n matrix above. By expressing each column of C(x) in
the same way, it is easy to see that, up to rearrangement of columns:
x1 0 0 ··· 0
0 xα 0 · · · 0
C(x) = L .. .. L .
. .
0 0 · · · 0 xαn−1
Hence the rank of C(x) is equal to the number of non zero terms of the
diagonal of the matrix above. That is exactly the weight of x.
12
It is easy to check that the rank of C(y) is exactly 4. Note that both methods,
especially the second, necessitate a computer, except for such very simple
cases.
and !
X X X X
xg X g × yg X g = x h yk Xg .
g∈F g∈F g∈F h+k=g
13
Note that X 0 is the multiplicative unit. As previously (for the algebra M)
we consider the k-linear map of A into F:
!
X X
φs xg X g = xg g s (8)
g∈F g∈F
where 0 ≤ s ≤ n and 00 = 1.
Definition 2.7 Let the ambient space be A = k[{F, +}]. Let T be a subset
of [0, n], containing 0 and invariant under multiplication by q (mod n). The
extended cyclic code C b with defining set T is defined as follows:
b = { x ∈ A | φs (x) = 0 , ∀s ∈ T } .
C
14
zero of the code C. So the extension of C is not really an extension. One
simply considers C in the ambient space A.
The mapping φn is more interesting for the study of subcodes of C. b In
any code C, b we have the subcode containing the codewords x satisfying
φn (x) = 0. This subcode can be seen as the extension of the cyclic subcode of
C containing α0 as zero. When C is binary, this is the subcode of codewords
of even weight.
Finally we want to recall the definition of three “classical” classes of cyclic
codes: the Generalized Reed-Muller (GRM) codes, the Bose-Chaudhury-
Hocquenghem (BCH) codes, and the Quadratic Residue (QR) codes.
0
Definition 2.8 Let the ambient space be A; n = q m − 1, q = pr and m =
m0 r. For any q and any s ∈ [0, n] , the q-weight of s denoted by wtq (s) is
0 −1
X
m
wtq (s) = si ,
i=0
Pm0 −1 i
where i=0 si q is the q-ary expansion of s. The GRM code of order ν,
0
0 ≤ ν < m (q − 1), is the extended cyclic code over the field k = GF (q) with
defining set
15
Definition 2.10 Let the ambient space be M with two further conditions:
Denote by Q the set of the quadratic residues in the finite field Fn of order
n and by N the set of non residues:
Q = { s2 (mod n) | s ∈ Fn , s 6= 0 } .
Q , {0} ∪ Q , N , {0} ∪ N ,
Comments on Section 2.2 There are few papers about the class of
repeated-root cyclic codes. Some special such codes, related to RM codes,
were studied by Berman in [25] (see also [114] where the practical inter-
est is explained). Binary self-dual codes which are cyclic are repeated-root
cyclic codes; some properties are given in [132]. The most important work on
repeated-root cyclic codes is due to Castagnoli et al. [46, 1991]. The au-
thors treat the full class and present general results. Actually they introduce
the theory. They show precisely how some parameters of a repeated-root
cyclic code can be expressed from those of a certain simple-root cyclic code.
Thereby the repeated-root cyclic codes cannot be “better” than simple-root
cyclic codes. However these codes appear more evidently as interesting ob-
jects. Complements are given in [113]. On the other hand, van Lint has
described the binary cyclic codes of length 2n, n odd, by means of the well-
known |u|u+v| construction [140]. The repeated-root cyclic codes, considered
as ideals in a group algebra, have been extensively studied by Zimmermann
[154].
The weight enumerators of GRM codes, BCH codes and QR codes are
not always known, except RS codes, since they are MDS codes, and some
particular codes (such as the Hamming codes). For the RS codes the ques-
tion is to determine their complete weight enumerators. The minimum dis-
tance of GRM codes is known (see comments of Section 3.2 and 3.4.1). This
16
is generally not known for BCH codes and QR codes. The automorphism
groups of GRM codes, QR codes and narrow-sense BCH codes are known
(see Chapter(Huffman) and §3.5). There is no decoding algorithm known for
QR codes.
N = pm − 1 , N = nν , n < N .
(see Definition 2.1 and (3)). Now we compute the symbols of x by the inverse
Fourier transform; we obtain
17
Set i = ni1 + i2 with 0 ≤ i2 < n. We have
X X
Mx (αi ) = ρ(n−t)ν (x)αtν(ni1 +i2 ) = ρ(n−t)ν (x)β ti2 ,
0≤t≤n−1 0≤t≤n−1
n − t 6∈ T (C) n − t 6∈ T (C)
(10)
since αν = β and β n = 1. Hence
Mx (αni1 +i2 ) = Mx (αi2 ) , i1 ∈ [0, ν − 1] , i2 < n ,
which means xαi = xαi2 for i ≡ i2 modulo n. Now we take (Λ1 , . . . , Λn ) ∈ Fn
such that Λj = ρjν (x). Consider the codeword y in C whose MS polynomial
is X
My (X) = Λn−t X t .
0≤t≤n−1
n − t 6∈ T (C)
According to (10), we have for any i2 ∈ [0, n − 1]:
My (β i2 ) = Mx (αi2 ) ,
which means
yβ i2 = (N/n mod p) xαi2 = (ν mod p) xαi2 , i2 ∈ [0, n − 1] .
On the other hand, any primitive cyclic code whose defining set is of the form
(9), for some T (C) which is invariant under the multiplication by q (mod n),
corresponds to a non primitive cyclic code. We summarize this in the next
proposition (with notation introduced above).
Proposition 2.11 TheP cyclic code D is the “primitive form” of the code
C.
P Any codeword x = g∈F∗ xg (g) of D is obtained from a codeword y =
g∈G∗ yg (g) by repetition of symbols. That is:
X
N −1 X
n−1 X
i
x= xαi (α ) = xαj (αi )
i=0 j=0 i mod n=j
and
X
n−1 X
n−1
j
y= yβ j (β ) = (ν mod p) xαj (β j ) .
j=0 j=0
18
To conclude we would like to illustrate the link between the irreducible
cyclic codes and some diagonal equations. Suppose that C is an irreducible
cyclic code of length n over k. Then, up to equivalence, it is the code of
M which has as non zeros only β −1 and its conjugates. Let cl(−1) be the
q-cyclotomic coset of −1 modulo n. So
T (C) = [0, n − 1] \ cl(−1) .
(see Chapter 1, Theorem 5.25). Consider the code D, as previously defined
from C. According to (9) we have:
T (D) = [0, N − 1] \ { − ν, − qν , . . . , (−q m−1 ν) mod N } ,
implying that the defining set of the dual of D is the q-cyclotomic coset of ν
modulo N . Let us consider the equations over F of the type
a1 X1ν + . . . + aw Xwν = 0 , (11)
where ai ∈ k and w is an integer greater than two. They are diagonal
equations with a constant exponent over F [102, Chapter Pw 6]. A solution of
(11) is a w-tuple (g1 , . . . , gw ), gi ∈ F, satisfying ν
i=1 ai gi = 0. Suppose
that such a solution S is composed of k pairwise distinct nonzero elements,
say g1 , . . . , gk , and of w − k zeros. Then it corresponds to the codeword
X
k
x= ai (gi ) , x ∈ k[{F∗ , ×}] .
i=1
19
Example 2.12 Let N = 15 and n = 5; so F = GF (16) and ν = 3. Consider
the binary cyclic code D of length 15 with defining set
That is the binary cyclic code with only one non zero class, α3 (and its
conjugates). So its dimension is 4. The diagonal equations (12) providing
the weight enumerator of D⊥ are
X13 + . . . + Xw3 = 0 , 0 ≤ w ≤ 15 ,
Actually the code D is the primitive form of the code C of Example 2.6.
Indeed the set of non-zeros of D and C are respectively
{3 × 1, 3 × 2, 3 × 4, 3 × 3 } and {1, 2, 4, 3}
X 15 − 1
Mz (X) = X 12 + X 9 + X 6 + X 3 = +1 .
X3 − 1
20
The zeros of Mz (X) are those αk such that α3k = 1. The idempotent of
C was denoted by y; we showed that its MS polynomial is equal to (X 5 −
1)/(X − 1) + 1. In k[G∗ , ×], where G∗ is generated by β, we have
y = (β) + (β 2 ) + (β 3 ) + (β 4 )
providing in k[F∗ , ×]
Note that the supports of y and z satisfy the property characterizing idem-
potents: they are invariant under the Frobenius mapping.
The permutations σu,0 consist of shifting symbols unless the symbol is labelled
by 0. It is exactly the shift on codewords punctured in the position “0”. On
21
the other hand we have clearly
σ1,v (x) = X v x .
Definition
Pm−1 2.13 Let S = [0, pm − 1]. The p-ary expansion of s ∈ S is
i=0 si p , si ∈ [0, p − 1]. We denote by the partial order relation on S
i
defined as follows:
∀ s, t ∈ S : st ⇐⇒ si ≤ ti , i ∈ [0, m − 1]
22
descendant of t and t to be an ascendant of s. We can define a maximal
(resp. minimal) element of a subset of S, with respect to . Two elements,
s and t, are not related when they are distinct and are such that s 6≺ t and
t 6≺ s. An antichain of (S, ) is a set of non-related elements of S. In the
usual terminology, (S, ) is said to be a product of chains of size p.
where ∆(s) = ∆({s}). For simplification we will often say the border of the
code C, with defining set T , instead of the border of T . Many extended cyclic
codes have the same border. However one and only one affine-invariant code
corresponds to a given antichain, providing the classification of the affine-
invariant codes via antichains of (S, ).
23
the border of T 0 . So T 0 is included in T . If there exists an s ∈ T \ T 0 , then
T contains any descendant of s. In particular T contains a descendant of s
which is in the border of T 0 , a contradiction. Hence T 0 = T .
When the defining set of any cyclic code is precisely described, it is easy
to check if this code is affine-invariant or not. For instance, GRM codes and
extended narrow-sense BCH codes are obviously affine-invariant. It is more
difficult to determine the border of any affine-invariant code; generally one
has to make do with numerical results, by using a computer. However, in
some cases, it is possible to prove exactly what the border is. We present
below two results: the borders of p-ary RM codes and the borders of extended
RS codes. We give the proof of the first one; the proof of the second one,
which is more technical, can be found in [52]. Note that the RM codes have,
as borders, maximal antichains while the border of any extended RS code of
length pm cannot have more than m elements.
Proposition 2.16 The border of the p-ary RM code of length pm and order
ν, denoted by Rp (ν, m) with 0 ≤ ν < m(p − 1), is
Proof: GRM codes are defined in Definition 2.8. In the terminology of partial
order, the p-weight of any s ∈ S is said to be the rank of s. Two distinct
elements with the same p-weight are not related, with respect to . So a set
of elements of the same p-weight is an antichain, which is called an antichain
of constant rank [73]. An antichain is said to be maximal if it is not included
in a bigger antichain. Clearly, the antichain Sµ is maximal.
Recall that wtp (s) is the integer sum of the symbols of the p-ary expansion
of s. The defining set T of Rp (ν, m) is the set of those s ∈ S satisfying
0 ≤ wtp (s) < µ. Obviously, s t implies wtp (s) ≤ wtp (t).
Let t ∈ S such that wtp (t) = µ. Any descendant s of t is in T , except
t itself. So t is in the border of T . Conversely if a given t satisfies this
last property, it cannot be such that wtp (t) > µ, because it cannot have a
descendant whose p-weight is µ. So the border of T is exactly Sµ , completing
the proof.
24
Proposition 2.17 Let C(d) be the extended RS code of length pm and de-
signed distance d. It is a code over the field of order pm and its defining set
is the set of elements in the interval [0, d − 1] (see Definition 2.9).
Let (d0 , ..., dm−1 ) be the p-ary expansion of d and denote by k0 the small-
est k such that dk 6= 0. Let us define d(m−1) = (dm−1 + 1)pm−1 and for any
k, 0 ≤ k < m − 1,
X
m−1
(k) k
d = (dk + 1)p + d i pi .
i=k+1
Note that the minimum distance of C(d) is d+1, since the minimum distance
of the RS code is exactly d.
where
d = (0, 1, 0, 1, 1, 0, 0) = 26
(2)
d = (0, 0, 1, 1, 1, 0, 0) = 28
(5)
d = (0, 0, 0, 0, 0, 1, 0) = 32
(6)
d = (0, 0, 0, 0, 0, 0, 1) = 64 .
25
Property 2.19 Let I be an antichain of (S, ). Denote by T the subset of
S such that ∆(T ) = T and whose border is I. Let u divide m (u may be 1
or m). Then pu I = I if and only if pu T = T (modulo n).
Actually this means that the class of antichains satisfying pu I = I corre-
sponds to the class of affine-invariant codes over k, where k is the finite field
of order pu .
26
Example 2.23 Consider the extended BCH code of length 16 with designed
distance 5, say C. First suppose that C is binary. The defining set is
T = { 0, 1, 2, 4, 8, 3, 6, 9, 12 }.
I = { 5 = (1 0 1 0), 10 = (0 1 0 1) } .
Hence we have
27
The maximal set of the dual of C is M ⊥ = n − I. It is clear that M ⊥ ⊂ T ,
implying T ⊥ ⊂ T . This again shows that C is self-orthogonal. The border
of the dual of C is the antichain
28
Definition 2.25 Let U be an ideal of A and let V be a subset { u1 , . . . , u` }
of U . The set V is said to be a generator system of U if
U = (u1 ) + . . . + (u` ) .
The main consequence of this theorem is that any generator system of any
ideal U of A contains a minimal generator system. More precisely, one has
a method for finding the size of any ideal.
Principal ideals are simply the ideals of size 1. In the general case it is
not so easy to determine the size. However, for affine-invariant codes, the
size is deduced from the border.
Sketch of proof: The complete proof is given in [52]. First consider the ideal
PU . As P and U are affine-invariant, PU is affine-invariant. It is sufficient
to see that for x ∈ P and y ∈ U
T =T ∪I .
29
We will indicate how this basis can be constructed. Let U ∗ be the cyclic
code whose extension is U . We consider the usual generator matrix of U ∗ ,
whose rows are the generator polynomial and their shifts (see Chapter 1,
Theorem 5.2.). By extending each row of this matrix, we obtain a basis of
U . Let x be the first extended row — i.e. the extension of the generator
polynomial of the cyclic code U ∗ . The extension of the ith row is the image
of x by the affine-permutation σαi ,0 . Then the set
X
m−1
k0
d = dk0 p + (p − 1)pk , dk0 ∈ [1, p − 1] , k0 ∈ [0, m − 2] . (18)
k=k0 +1
30
d border d border
1∗ cl(1) 23∗ cl(23) ∪ cl(27) ∪ cl(29) ∪ cl(43)
3∗ cl(3) ∪ cl(5) ∪ cl(9) 27∗ cl(27) ∪ cl(29) ∪ cl(43)
5∗ cl(5) ∪ cl(9) 29∗ cl(29) ∪ cl(43)
7 cl(7) ∪ cl(9) 31 cl(31) ∪ cl(43)
11∗ cl(11) ∪ cl(13) ∪ cl(19) ∪ cl(21) 43∗ cl(43)
13∗ cl(13) ∪ cl(19) ∪ (21) 47∗ cl(47) ∪ cl(55)
15 cl(15) ∪ cl(19) ∪ cl(21) 55∗ cl(55)
19∗ cl(19) ∪ cl(21) 63∗ cl(63)
21 cl(21) ∪ cl(27)
simply {2m−1 − 1}. From Property 2.21, the border of the dual code also
contains only one element, which is
The code C(d) and its dual have the same border, implying that C(d) is self-
dual. The binary image of such self-dual codes, with short lengths, appear
in [120] and [121] for a new construction of the binary Golay code and of an
extremal self-dual code of length 64.
31
• if m(p − 1) is even then U = P λ ;
Proof: It was proved by Griggs in [73] that the maximal size for an antichain
of (S, ) is exactly the size of Sλ . Moreover if m(p − 1) is even, Sλ is the
unique antichain of this size. If m(p − 1) is odd then we have p = 2, m odd,
and λ = (m − 1)/2; the size of Sλ is exactly the size of Sλ+1 since these sizes
are respectively
m m
and .
(m − 1)/2 (m + 1)/2
The antichains Sλ and Sλ+1 uniquely define the affine-invariant codes P λ and
P λ+1 . Note that P λ+1 is the self-dual doubly-even RM code.
32
Example 2.31 Consider BCH codes of length 53 − 1 over GF (5). Denote
by B ∗ (d) such a code with designed distance d. Let B(d) be the extended
code. The codes B(d), which are principal ideals, are defined from antichains
{d} such that 5d = d modulo 124. Then the 5-ary expansion of d must have
the following form: d = δ(1 + 5 + 52 ), δ ∈ [1, 4].
Let C be any affine-invariant code with border {d}, where d has the form
above. Let T be the defining set of C. Then t ∈ T if and only if t is not an
ascendant of d, with respect to . That is
T = { t | t 6= d and d 6≺ t } .
Since the 5-ary expansion of d is (δ, δ, δ), the condition t ∈ T means that
there is a representative of the 5-cyclotomic coset of t which is smaller than
d. Thus T is the defining set of the extension of the BCH code B(d) — i.e.
C = B(d).
Then the four affine-invariant codes, which are principal, are extended
BCH codes B(d) with d ∈ {31, 62, 93, 124} (if d = 124 the code is trivial).
The dimensions of these codes are respectively (5 − δ)3 , δ ∈ [1, 4]. The
minimum distance of B ∗ (d) is d and the minimum distance of B(d) is d + 1
(see [53, Theorem 2]).
33
be applied because it is possible to determine the defining set of the code
PU . More generally, one can characterize any code U V where U and V are
affine-invariant codes. This is because the value φs (xy), for some s, can be
calculated from φs (x) and φs (y) (see in Chapter(Assmus-Key), Section 4.3.).
34
i.e. the duals of the cyclic codes with one zero. Note that to say “j zeros” for
any q-ary cyclic code means that the defining set of this code is the union of
exactly j q-cyclotomic cosets.
Section 3 is completed by short comments on the automorphism group of
cyclic codes and on the question of their asymptotic behaviour.
supp(c) = { i | ci 6= 0 }.
supp(x) = { g1 , . . . , gw } = { g ∈ G∗ | xg 6= 0 } .
35
The coefficients of σx (X) are the elementary symmetric functions of the lo-
cators gi , 1 ≤ i ≤ w. These are for any j, 1 ≤ j ≤ w,
X
σj = (−1)j gi1 gi2 . . . gij .
1≤i1 <i2 <...<ij ≤w
There are two natural questions. What is the form of the locator polynomial
of this or that codeword of a given cyclic code ? Is a given polynomial
a possible locator polynomial ? The use of the Newton identities is the
most natural tool for attacking these questions. We can write simply an
algebraic system of equations over the splitting field F whose solutions could
correspond to the codewords.
Note that a codeword whose symbols are from {0, 1} can be identified
with its support and then with its locator polynomial. Moreover for such a
36
codeword the coefficients of the MS polynomials are exactly the power sums
of the locators. The Newton identities are usually viewed in this context
while those introduced by Theorem 3.5 are said to be the generalized Newton
identities. We begin by giving the usual form which is very useful in practice,
mainly in the binary case, as will appear in the next example.
A1 + σ1 = 0
A2 + σ1 A1 + 2σ2 = 0
(19)
... ... ... ...
Aw + σ1 Aw−1 + . . . + σw−1 A1 + wσw = 0
This yields ! !
X
∞ X
w
σx0 (X) = −A`+1 X ` σi X i
`=0 i=0
giving !
X
w X
∞ X
j σj X j−1
= −A`+1 σi X j .
j=1 j=0 `+i=j
37
By equating coefficients we obtain
X
j−1
j σj = − Aj−i σi , for j ≤ w ,
i=0
X
w
0 = Aj−i σi , for j > w .
i=0
A1 + σ1 = 0
A3 + A2 σ1 + A1 σ2 + σ3 = 0 (21)
A5 + A4 σ1 + A3 σ2 + A2 σ3 = 0 .
σ1 = A1 = 1 , 1 + σ2 = 0 and 1 = 0
(note that A2k = A2k ). The third identity produces a contradiction, imply-
ing that codewords of weight 2 do not exist. Suppose now that there is a
codeword of weight three. In the same way, we obtain
σ1 = A1 = 1 , 1 + σ2 + σ3 = 0 and 1 + σ3 = 0 ,
38
implying σ3 = 1 and σ2 = 0. Then the locator polynomial is here unique, up
to a shift; we obtain σx (X) = 1 + X + X 3 . But this polynomial splits in the
field of order 2m if and only if 3 divides m. So if 3 does not divide m, the
minimum distance is at least four.
Suppose now that 3 divides m and compute the Ai which are not already
known. By replacing the σi by their values, we have the following identities
Aj = Aj−1 + Aj−3 , j≥5. (22)
We must prove that they are satisfied. Set I = {3, 5, 6}, the cyclotomic coset
of 3 modulo 7. It is easy to check, by induction on j, that the solution
0 if j mod 7 ∈ I
Aj = (23)
1 otherwise
works when 3 divides m. Note that A0 = 1, since A0 is the sum modulo 2 of
the three non zero symbols of the word. So we have
A0 = A1 = A2 = A4 = 1 and A3 = A5 = A6 = 0 ,
showing that (23) is satisfied for j < 7. Now we have just to see that
Aj = Aj mod 7 ; according to (22) one only have to check the seven equations
Aj=7k+s = A(j−1) mod 7 + A(j−3) mod 7 = As , 0 ≤ s ≤ 6 .
Finally the codewords of weight three of C correspond to the locator poly-
nomials
1 + αk X + (αk X)3 , k ∈ [0, 2m − 2] ,
where α is a primitive root of the field of order 2m .
We are going to state the general form of Newton identities. This form is
clearly more interesting if we want to treat non binary codewords. Indeed it
will turn out that the MS polynomial is as important as the locator polyno-
mial for the description of the solutions of the algebraic system defined from
the Newton identities.
Theorem 3.5 Let x ∈ M be a codeword of weight w. Let Λ1 , . . . , Λn be
the coefficients of the MS polynomial of x and denote by σ0 , . . . , σw the
coefficients of the locator polynomial of x (note that σ0 = 1). Then the σi
and the Λi are linked by the generalized Newton identities – i.e. the following
identities hold:
∀ j ≥ 0 , Λj+w + σ1 Λj+w−1 + . . . + σw Λj = 0 . (24)
39
Proof: First observe that by definition (see (1) and (3)) we have for 0 ≤ ` <
n
X Xw
`
Λ` = xg g = xgi gi`
g∈G∗ i=1
implying
X
w X
w X
w
xgi gij+w−k σk = Λj+w−k σk = 0 .
i=1 k=0 k=0
Consider the ring F[Y ], Y = {Y1 , . . . , Y` }, of polynomials with coefficients
in F and with ` indeterminates. Taking fi ∈ F[Y ], 1 ≤ i ≤ s, we can define
the algebraic system
S = { f1 (Y ) = 0, . . . , fs (Y ) = 0 } .
V ({f1 , . . . , fs }) = { Y ∈ F` | fi (Y ) = 0, 1 ≤ i ≤ s } .
Definition 3.6 Let the field F be the splitting field of (X n − 1). Let q = pr ,
where p is the characteristic of the ambient space M. Let C be a cyclic code
in M with defining set T . We define the system SC (w), where the Λi and
40
the σi are the indeterminates, as follows:
Λw+1 + Λw σ1 + · · · + Λ1 σw = 0,
Λw+2 + Λw+1 σ1 + · · · + Λ2 σw = 0,
.
..
SC (w) = Λn+w + Λn+w−1 σ1 + · · · + Λn σw = 0, (25)
∀i ∈ [0, n − 1], Λqi mod n = Λqi ,
∀i ∈ [0, n − 1], Λi+n = Λi ,
∀i ∈ T, Λ = 0.
i
(i) If the code C contains a codeword x of weight less than or equal to w, then
the system SC (w) has at least one solution (Λ0 , . . . , Λn−1 , σ1 , . . . , σw ),
where the Λi are the coefficients of the MS polynomial of x and the σi
are the coefficients of the locator polynomial of x.
(ii) If the system SC (w) has solutions then the corresponding n-tuples (Λ0 , . . . , Λn−1 )
are the coefficients of the MS polynomials of the codewords of C of
weight less than or equal to w.
(iii) Let (Λ0 , . . . , Λn−1 ) ∈ Fn and denote by S the set of w-tuples (σ1 , . . . , σw )
such that (Λ0 , . . . , Λn−1 , σ1 , . . . , σw ) is a solution of SC (w). Assume
that S is not empty and then denote by x the codeword of C whose MS
polynomial has as coefficients the Λi .
Then (σ1 , . . . , σw ) is in SP
if and only if the locator polynomial of x
divides the polynomial 1 + w i
i=1 σi X . Moreover S is an affine space of
dimension w − w0 , where w0 is the weight of x.
41
SC (w) is a necessary condition for the existence of codewords of weight less
than or equal to w in C.
(ii) Suppose that the algebraic system SC (w) has a solution (Λ0 , . . . , Λn−1 , σ1 , . . . , σw )
and consider only the Λi . The equations
Since Λi+n = Λi , the matrix above is exactly the matrix C(x) of Theorem
2.5. From this theorem we know that the rank of this matrix is w0 . Since
C(x) is a circulant matrix, we have
0 0 ··· 1
..
. ..
. σ1
Λn Λn−1 · · · Λw+1 · · · Λ1 .
Λ1 0 1 .
.
Λn · · · Λw+2 · · · Λ2
.. .. = 0.
. w
.. .. 1 σ σ
. σ σ
1
0
. .
Λn−1 Λn−2 · · · Λw · · · Λn 1 2
. . .
.. .. ..
σw 0 · · · 0
42
(iii) Let (Λ0 , . . . , Λn−1 ) ∈ Fn and set
(Λ0 , . . . , Λn−1 , σ1 , . . . , σw )
S = (σ1 , . . . , σw )
is a solution of SC (w)
X
w
xgi gij+w σ(1/gi ) = xgi gij+w−k σk = 0 ,
k=0
implying
!
X
w0 X
w X
w X
w0 X
w
xgi gij+w−k σk = xgi gij+w−k σk = Λj+w−k σk = 0 .
i=1 k=0 k=0 i=1 k=0
So SC (w) is satisfied for these σi and for the Λi corresponding to the codeword
x of C; hence (σ1 , . . . , σw ) ∈ S. We have proved that S = S 0 , completing
the proof of (iii). Note that the coefficients of the polynomial σx (X) itself
provide an element of S.
It is important to notice that the existence of solutions of SC (w) insures
the existence of codewords of weight w0 ≤ w in C (see (ii)). Moreover such
a codeword x, which is uniquely defined by its MS polynomial, is such that
43
its locator polynomial generates an affine-subspace S, of dimension w − w0 ,
included in the ideal of solutions of SC (w): each solution of SC (w) provides
an x ∈ C and a subspace S; S “contains” one and only one x ∈ C and several
other solutions of SC (w). Whenever w0 = w, the subspace S contains one
and only one solution of SC (w) corresponding to a unique codeword of C
of weight w. This is always satisfied when the minimum distance of C is
lower-bounded by w. Thus we have an important corollary of Theorem 3.7
concerning the minimum distance of C.
Corollary 3.8 Let C be a cyclic code in M whose minimum distance δ
satisfies δ ≥ w. Then the minimum distance of C is exactly w if and only
if the system SC (w) has at least one solution (Λ0 , . . . , Λn−1 , σ1P
, . . . , σw ). For
n−1
any such solution the codeword x, whose MS polynomial is s=0 Λn−s X s ,
is a codeword of C of weight w. The σi are the coefficients of the locator
polynomial of x. The number of codewords of weight w in C is equal to the
number of solutions of SC (w).
The theory of Gröbner bases (see [16][68]) gives tools for solving the sys-
tems SC (w). The idea is to construct a basis of the ideal generated by the
polynomials occuring in the system. The aim is to obtain a reduced system
with few equations or with equations which induce a description of the set of
solutions. In order to do so, it is necessary to have a computer and a package
for computing Gröbner bases.
This point of view, for finding minimum weight codewords in a code, was
first developed by Augot in his thesis [5]. When it is possible to compute the
Gröbner basis of the system SC (w), the set of solutions is thereby described
by a small set of equations – more precisely, it is almost always the case. The
most important is the possibility to prove that the system has no solutions.
In many situations, it is the only known way for proving that a lower bound
on the minimum distance of a given code is not reached. The system has no
solutions if and only if its Gröbner basis is reduced to {1} – since 1 = 0 is
impossible. Otherwise we not only know the number of solutions but also
some algebraic properties that these solutions satisfy. According to Corollary
3.8, this method is of most efficiency when w is the minimum distance of C.
Several examples are given in [5][6]; one of them is the following.
Example 3.9 The field of order 32 is denoted by F. Let Q be the binary
quadratic residue code of length 31. It is the cyclic code with defining set
T = cl(1) ∪ cl(5) ∪ cl(7) .
44
The minimum distance is known to be 7. The Gröbner basis for SQ (7) was
obtained by using a computer. It is the following set of polynomials
σ7 + Λ11 4 Λ3 29 + Λ11 2 Λ3 26 σ6 + Λ3 2 σ5 + Λ11 Λ3 29
σ4 + Λ11 4 Λ3 28 + Λ11 2 Λ3 25 σ3 + Λ3 σ2 + Λ11 Λ3 28
.
Λ15 + Λ11 3 Λ3 25 + Λ3 5 σ1 Λ3 31 + 1
Λ11 5 + Λ11 4 Λ3 14 + Λ11 2 Λ3 11 + Λ11 Λ3 25 + Λ3 8
45
has five solutions in F; indeed each root of E provides a solution which
must be in F, by definition of SQ (7) (see Theorem 3.7, (ii)). It remains
to check that these five solutions are always pairwise distinct. Consider
the derivative of E(Λ11 ), with respect to Λ11 ; it is the polynomial
It is important to notice that forP each solution (a, b, c) we are sure that
the corresponding polynomial 1 + 7i=2 σi X i is the locator polynomial of a
codeword. It means that this polynomial splits in F and has seven distinct
roots. We point out that by means of the Gröbner basis of SQ (7) one ob-
tains precisely the class of polynomials corresponding to the minimum weight
codewords of Q.
46
Comments on Section 3.1 Example 3.4 summarizes the efficiency of
Newton identities. On the one hand the identities must be satisfied for a
given weight w and for a given defining set T (i.e. some Ai are equal to
zero). If a contradiction appears in the identities, then there is no codeword
of weight w in the code of defining set T . On the other hand the method can
produce immediately (by hand) the full set of codewords of a given weight
for an infinite class of codes. Of course it is not generally the case. Moreover
the method, which uses the form (19)(20) of the Newton identities, works
only for codewords whose symbols are in {0, 1}. But a lot of information can
be obtained in this way.
In the binary case the usual form allows us to treat any codeword. Note
that the set of minimum weight codewords of binary Reed-Muller codes was
first described by Kasami et al. by means of the Newton identities [90].
There are many recent applications as, for instance, the minimum distance
of some BCH codes [9], codewords of minimum weight of some self-dual
binary codes [54] or covering radius of some BCH codes [61]. The Newton
identities can be used for the description of codewords of a large class of
codes. Recent results are given in [34] concerning cyclic codes over Z4 .
The use of Newton identities for decoding is well-known (see [111, p.
273] and, for instance, [32]). We want also to cite several recent works on
decoding or on decoding up to the minimum distance as, for instance, [60][67]
and [131]. The use of Gröbner bases for decoding is discussed in [59] and an
extensive study by de Boer and Pellikan is in [31].
Unfortunately any method, for decoding or for codeword description,
which consists of computing the Gröbner basis of the system SC (w) is re-
stricted by the high complexity of Buchberger’s algorithm. It is, however,
the best known algorithm at the moment [98].
47
Idempotents in Rn are studied in Chapter 1, §5. In our ambient space
M = k[{G∗ , ×}] they are the codewords e which satisfy
!2
X X
eg (g) = eg (g) . (27)
g∈G∗ g∈G∗
Recall that α is a primitive nth root of unity and q is the order of the alphabet
field k. We know from Corollary 5.19 of Chapter 1 that any idempotent has
the following form X X
e= eα s (αi ) (28)
s∈I i∈cl(s)
Proposition 3.10 Let x ∈ M. Then x has the form (28) if and only if
its MS polynomial Mx (X) has coefficients in k. If x has the form (28), its
locator polynomial σx (X) has coefficients in k.
When q = 2, i.e. k is the field of order two, x is an idempotent if and
only if it satisfies one of these three following conditions
Proof: Notation is that of Section 2.2. We must prove that x has the form
(28) if and only if
48
Applying the inverse Fourier transform, x has the form (28) if and only if its
MS polynomial satisfies Mx (g) = Mx (g q ), for all g ∈ G∗ . By definition this
is equivalent to Mx (X q ) = Mx (X) which means
X
n−1 X
n−1
s
ρn−s (x) X = ρn−s (x) X qs mod n
,
s=0 s=0
which is equivalent to ρj (x) = ρqj (x), for all j. As ρqj (x) = (ρj (x))q , this is
exactly (29).
On the other hand the locator polynomial of x is in k[X] if and only if
it is a product of some minimal polynomials on k. That means that the
support of x corresponds to a union of q-cyclotomic cosets modulo n. This
property is satisfied when x has the form (28).
When q = 2, we know that the form (28) characterizes the set of idem-
potents. Since it is a binary codeword, x can be identified to its support. So
σx (X) ∈ k[X] if and only if x has the form (28). We have previously proved
that (i) is equivalent to (ii) for any q, completing the proof.
Example 3.11 The minimal polynomials correspond to the simplest idem-
potents. Consider the following polynomial which is irreducible over GF (2):
Y
4
i
2
σ(X) = 1 + X + X + X + X = 3 5
(1 − β 2 X) .
i=0
Its splitting field is GF (25 ) and, since 31 is prime, any such polynomial is
primitive; σ(X) is the minimal polynomial of β −1 , which is a primitive root
of GF (32).
Now we want to know the smallest binary cyclic code of length 31 con-
i
taining the codeword x whose locators are the β 2 . In other words, we want to
determine the cyclic code where x is the primitive idempotent. We must com-
pute the coefficients Ai of the MS polynomial of x, for i ∈ {1, 3, 5, 7, 11, 15}
– a system of representatives of the 2-cyclotomic cosets cl(i) modulo 31.
Since x is an idempotent, one can obtain this result without computer, by
simply writing the Newton identities (given in Theorem 3.3) and replacing
the values of the coefficients of the locator polynomial: σ1 = 1, σ2 = 1,
σ3 = 1, σ4 = 0 and σ5 = 1. We obtain
A1 = 1 , A3 = 1 , A5 = 0 ,
49
and
Aj = Aj−1 + Aj−2 + Aj−3 + Aj−5 , j ≥ 6 .
Using the recursive formula above, one finds A7 = 1, A11 = 0 and A15 = 0.
So x is the primitive idempotent of the cyclic code C whose defining set is
50
• From I1 we have A1 = 0.
It is clear that the theorem above is related to the BCH bound. Actually
it gives the “polynomial form” of any codeword of any BCH code of designed
distance δ on k, which has symbols from {0, 1}. The following corollary is
obvious, since the locators of any codeword of the BCH code of designed
distance δ satisfy A1 = · · · = Aδ−1 = 0.
Corollary 3.13 Let the ambient space be M (the characteristic is p). Let
B(δ) be the BCH code of length n and designed distance δ. Consider any
polynomial
X X
w
σ(X) = 1 + r
σr X + σr X r , σr ∈ F, σw 6= 0 , (30)
1<r<δ, p|r r=δ
Corollary 3.13 gives the form of the locator polynomial of any codeword
of any binary BCH code. More precisely, let us denote by B(δ) a binary
BCH code of length 2m − 1 and designed distance δ. Then B(δ) has true
minimum distance δ if and only if there exists a polynomial
X
(δ−1)/2
σ(X) = 1 + σ2i X 2i + σδ X δ (31)
i=1
which has δ distinct roots in F, the finite field of order 2m . This property
leads to the determination of the order of the splitting field of the polynomials
of the form (31).
Such a polynomial corresponds to an idempotent if and only if its coeffi-
cients are in GF (2). Augot and Sendrier proposed in [10] an algorithm
for computing the extension degree of the splitting field of such idempotent
51
δ m
3 2, 3
5 4, 5, 6
7 3, 4, 7, 10
9 6, 8, 9, 10, 14, 15, 21
11 5, 6, 8, 11, 21, 28
13 8, 9, 10, 12, 13, 14, 21, 22, 33, 35
15 4, 5, 6, 7, 9, 26, 33, 39
17 8, 9, 10, 12, 14, 15, 17, 21, 35, 39, 44, 52, 55, 65, 66, 77
19 8, 9, 10, 12, 15, 19, 21, 28, 34, 35, 39, 51, 52, 65, 66, 77, 91
21 6, 7, 8, 9, 10, 11, 15, 38, 51, 57, 68, 85
23 6, 8, 10, 11, 14, 15, 21, 23, 35, 51, 52, 57, 65, 68, 76, 85, 95, 117, 119
25 8, 10, 12, 13, 15, 18, 21, 22, 25, 28, 33, 46, 57, 68, 69, 76, 77, 95, 102, 119, 133, 153
27 6, 7, 8, 9, 10, 13, 15, 33, 44, 55, 68, 69, 76, 85, 92, 115, 187
10, 12, 14, 15, 16, 18, 21, 25, 26, 27, 29, 35, 39, 44, 66, 68, 69, 76, 77, 92, 95, 99, 102,
29
114, 115, 153, 161, 171, 187, 209, 221, 715
31 5, 6, 8, 9, 14, 21, 31, 39, 44, 52, 58, 77, 87, 92, 119, 161, 209, 221, 247, 374 , 561
10, 11, 12, 15, 16, 17, 18, 21, 27, 28, 39, 52, 62, 76, 87, 91, 92, 93, 95, 114, 115, 116,
33
133, 138, 145, 171, 175, 207, 247, 322
9, 10, 12, 14, 15, 16, 17, 21, 22, 25, 33, 35, 52, 65, 77, 78, 87, 91, 92, 93, 95, 114, 116,
35
124, 138, 143, 145, 152, 155, 203, 253, 299, 494, 741
8, 10, 12, 14, 15, 18, 19, 21, 27, 33, 34, 37, 44, 51, 52, 55, 65, 77, 78, 92, 93, 115, 116,
37
117, 119, 124, 138, 143, 155, 161, 174, 175, 203, 207, 217, 261, 299, 506
8, 9, 10, 12, 13, 15, 19, 21, 25, 28, 33, 35, 44, 51, 55, 68, 74, 77, 85, 111, 115, 116, 119,
39
124, 138, 145, 174, 186, 187, 217, 319, 322, 391, 406
10, 12, 14, 15, 16, 18, 21, 25, 26, 27, 35, 38, 39, 41, 44, 51, 57, 65, 66, 68, 77, 91, 99,
41 111, 116, 119, 124, 133, 138, 148, 155, 174, 184, 185, 186, 207, 209, 261, 279, 319, 341,
374, 377, 391, 437, 759, 1615, 2431
7, 8, 11, 12, 15, 18, 20, 27, 39, 43, 50, 52, 57, 65, 68, 76, 82, 85, 95, 102, 111, 115, 116,
43 123, 124, 138, 145, 148, 153, 174, 185, 186, 207, 221, 261, 279, 310, 377, 403, 437, 782,
1173
8, 9, 10, 11, 12, 14, 15, 21, 23, 25, 35, 39, 52, 57, 65, 68, 76, 85, 86, 91, 102, 119, 123,
45
124, 129, 133, 145, 148, 155, 164, 174, 186, 205, 217, 222, 247, 259, 403, 442, 493, 754
8, 9, 10, 12, 15, 21, 22, 23, 28, 33, 35, 47, 52, 55, 68, 76, 77, 78, 91, 95, 102, 114, 119,
47 123, 129, 133, 143, 148, 155, 164, 172, 174, 185, 186, 205, 215, 22 1, 222, 287, 325, 407,
425, 434, 493, 494, 518, 527, 551, 741, 806, 1131, 1209, 1885, 3553
10, 12, 14, 15, 16, 18, 21, 25, 27, 33, 35, 44, 46, 49, 52, 55, 65, 68, 69, 76, 78, 85, 94,
95, 102, 114, 117, 119, 129, 141, 143, 145, 148, 153, 164, 171, 172, 174, 186, 187, 203,
49
209, 215, 222, 232, 246, 248, 261, 279, 287, 299, 301, 333, 369, 407, 442, 481, 527, 551,
52
589, 663, 741, 986, 1131, 1209, 1479, 1771, 2387, 3059, 4199
53
affine space h + Vk , up to scalar multiplication. In the next proposition, we
characterize the locator polynomial of any codewords x of the form (33) (in
the sense of Definition 3.1).
Proposition 3.14 Let the ambient space be A. Let δ = q k − 1, δ < n, and
set
Ik = { q k − q j | j ∈ [0, k − 1] } .
Define the polynomial of degree δ (σδ 6= 0):
X
σ(X) = 1 + σi X i , σi ∈ F .
i∈ Ik
Denote by vi the roots of σ(X) and set gi = vi−1 . Then (i) and (ii) are
equivalent.
(i) σ(X) splits in F with roots of multiplicity one.
(ii) σ(X) is the locator polynomial of the codewords of the form (33) such
that h = 0 and Vk is the set {0, g1 , . . . , gδ }.
54
Theorem 3.15 Let Vk be any subspace of F of dimension k over k. Then
the power sum functions
X
Ai = v i , i ∈ [1, pm − 1] ,
v∈Vk
are zero when the q-weight of i is less than k(q − 1) – i.e. when i is in the
defining set of Rq (ν, m), ν = (m0 − k)(q − 1).
By using this theorem and the usual Newton identities, the authors de-
scribed the set of minimum weight codewords of binary Reed-Muller codes.
We want to show that their result can be expanded by using the generalized
Newton identities. Note that the set of minimum weight codewords of any
GRM code was described in another way (see comments in Section 3.2).
Lemma 3.16 Let δ = q k − 1; Ik is defined in Proposition 3.14. Let x be a
codeword of the punctured GRM code R∗q (ν, m), ν = (m0 − k)(q − 1). Then
the MS polynomial of x is such that ρs (x) = 0 for any 1 ≤ s < δ and
s ∈ [1, δ − 1] , s 6∈ Ik =⇒ ρs+δ (x) = 0
(see (1) for the definition of ρs ).
Proof: Recall that the defining set of R∗q (ν, m) is the set
0
Tν = { s ∈ [0, q m − 1] | wtq (s) < k(q − 1) } .
A codeword x is in R∗q (ν, m) if and only if ρs (x) = 0 for all s ∈ Tν .
P
First observe that δ = k−1i=0 (q − 1)q . Clearly wtq (δ) = k(q − 1) and any
i
s < δ is such that wtq (s) < k(q − 1) – i.e. s is in Tν and then ρs (x) = 0.
Therefore
X
k−1
2δ = 2q − 2 = (q − 2) +
k
(q − 1)q i + q k ,
i=1
providing wtq (2δ) = k(q − 1); note that 2δ, as δ, is not in Tν .
Set t = δ + s with s ∈ [1, δ − 1]. It remains to prove that t is in Tν
whenever s 6∈ Ik . We easily deduce, from the form of the q-ary expansion of
2δ, that any t < 2δ has a q-weight less than or equal to k(q − 1). Suppose
that wtq (t) = k(q − 1). The general form of such a t, δ < t < 2δ, is
X
k−1
t= ti q i + q k , ∈ {0, 1} , ti ∈ {q − 2, q − 1} ,
i=0
55
where = 1 (since t 6= δ) and t0 = q − 1 (since t 6= 2δ). More precisely
wtq (t) = k(q − 1) yields that one and only one tj , j > 0, must be equal to
q − 2 – i.e. t = δ + q k − q j , with j ∈ [1, k − 1].
We have proved that the set of those t, δ ≤ t ≤ 2δ, such that wtq (t) =
k(q − 1) is the set of those t which satisfy: t = δ + s with s ∈ Ik ∪ {0}.
Finally when s ∈ [1, δ − 1] and s 6∈ Ik , we have wtq (δ + s) < k(q − 1)
meaning δ + s ∈ Tν , completing the proof.
0
Lemma 3.17 Denote by C the GRM code R∗q (ν, m) of length n = q m − 1,
ν = (m0 − k)(q − 1). Let δ = q k − 1 and let SC (δ) be the system (25), written
for the codewords of weight δ of C. The defining set is Tν . Then any solution
(Λ1 , . . . , Λn , σ1 , . . . , σδ ) of SC (δ) satisfies the following statements.
(i) Λ1 = Λ2 = . . . = Λδ−1 = 0.
(ii) If s ∈ [1, δ − 1] and s 6∈ Ik , then Λδ+s = 0 and σs = 0.
(iii) If s ∈ Ik , then σs = Λδ+s /Λδ .
56
• If i 6∈ Ik then σi = 0 from Hi .
Theorem 3.18 The minimum weight codewords of the punctured GRM code
R∗q (ν, m), ν = (m0 − k)(q − 1), are the codewords of weight δ = q k − 1 whose
locators are the nonzero elements of some subspace Vk of F of dimension k
and whose symbols are from {0, 1}, up to scalar multiplication. These are in
the algebra k[{F∗ , ×}] precisely the codewords
X
x=λ (g) , λ ∈ k . (34)
g∈ Vk∗
j ∈ [0, k − 1]
57
dimension k. Moreover we know that any codeword of the form (34) is a
minimum weight codeword of R∗q (ν, m). So the symbols of the minimum
weight codewords are from {0, 1}, up to a scalar multiplication. Indeed two
minimum weight codewords which have the same support are obtained one
from the other by scalar multiplication. The set of the minimum weight
codewords of C is the set of codewords of the form (34).
GRM codes are affine-invariant codes. Hence the minimum weight code-
words of Rq (ν, m) are the codewords of A of weight q k which are either an
extension of any minimum weight codeword of R∗q (ν, m) or any translation
of these extended codewords. They are the codewords X h x, where x is the
extension of a minimum weight codeword of R∗q (ν, m) and h ∈ F. These are
exactly the codewords of the form (33).
58
hold ?
The number of minimum weight codewords of GRM codes was obtained
by Delsarte, Gœthals and MacWilliams [64]. At the beginning of
their proof, the authors hasten to point out that it would be very desirable to
find a more sophisticated and shorter proof. Another description of the set
of minimum weight codewords was proposed in [20], but the proof used the
cardinality of this set. We cannot say, at present, if our method which leads
to the description of the set of minimum weight codewords of GRM codes
of some orders (Theorem 3.18) can be generalized to GRM codes of any
order. Furthermore we are not sure that it can provide a proof shorter than
the preceding. Actually our aim is merely to illustrate the use of Newton
identities and then to suggest other applications.
59
Theorem 3.19 Denote by B(δ) the binary BCH code of length 2m − 1 and
designed distance δ with δ = 2t + 1. Assume that
2t − 1 < 2dm/2e + 1 .
The BCH bound is generally a good bound for BCH codes since one can
say that the true minimum distance is roughly close to the BCH bound. It
is easy to find examples of non primitive binary BCH codes whose minimum
distance exceeds the BCH bound (see [111, p.205] and [47, 84]).
When the codes are binary and primitive, it is usually conjectured that
the true minimum distance d does not exceed δ + 4, δ being the designed
distance. Kasami and Tokura first proved that d can exceed δ [93, 1969].
This result was obtained by means of the divisibility of the RM codes. They
have shown that for any m > 6, m different from 8 and 12, there are some
binary BCH codes of length 2m − 1 and designed distance δ such that d > δ.
Quite recently Augot et al. completed the table of the minimum distance of
BCH codes of length 255 [9, 1991]. By using Newton identities they proved
that two such codes have true minimum distance δ + 2. These are the BCH
codes with designed distance 59 and 61. At the moment the case m = 12
remains open.
On the other hand the true minimum distances of BCH codes of length
511 are not all known. The more recent results are due to Canteaut and
Chabaud [38]. In their paper, a probabilistic algorithm for finding small-
weight words in any linear code is presented; this algorithm applies success-
fully to the determination of the minimum distance of some BCH codes.
The BCH codes of length n = 511, dimension k and designed distance δ
are listed in Table 3. The true minimum distance is denoted by d. When d
is known, we indicate the paper where the result can be found. We want to
conclude by some comments on the results presented in this table.
• The value of d is not known for six codes. These are the BCH codes
with designed distance
59 , 61 , 75 , 77 , 85 and 107.
60
k δ d in k δ d in
# d=δ+2
## d = δ + 4
* new result obtained by Newton’s identities [9]
** new result obtained by an exhaustive search [9]
*** new result obtained with a probabilistic algorithm [38]
Table 3: The binary narrow-sense BCH codes of length 511, §3.3.
61
• Most results are due to Kasami et al.. Theorem 1 of [89] applies to a
large class of BCH codes. It is obtained by studying the intersection of
BCH codes with shortened RM codes.
62
δ Theoretical bound Schaub’s bound
3 128 128*
5 112 112*
7 96 96*
9 80 88
11 64 64
13 48 64
15 32 60
17 , 19 24 42
21 24 40
23, 25, 27 24 32
29 16 28
31 16 26
37 14 22
39 12 22
43, 45 12 20
47, 51, 53 12 16
55, 59 12 ?
61, 63, 85 8 ?
87, 91, 95, 111 6 ?
119, 127 4 ?
Table 4: Lower bounds for the minimum distance of duals of binary BCH
codes of length 255 and designed distance δ (see § 3.3).
63
Moreover it seems to be really significant only when the dimension of the
dual is small. The Weil bound, which can be used for any cyclic code, has
these drawbacks.
A recent study, due to Augot and Levy-dit-Vehel gives us new nu-
merical results on the minimum distance of duals of primitive BCH codes
[11]. In this paper the best known theoretical bound is checked by using
a new algorithm which is based on Theorem 2.5. The theoretical bound
is determined from the CU bound (the Weil bound for non binary codes)
and from the results of Levy-dit-Vehel. In [100, 101], she determined
the divisibility of duals of primitive BCH codes and gave new lower bounds
for duals of large dimension (when the other bounds do not work). On the
other hand an algorithmic method, due to Massey and Schaub, called the
rank-bounding algorithm [115, 127], was implemented. The results on du-
als of primitive BCH codes are surprisingly higher than all previously known
bounds [11][100].
As an example we give in Table 4 the lower bound on the minimum
distance of binary codes B ⊥ (δ) of length 255. The symbol “∗ ” means that
the bound is the true minimum distance. The sign “?” means that the rank-
bounding algorithm fails; it cannot compute the bound. The CU bound
does not work for δ > 19. When δ ≤ 19 the theoretical lower bound is
“combinatorial”, based on the Roos bound [101]. One can see that for 13 ≤
δ ≤ 53 the rank-bounding algorithm produces a lower bound widely higher
than the theoretical lower bound. Generally the numerical results obtained
in this way show that the approximation of the minimum distance of the
duals of primitive BCH codes remains an open problem.
64
There is a lot of work on the CU bound, the Weil bound and their ap-
plications to cyclic codes. This subject is treated in Chapter(Tietavainen).
The recent work of Rodier [126] on duals of binary primitive BCH codes is
also explained in that chapter.
65
Moreover there is a c in C such that wt(c) 6≡ 0 (mod pλ+1 ). In other words,
the code C is pλ -divisible and not pλ+1 -divisible
Theorem 3.21 Let C be a cyclic code of length n over k, the field of order
0 0
q. Set nν = q m − 1, where q m is the order of F, the splitting field of X n − 1.
Let T be the defining set of C and let T ⊥ be the defining set of C ⊥ . Denote
by J a set of representatives of the cyclotomic cosets of q modulo n belonging
to T ⊥ . Let θ be the biggest element in J .
If every element of J is prime to p, then the non-zero weights w of C
satisfy :
(i) If 0 ∈ T then
m0 −1
(q − 1) (θν − 1)(q − 1)
w−q ≤ b2q
m0
2 c .
ν 2νq
(ii) If 0 6∈ T then
m0 −1
(q − 1) − 1 (θν − 1)(q − 1)
w−q ≤ m0
b2q 2 c .
ν 2νq
Example 3.22 In order to explain the use of Theorem 3.21, we study the
dual C of the ternary BCH [80, 68, 5] code. Thus q = 3, n = 34 − 1 = 80
(ν = 1 and m0 = 4) and the defining set of C ⊥ is
T ⊥ = {1, 3, 9, 27} ∪ {2, 6, 18, 54} ∪ {4, 12, 36, 28} .
The defining set of C is the set of those t such that n − t 6∈ T ⊥ ; in particular
0 ∈ T . The set J is a system of representatives of the cyclotomic cosets
included in T ⊥ ; each representative must be prime to 3. Clearly the best
choice, producing the best bound, is J = {1, 2, 4}, implying θ = 4. According
to Theorem 3.21 (i), the non zero weights w of C satisfy
2(4 − 1) 2(4 − 1)
2.33 − 2.32 ≤ w ≤ 2.33 + 2.32
6 6
giving 36 ≤ w ≤ 72. These bounds are attained. By using the coding package
of MAGMA we obtain the weight enumerator of C, say W (x, y),
W (x, y) = x80 + 800x44 y 36 + 26720x35 y 45 + 77220x32 y 48
+108000x29 y 51 + 154880x26 y 54 + 112320x23 y 57
+37800x20 y 60 + 13600x17 y 63 + 100x8 y 72 .
66
Note that C is self-orthogonal; therefore it is 3-divisible. The Weil bound
gives an excellent result; this is because the dimension of C ⊥ is small, as we
noticed in Section 3.3.
Theorem 3.23 Let φ8 and φ24 be respectively the weight enumerator of the
extended Hamming code and the weight enumerator of the extended Golay
code:
φ8 = x8 + 14x4 y 4 + y 8
and
φ24 = x24 + 759 (x16 y 8 + x8 y 16 ) + 2576 x12 y 12 + y 24 .
Then the weight enumerator of R2 (τ, m), τ = (m − 1)/2 and m odd, is of
the form
m−3 m−3 −3 m−3 −3i
Wm (x, y) = a0 φ82 +a1 φ28 φ24 +. . . +ai φ82 φi24 +. . . +ar φ8 φr24 , (36)
67
where r = (2m−3 − 1)/3 and the ai are numbers to be determined. Now,
setting t = (m + 1)/2, the coefficients bi of Wm (x, y) satisfy:
1. if i 6≡ 0 (mod 4), then bi = 0 ,
2. b1 = b2 = . . . = b2t −1 = 0, and
3. if 2t ≤ s < 2t+1 and s 6∈ { 2t+1 − 2j | 2 ≤ j ≤ t }, then bs = 0.
Wm (x, y) = bi xn−i y i
i=0
Example 3.24 First recall that R2 (1, 3) is the extended Hamming code and
then W3 (x, y) is exactly φ8 (x, y). The code R2 (2, 5) is a [32, 16, 8] self-dual
code; we obtain from (36):
W5 (x, y) = a0 φ48 + a1 φ8 φ24
= a0 (x8 + 14x4 y 4 + y 8 )4 + a1 (x8 + 14x4 y 4 + y 8 )
(x24 + 759x16 y 8 + 2576x12 y 12 + 759x8 y 16 + y 24 ) .
Since there is only one codeword of weight zero, we have a0 + a1 = 1.
Moreover the code has no codeword of weight four and the coefficient of
x28 y 4 is 14(4a0 + a1 ). This leads to a0 = −1/3 and a1 = 4/3, giving
W5 (x, y) = x32 +620 x24 y 8 +13888 x20 y 12 +36518 x16 y 16 +13888 x12 y 20 +620 x8 y 24 +y 32 .
68
Note that we have proved again that the weight enumerator of all doubly-
even self-dual [32, 16, 8] codes is unique. Actually this code is extremal and
this property holds for any extremal doubly-even self-dual code (see Section
10 of Chapter 1).
The code R2 (3, 7) is a [128, 64, 16] doubly-even self-dual code with weight
enumerator of the following form:
W7 (x, y) = a0 φ16 13 10 2 7 3 4 4 5
8 + a1 φ8 φ24 + a2 φ8 φ24 + a3 φ8 φ24 + a4 φ8 φ24 + a5 φ8 φ24 ,
69
weights number of words weights number of words
16, 112 3309747 44, 84 50059881835741
24, 104 2144705388 48, 80 94150059881835741
28, 100 9507508544 52, 76 549678173926151424
32, 96 37527010290 56, 72 1920946561829079256
36, 92 19957889171264 60, 68 4051419446028441984
40, 88 94150059881835741 64 5194232755773662458
chapter 15]). However this knowledge is not sufficient for determining the
weight enumerator of the self-dual RM code R2 (4, 9) of length 512 using the
method of Example 3.24. In this case the number of indeterminates is 21
while we know the value of only 16 coefficients bi in W9 (x, y). Are there other
invariants, like φ8 and φ24 , especially for weight enumerators of RM codes ?
The weight enumerators of RM codes of length 2m , m ≤ 8, are known.
They are studied and given in [143]. The most recent result on RM codes of
length 29 is due to Sugita et al. who have determined the weight enumerator
of R2 (3, 9) (see [135] and their references). Since the dual of R2 (3, 9) is
R2 (5, 9), only the weight enumerator of R2 (4, 9), the self-dual code, remains
unknown.
Little is known about weight enumerators of GRM codes except their
divisibilities and the set of their minimum weight codewords. Can the result
of Kasami and Tokura [92] be generalized ? Note however that the weight
enumerator of any GRM code of order two was given by McEliece [104].
For the minimum weight codewords of GRM codes, see comments in Section
3.2.
On the relatives of GRM codes (see [64] and Chapter(Assmus-Key)), we
want to mention the projective GRM codes. Sorensen has studied their
parameters in [133]; in particular he gave their minimum distances. Moreover
he proved that some of these codes are cyclic, describing precisely a subclass
of cyclic projective GRM codes.
70
3.4.2 On cyclic codes with two zeros
In this section we consider binary codes of length n = 2m − 1. Recall that the
field of order 2m , the support field, is denoted by F and that α is a primitive
nth root of the unity. Moreover codes are cyclic and have only two zeros,
i.e. the defining set is composed of two distinct 2-cyclotomic cosets modulo
n. For short we will say T = {r, s} for such a defining set, where r and s are
the coset representatives, and the code with defining set T will be denoted
by Cr,s .
This section is concerned with the classification of the codes Cr,s by means
of their minimum distance. Our aim is to recall that this classification is not
yet achieved; furthermore the determination of the weight enumerators ap-
pears as a most difficult problem. At the moment the known tools, that we
will present in proving Theorem 3.30, are efficient only for the characteriza-
tion of codes which are optimal in a certain sense. We begin by showing
that the minimum distance of the codes Cr,s cannot be more than 5.
(i) 2 ≤ d ≤ 5 and
71
Considering the codes C1,` , van Lint and Wilson presented another
proof of this last theorem and gave a further result: if gcd(`, n) > 1 and m
is odd, the minimum distance of C1,` is at most four [141, Theorem 12].
We remark that the minimum distance of codes with defining set {1, `} is
clearly dependent upon properties of affine subspaces of dimension two, a fact
that we noticed in the comments P of Section 3.2. Indeed denote by V a subset
of four distinct elements of F; if v∈V v = 0 then V is a 2-dimensional affine
subspace of F; it is a linear subspace when V contains 0. So Theorem 3.25
and the result above are related to the values of the `th power sum functions
of the affine subspaces of dimension two and can be rewritten as follows
Corollary 3.26 The minimum distance of C1,` is at most five. It is three or
P if and
four only if there is an affine subspace V of F of dimension 2 satisfying
v∈V v = 0. This is always the case when gcd(`, n) 6= 1 and m is odd.
`
The purpose of van Lint and Wilson in [141] is to prove that cyclic
codes with only two zeros are generally bad. According to Theorem 3.25,
“bad” means that d ≤ 4. In [142], the same authors use a deep theorem of
algebraic geometry for studying the special case ` = 7. They proved that the
minimum distance is less than or equal to 4 when m ≥ 18. It was later shown
that this property holds when m < 18, unless m = 5, by computing some
codewords of weight four [6]. The method introduced in [142] was generalized
by Janwa et al. [81, 82], providing a lot of results which strengthened the
previous conjecture. By applying a form of Weil’s theorem they showed
that, for a large class of codes with defining set {1, `}, only a finite number
could be “good”. However the problem of finding codes with defining set
{1, `} and minimum distance five remains open. The known classes are the
class of the Melas codes (see Example 3.27) and two famous other classes
due to Kasami [87, 88]:
• The first one is composed of codes C1,` with ` = 2i +1 and gcd(i, m) = 1.
Note that their duals are in R∗2 (2, m), the punctured RM code of order
two (see an extensive study in [111, Chapter 15]). The Preparata codes
are constructed by concatenating some of their cosets (see §4.3).
• The second one corresponds to those ` such that ` = 22i − 2i + 1 with
gcd(i, m) = 1 (the proof for m even is actually due to Janwa et al.).
These classes are both of most interest when m is odd because they are
composed of codes which are optimal in the following sense: the dual code has
72
only three weights and the best minimum distance; the weight enumerator
of the dual is unique, equal to those of the dual of the 2-error-correcting
BCH code. We have here exceptional objects which appear in other contexts,
as the study of parameters of sequences (see Chapter(Kumar-helleseth)) or
the determination of cryptographic primitives with “good” properties (see
Section 4.1).
The remainder of this section will be devoted to the characterization
of these optimal objects. On the other hand the Melas codes, which have
minimum distance 5 when m is odd, are never optimal as we show now.
Example 3.27 The Melas code Mm is the cyclic code of length n = 2m − 1
with defining set {1, −1}. When m is odd, the minimum distance is 5; this
can be proved by using the Hartmann–Tzeng bound (see Chapter 1, Theorem
6.3).
Indeed the defining set contains these three pairs:
1 + i + jc , 0 ≤ i ≤ δ − 2 , 0 ≤ j ≤ s ,
73
in proving Theorem 3.32 later. These codes are equivalent to codes of type
Cr,s , r = 2i + 1 and s = 23i+1 ; the dual of Cr,s is then contained in the
RM code of order 2. Kasami proved that such codes are optimal in a more
general context, the determination of the weight enumerator of a number of
cyclic subcodes of the RM code of order 2 [88, Remark 3].
To prove that these codes Cr,s are optimal necessitates the use of several
classical tools; it is interesting to notice that, at the moment, the optimality
can be proved only for subcodes of R∗ (2, m) – as we will show in the proof.
We have chosen the elements of the proof in [87][88] or [141] because we want
to present different methods which could apply to a large class of codes. The
restriction “m odd” is necessary here but not generally.
The main part of the proof is obtained by means of the first Pless power
moments. The `th-power moments, derived from MacWilliams identities,
were given by Pless in [124]. We need to recall the first four power moments,
for codes whose minimum distance is at least 3, and a fundamental theorem
(see also Chapter 1, §10).
Lemma 3.28 Let C be any linear code of length n and dimension k. Let
C ⊥ be the dual code. Let us denote by aw (resp. bw ), w ∈ [0, n], the number
of codewords of weight w in C (resp. in C ⊥ ). Assume that b1 = b2 = 0 –
i.e. the minimum distance of C ⊥ is at least three. Then the first four power
moments of the weight distribution of C (and C ⊥ ) are:
X
n
waw = 2k−1 n
w=0
X
n
w2 aw = 2k−2 n(n + 1)
w=0
X
n
w3 aw = 2k−3 (n2 (n + 3) − 3! b3 )
w=0
Xn
w4 aw = 2k−4 (n(n + 1)(n2 + 5n − 2) + 4! (b4 − nb3 )) . (38)
w=0
74
The next theorem is actually due to Kasami [87, Theorem 13]. We give
a more general presentation, including codes of any dimension.
Theorem 3.30 Let C be any linear code of length n and dimension k where
n = 2m − 1 and m is odd. Suppose that C does not contain the all-one vector.
Assume that the dual code C ⊥ has minimum distance at least three. Let us
denote by aw (resp. bw ), w ∈ [0, n], the number of codewords of weight w in
C (resp. in C ⊥ ). Let w0 be the smallest w such that
aw + a2m −w 6= 0 , 0 < w < 2m−1 .
The dimension of C cannot satisfy k < m; for k ≥ m we have the following
statements.
(i) If k ≥ 2m then w0 satisfies
w0 ≤ 2m−1 − 2(m−1)/2 .
Moreover if equality holds, then b3 = b4 = 0, k = 2m and the weight
distribution of C is the same as the weight distribution of the dual of
the double-error-correcting BCH code, which is
Weight Number of words
0 1
2m−1 − 2(m−1)/2 (2m − 1)(2m−2 + 2(m−3)/2 )
2m−1 (2m − 1)(2m + 1)
2m−1
+ 2(m−1)/2 (2 − 1)(2m−2 − 2(m−3)/2 )
m
75
Note that the codeword of weight zero is not taken into account in the sum
above; on the other hand, by hypothesis, C does not contain the all-one
codeword.
The values of I2 and I4 are simply obtained by using the four power
moments given by (38). WePdo not develop all the computations, indicating
the way only. Recall that w=1 aw = 2k − 1.
n
X
n X
n X
n
I2 = 2 2m−2
aw − 2
m
waw + w 2 aw
w=1 w=1 w=1
= 2 2m−2
(2 − 1) − 2 2
k m k−1
n+2 k−2
n(n + 1) ,
X
n
I4 = 24m−4 aw − 23m−1 waw + 3.22m−1 w2 aw − 2m+1 w3 aw + w4 aw
w=1
= 2 (2k − 1) − 23m+k−2 n + 3.22m+k−3 n(n + 1) − 2m+k−2 (n2 (n + 3) − 3! b3 )
4m−4
and
I4 = 2k+m−4 (3.2m − 2) − 24m−4 + 3.2k−1 (b3 + b4 ) . (42)
Now we consider by (40)
X−1
2m−1
I4 − 2 m−1
I2 = (w − 2m−1 )2 (w − 2m−1 )2 − 2m−1 (aw + a2m −w ) . (43)
w=w0
Note that |w − 2m−1 | ≤ 2(m−1)/2 implies that the wth term above is less than
or equal to zero. From (41) and (42) we have
76
2m−1 − 2(m−1)/2 < w < 2m−1 are negative. Thus we have proved that the
value of w0 is at most 2m−1 − 2(m−1)/2 .
When w0 = 2m−1 − 2(m−1)/2 , the only possibility is I4 − 2m−1 I2 = 0 (see
(43)). We deduce from (44) that k = 2m and b3 + b4 = 0. Therefore C has
dimension 2m and C ⊥ has minimum distance at least five; moreover only
three aw are unknown which correspond to
Proof: The weight distribution of the code R∗ (2, m) is well-known (see Theo-
rem 13.3 of Chapter 1). In particular when m is odd, this code has no words
of weight w such that 2m−1 − 2(m−1)/2 < w < 2m−1 . Therefore this property
holds for any subcode C of R∗ (2, m). So in accordance with (43) and (44),
77
we have
X
2m−1 −2(m−1)/2
I4 − 2m−1
I2 = (w − 2m−1 )2 [(w − 2m−1 )2 − 2m−1 ](aw + a2m −w )
w=w0
k−1
= 3.2 (b3 + b4 ) ,
where (w − 2m−1 )2 − 2m−1 ≥ 0 for any w in the range [w0 , 2m−1 − 2(m−1)/2 ].
Then b3 +b4 = 0 means aw +a2m −w = 0 unless w is in { 2m−1 ±2(m−1)/2 , 2m−1 }.
since m is odd. Then the code C is equivalent to the code C1,t , t = 22j −2j +1
(see (37)).
The dual of C is the cyclic code with defining set
{ 0, . . . , n − 1 } \ cl(2m − 2j − 1) ∪ cl(2m − 23j − 1) .
78
We will briefly explain the proof given in [141, Theorem 17]. For any
subset of F∗ , let A = {αi1 , . . . , αiu }, denote by M (A) the following matrix
1 αi1 α2i1 . . . α(n−1)i1
1 αi2 α2i2 . . . α(n−1)i2
M (A) = 1 ..
.. . . . ..
1 αiu α2iu . . . α(n−1)iu
79
` d wed ` d wed ` d wed ` d wed ` d wed
3 5 p1 5 5 p1 7 4 p2 9 3 p3 11 3 p4
13 5 p1 15 3 p5 17 5 p1 19 5 p1 21 4 p2
23 3 p4 25 3 p4 27 5 p1 29 3 p6 31 5 p1
35 4 p2 37 3 p7 39 3 p8 41 4 p9 43 3 p4
45 4 p10 47 5 p1 51 3 p11 53 3 p6 55 3 p12
57 3 p3 59 5 p1 61 4 p13 63 4 p14 73 3 p15
75 3 p16 77 3 p17 79 3 p6 83 4 p18 85 3 p19
87 5 p1 91 4 p20 93 3 p4 95 3 p8 103 5 p1
107 3 p4 109 3 p4 111 4 p13 117 4 p18 119 4 p21
123 3 p6 125 4 p10 127 3 p19 171 5 p1 175 4 p22
183 3 p7 187 4 p9 191 3 p11 219 3 p23 223 3 p12
239 3 p5 255 5 p24
Table 6: The codes C1,` of length 511; d is the minimum distance and wed
designates the weight enumerator of the dual code. The weight enumerators
pi are given in Tables 7 and 8. These tables are explained at the end of
Section 3.4.2.
if and only if t = `−1 with gcd(`, 511) = 1, where the inverse is calculated
modulo 511 (see Theorem 5.22 in Chapter 1).
The weight enumerators pi are given in Table 7 (list 1) and Table 8
(list 2). One obtains, in all, 24 weight enumerators pi , 1 ≤ i ≤ 24.
Note that 12 codes have p1 as weight enumerator; 5 of them, C1,` with ` ∈
{3, 5, 13, 17, 47}, are duals of the known optimal codes previously described.
The code C1,19 corresponds to the Welsh conjecture, that we give below. Up
to equivalence we have then all the optimal codes we expected. The only
non optimal code with minimum distance 5 is C1,255 , the Melas code. This
situation does not hold for m > 9. Other optimal codes and other non
optimal codes with minimum distance 5 will appear.
To conclude we remark that other weight enumerators, such as p4 , appear
several times. Note that the weight enumerators p15 and p23 have minimum
weight greater than 240.
80
p1 w 240 256 272
aw 69496 131327 61320
p2 w 196 228 232 236 244 248 252 256 260
aw 73 511 9198 13797 13797 45990 64605 511 18396
w 264 268 276 280 284
aw 52122 29127 4599 4818 4599
p3 w 224 256 288
aw 18396 229439 14308
p4 w 224 240 256 272 288
aw 4599 55188 146657 55188 511
p5 w 224 232 236 240 244 248 252 256 260
aw 4599 4599 9198 9198 19929 22995 51100 37814 27594
w 264 268 272 276 280
aw 32193 9198 18396 13797 1533
p6 w 216 232 240 248 256 264 272 280
aw 511 13797 27594 50589 76139 59787 27594 6132
p7 w 208 216 224 232 240 248 256 264 272
aw 1533 511 4599 10731 13797 50589 83804 68985 27594
p8 w 232 240 248 256 264 272 280 288
aw 15330 27594 50589 74606 55188 36792 1533 511
p9 w 224 232 240 248 256 264 272 280 312
aw 4599 4599 22995 70518 71540 50589 32193 4599 511
p10 w 232 240 248 256 264 272 280
aw 13797 18907 70518 79205 32193 41391 6132
p11 w 232 236 240 244 248 252 256 260 264
aw 15330 13797 4599 13797 18396 41902 42413 41391 27594
w 268 272 276 292
aw 13797 22995 4599 1533
p12 w 204 212 232 236 240 244 248 252 256
aw 511 1533 10731 13797 4599 13797 18396 36792 51611
w 260 264 268 272 276
aw 36792 32193 18396 13797 9198
p13 w 232 240 248 256 264 272 280 312
aw 13797 27594 52122 76139 59787 27594 4599 511
Table 7: The weight enumerators of the duals of the codes C1,` of length 511:
list 1. The number of codewords of weight w is denoted by aw . This table is
explained at the end of Section 3.4.2.
81
p14 w 196 228 236 240 244 248 252 256 260
aw 73 4599 4599 24528 27594 18396 41610 28105 36792
w 264 268 272 276 280 300
aw 27594 24528 9198 9198 4818 511
p15 w 244 256 260 276 292
aw 1533 511 1533 511 7
p16 w 208 224 232 240 248 256 264 272
aw 1533 1533 9198 28105 55188 56210 82782 27594
p17 w 196 216 220 228 232 236 244 248 252
aw 73 1533 1533 511 9198 13797 13797 36792 55407
w 256 260 264 268 276 280
aw 511 18396 64386 41391 4599 219
p18 w 224 232 240 248 256 264 272 280 312
aw 1533 4599 41391 55188 56210 68985 32193 1533 511
p19 w 228 232 240 244 248 252 256 260 264
aw 9198 4599 13797 18396 36792 32704 30149 45990 22995
w 268 272 280
aw 24528 13797 9198
p20 w 196 228 232 236 244 248 252 256 260
aw 73 511 4599 18396 13797 59787 50808 511 18396
w 264 268 276 280
aw 38325 42924 4599 9417
p21 w 196 220 232 236 240 244 248 252 256
aw 73 1533 4599 4599 13797 36792 22995 37011 32704
w 260 264 268 272 276 280 288 300
aw 32193 22995 27594 13797 9198 219 1533 511
p22 w 196 232 236 240 244 248 252 256 260
aw 73 4599 13797 15330 27594 22995 27813 28105 50589
w 264 268 272 280 284 300
aw 22995 24528 18396 219 4599 511
p23 w 244 252 256 268 292
aw 1533 511 511 1533 7
p24 w 234 236 238 240 242 244 246 248 250
aw 4599 9198 4599 4599 22995 10731 9198 22995 9198
w 252 254 256 258 260 262 264 266 268
aw 13797 22995 10220 9709 18396 13797 13797 13797 4599
w 270 272 274 276 278
aw 9198 18396 9198 4599 1533
83
More precisely an irreducible cyclic code is a cyclic code which has only one
non zero (see Chapter 1, Theorem 5.25). We first present this definition in
the ambient space M = k[G∗ ], where k is the field of order q and G∗ is the
multiplicative group of order n over k (see §2.2). The splitting field of X n −1
0
is denoted by F and has order q m .
{ s ∈ [0, n − 1] | s 6∈ cl(−k) } ,
84
It is important to remember that any [n, m0 ] irreducible cyclic code over
0
GF (q) is isomorphic to the finite field GF (q m ); although this correspondence
has no connection with the Hamming weight, it places irreducible codes at
the center of some work on finite fields. More generally the research on the
weight enumerator of irreducible cyclic codes remains important because of
the number of fundamental problems which are concerned with finite fields
– see for instance the links with the diagonal equations in Section 2.3.
The most significant work is due to McEliece et al. who pointed out the
existence of a close connection between irreducible cyclic codes and Gauss
sums over finite fields [14, 106, 108]. The main result, which is obtained by
means of a famous theorem of Davenport and Hasse, follows:
For any fixed prime p and for any positive integer k prime to p,
denote by m the multiplicative order of p modulo k. Define the
infinite sequence of irreducible cyclic codes Cj with parameters
85
The most recent result is due to Langevin and Zanotti who have
characterized a class of irreducible codes with balanced weight distribution –
i.e. such that there is the same number of codewords for any non zero weight
of the code. A description is given in [96] and [152]. Note that the number
of nonzero weights must divide p − 1, implying that there are no such binary
codes except the simplex code.
On the other hand consider the class of binary irreducible codes C (m) of
length n = 2m + 1 and dimension 2m. Clearly 2m + 1 = (22m − 1)/(2m − 1)
where m is the order of 2 modulo 2m − 1. Then C (m) is the second code of
(m)
the sequence of irreducible cyclic codes Ct with parameters [nt , mt] where
2mt − 1 (2m − 1)(2m(t−1) + · · · + 2m + 1)
nt = = = (2m(t−1) + · · · + 2m + 1) .
2m − 1 2m − 1
We give in Table 9 the weight enumerators of the codes C (m) for 5 ≤ m ≤ 10.
A relationship between the weight enumerators of the code C (m) and of
the Melas code of length 2m − 1 was established by Tiersma in [125]. On
the other hand, Lachaud and Wolfmann proved in [94] that the weights
of the non zero words of C (m) are all the even integers w such that
2m + 1 2m + 1
− 2m/2 ≤ w ≤ + 2m/2 .
2 2
This description was obtained by giving an explanation of the links between
the weights of Melas codes and some results on elliptic curves and Kloost-
erman sums over GF (2m ). The problem of the complete determination of
the weight enumerator of the Melas code remains open; any result on the
number of words of a given weight could apply to the problem of the values
of Kloosterman sums. The ternary Melas codes were studied in [147].
We conclude this section with an application of Theorem 3.20 to the
divisibility of irreducible cyclic codes. Note that although we treat codes
with the most simple set of non zeros, we can only improve the algorithm
for computing divisibility. It is generally difficult to determine divisibility
of a given infinite class of cyclic codes. One can see the next proposition
as an illustration of this general open problem: find a precise formula for
divisibility of some class of cyclic codes.
Proposition 3.35 Let C be an [n, m] irreducible cyclic code over GF (p)
with nµ = pm − 1. Set τj = lcm (wtp (jn), p − 1), 1 ≤ j ≤ µ. Define
τ
τ = min { τj | 1 ≤ j ≤ µ } and ` = −1 .
p−1
86
n=9 w 2 4 6
m=3 aw 9 27 27
n= 17 w 6 8 10 12
m=4 aw 68 85 68 34
n=33 w 12 14 16 18 20 22
m=5 aw 165 165 165 330 165 33
n=65 w 26 28 30 32 34 36 38 40
m=6 aw 390 455 780 780 390 585 520 195
n=129 w 54 56 58 60 62 64 66 68 70 72 74
m=7 aw 903 903 1032 2709 903 1806 2709 903 1806 1806 903
n=257 w 114 116 118 120 122 124 126 128 130 132 134
m=8 aw 2056 4112 2056 4626 6168 4112 8224 4112 4112 5140 4122
w 136 138 140 142 144
aw 4112 4112 5140 2056 1285
n= 513 w 234 236 238 240 242 244 246 248 250
m=9 aw 1539 4617 9234 18468 9234 4617 13851 13851 13851
w 252 254 256 258 260 262 264 266 270
aw 18468 9747 9234 23085 13851 9234 23085 9234 10773
w 272 274 276 278
aw 23085 4617 9234 4617
n= 1025 w 482 484 486 488 490 492 494 496 498
m= 10 aw 12300 11275 30750 20500 30750 41000 41000 20500 41000
w 500 502 504 506 508 510 512 514 516
aw 61500 20500 46125 41000 20500 41000 61500 30750 41000
w 518 520 522 524 526 528 530 532 534
aw 51250 46125 51250 20500 20500 41000 51250 35875 20500
w 536 538 540 542 544
aw 20500 20500 30750 20500 5125
87
Then C is p` -divisible and not p`+1 -divisible.
Pm−1 i
Proof: Let P i=0 νi p be the p-ary expansion of n; recall that wtp (n) is the
integer sum m−1 i=0 νi , called the p-weight of n. Let U be the set of those
s ∈ [0, n − 1] which are not in the defining set of C. According to Definition
3.33, we assume that U = cl(−1), the p-cyclotomic coset of −1 modulo n.
In accordance with Theorem 3.20, we have to determine the smallest integer
rPdivisible by p − 1 such that r elements of U , say {u1 , . . . , ur }, satisfy
r
i=0 ui = 0Pmodulo n.
Set r = m−1 i=0 ri , meaning that the element −p occurs ri times – i.e. ri
i
n.
Clearly Ir ≡ 0 is satisfied for any r such that Ir = jn, 1 ≤ j ≤ µ. In this
case r is exactly the p-weight of jn. We consider those r which are divisible
by p − 1 only. Then the smallest available r is equal to the smallest value of
lcm (wtp (nj), p − 1) and ` is determined.
88
can mention first the irreducible cyclic codes (see a recent result on a special
subclass in [153]). More generally there are no results on non primitive codes.
However, the results of [21] suggest the conjecture that the permutation
group of any cyclic code will be generally small, i.e. the group G generated
by the shift and some Frobenius mapping depending on the alphabet field.
Indeed, even when the extended code is affine-invariant, it appears that many
cyclic codes have G as permutation group. According to [21, Theorem 6], one
can conjecture that, generally, cyclic codes of length pm − 1, m prime, over
GF (p), either have G as automorphism group or are equivalent to a p-ary
Reed-Muller code; on the other hand, interesting exceptions might appear.
More is known about equivalent cyclic codes. There is a general necessary
and sufficient condition under which two cyclic codes could be equivalent (see
Theorem 5.22 in Chapter 1). In particular when the length is a prime number,
two cyclic codes can be equivalent by a multiplier only. The inequivalence
of affine-invariant codes is now established; two affine-invariant codes cannot
be equivalent unless under the Frobenius mapping [17].
where shj (x) is the j-shift of x. For clarity, we denote by α a primitive root
of F and consider the j-shift as multiplication by αj in F, the support field.
We are going to prove that C is invariant under the affine permutations σu,v .
Let z ∈ C, z = y + y0 , y0 ∈ P r and y = shj (x) for some j. Recall that,
according to (13),
X X X
σu,v (z) = zg X ug+v = yg X ug+v + yg0 X ug+v .
g∈F g∈F g∈F
We have σu,v (z) = σu,v (y) + σu,v (y0 ). As the code P r is affine-invariant,
σu,v (y0 ) ∈ P r . Moreover, by construction, σu,v (y) = σau,v (x) where a = αj ;
89
this shows that σu,0 (y) is a k-shift of x, with u = αi and k = i + j. So we
only have to prove that σ1,v (x) is in C. Observe that
where (X v −1)x ∈ P r since (X v −1) ∈ P and x ∈ P r−1 . Hence σ1,v (x) is in the
coset x + P r , completing the proof. Note that we mainly used the following
property: any coset of the form (46) is invariant under any translation. Recall
that P r is the p-ary Reed-Muller code of order m(p − 1) − r.
4 Related problems.
In this section, we examine research problems in coding theory which are con-
nected with the study of cyclic codes. Actually it is a large topic in which we
have chosen three subjects, which seem currently of interest: cryptography,
alternant codes and non linear codes.
Concerning cryptography, we recall the involvement of Reed-Muller codes
in the description of some cryptographic primitives. More generally, the
primitive binary cyclic codes are then implicated, as we will show by giving
a specific example.
90
The class of alternant codes is closely related with generalized Reed-
Solomon codes and contains BCH codes and Goppa codes. The class of
Goppa codes includes the narrow-sense BCH codes (see [111, chapter 12]).
The aim is to present basic elements about the links between Goppa codes
and BCH codes, introducing some open problems on Goppa codes. Note that
Goppa codes are proposed, as public-key, in the McEliece cryptosystem.
The last subject can be viewed as an example of the involvement of cyclic
codes, and of their cosets, in the construction of other interesting codes. We
treat the most famous non linear codes, the Preparata and Kerdock codes.
We give an original result, a new proof of the formal duality of these codes
based on the description of Backer and on recent results about cosets of
2-error-correcting BCH codes. The use of the operations in the field algebra
of primitive extended codes provides new properties and might suggest other
constructions.
91
functions. RM codes provide a natural way to quantify the degree, the non-
linearity, the correlation-immunity or the propagation criterion of a boolean
function (see for instance [36][37][42][43][117][128]). Note that maximum
nonlinearity coincides with the covering radius of the RM code of order one.
We have here a strong connection with famous open problems: the covering
radius is not known for the lengths 2m , m ≥ 7 and m odd; for m even, the
maximal cosets corresponding to the bent functions are not yet classified –
the most recent result is due to Carlet and Guillot [45].
In this context, it is clear that binary primitive cyclic codes could appear
in some specific application. We want to illustrate our purpose by such an
example which can be seen as an extension of Section 3.4.2, because cyclic
codes with two zeros are involved. We want to emphasize that in a very
recent application the “old” work of Kasami [87] is an important reference.
Definition 4.1 The function F is said to be APN if and only if all the
equations
F (x) + F (x + γ) = β , γ ∈ F , γ 6= 0 , β ∈ F , (47)
have at most two solutions (that is one solution modulo γ). The function F
is said to be AB if and only if the value of
X
µF (γ, β) = (−1)β·F (x)+γ·x (48)
x∈F
92
m+1
is equal either to 0 or to ±2 2 , for any γ and β in F, β 6= 0. Note that
x · y is the dot product with respect to any chosen basis of the vector-space
{F, +}.
(i) the function F is APN if and only if the code CF has minimum distance
five,
(ii) the function F is AB if and only if the weights of the non zero codewords
of the code (CF )⊥ form the following set
X
n−1 X
n−1
ui α i = 0 and ui F (αi ) = 0 . (49)
i=0 i=0
for any γ 6= 0 and β. Suppose that there exist two distinct pairs (x, y) and
(x0 , y 0 ) which satisfy (50). Of course “distinct” means that we have here four
distinct elements of F. The existence of four such elements, for some γ and
β, is equivalent to the existence of four elements satisfying
93
In accordance with (49), it is equivalent to say that the code CF has at least
one codeword of weight three or four – the weight can be three if 0 is in the
set {x, y, x0 , y 0 }. Note that the minimum distance cannot be more than 5,
by using the argument of the proof of Theorem 3.25 (i): the non-existence
of a [2m − 1, k, 6] linear code such that k ≥ 2m − 1 − 2m. So we have proved
(i).
Now set f (x) = β · F (x) + γ · x. Considering elements of F as vectors
of km , the function f is actually a linear combination of some rows of HF .
Hence the numbers
are the weights of the code (CF )⊥ . But µF (γ, β) = 0 means λβ,γ = 2m−1 and
m+1
µF (γ, β) = ±2 2 means
m+1 m−1
2λβ,γ = 2m ± 2 2 — i.e. λβ,γ = 2m−1 ± 2 2 .
Denote by Cr the binary cyclic code of length n whose zeros are α, αr and
their conjugates.
94
Then F is APN if and only if Cr has minimum distance five. The func-
tion F is AB if and only if (Cr )⊥ has only three nonzero weights, 2m−1 and
2m−1 ± 2(m−1)/2 . In this case the weight enumerator of (Cr )⊥ is exactly the
weight enumerator of the dual of the 2-error-correcting BCH code — given
in Theorem 3.32.
X̀
F (x) = λj xij , λj ∈ F \ {0} .
j=1
95
4.2 Cyclic codes and Goppa codes
The aim of this section is to give a basic account about the connections
between Goppa codes and cyclic codes.
Goppa codes, which are often said to be close to random codes, can be
viewed in the ambient space of primitive cyclic (or extended cyclic) codes.
To study some properties of cyclic codes through Goppa codes is, in a certain
sense, an overview. For instance, codewords of Goppa codes can be defined
in several ways including MS-polynomials and locator polynomials – tools
which were developed in the previous sections for cyclic codes.
On the other hand there is a famous open problem which is to recover
the original structure of any Goppa code when only a permuted generator
matrix is given. This is a possible way for breaking the McEliece public-
key cryptosystem [107] but could be used in some other applications. Here
knowledge of properties of cyclic codes, or of tools designed to the study of
cyclic codes, might be useful.
The automorphism groups of Goppa codes are not known. It is conjec-
tured that the group of such a code is generally trivial; furthermore one can
say that there are few Goppa codes, extended or not, which are cyclic. As is
explained in Chapter(Assmus-Key) a code can be cyclic in many ways. One
must specify explicitly the cyclic structure we are referring to before compar-
ing a given code to a cyclic code. That is particularly true for Goppa codes.
It is easy to treat the cyclicity when the support is fixed, meaning that we
consider the code in the ambient space k[{G∗ , ×}], denoted by M in Section
2.2; the “shift” is precisely the multiplication of the cyclic group G∗ . Other-
wise the problem becomes the general problem of finding the automorphism
group of Goppa codes.
We first recall that, with the above restricted point of view, it is easy
to show that cyclic Goppa codes are BCH codes. We next point out that,
however, there is a large class of quasi-cyclic Goppa codes. To conclude we
explain the link between the class of Goppa codes and the minimum weight
codewords of BCH codes by giving some applications of Corollary 3.13 (in
the binary case).
We consider here classical Goppa codes in the sense of [74] (see also [111,
Chapter 12] or [139, Chapter 8]). As previously the finite field of order q,
q = pr and p a prime, is denoted by k; k is the alphabet field. The support
field is denoted by F; it is an extension field of k of order pm , r dividing
96
0
m – or q m , m0 = m/r. Considering Goppa codes, the field F is called the
full support field, because for such a code the support can be, with some
restrictions, any subset of F.
X
n
ci
Rc (z) = ≡ 0 (mod g(z)) .
i=1
z − αi
Before studying some properties of cyclicity, we want to recall that the di-
mension and the minimum distance of Goppa codes are not known. In both
cases, only a bound is known which is generally considered as a good bound;
note that the bound on the dimension is reached for an infinite class of Goppa
codes of small dimension [138]. These bounds can be easily obtained from a
parity check matrix of the code (as H in the proof of Proposition 4.7).
Proposition 4.6 Let Γ(L, g) be a Goppa code defined by Definition 4.5; let
t be the degree of g(z). Then the dimension k and the minimum distance d
of Γ(L, g) satisfy:
k ≥ n − m0 t and d ≥ t + 1 .
Proof: The following matrix, where each entry is a column vector of length
m0 from k, is a parity check matrix of the code Γ(L, g).
g(α1 )−1 . . . g(αn )−1
α1 g(α1 )−1 . . . αn g(αn )−1
H= ...
... ...
(α1 )t−1 g(α1 )−1 . . . (αn )t−1 g(αn )−1
97
Assume that g(z) = z t . For clarity, let αi−1 = βi , for all i. By replacing in
H, we obtain
−t t
α1 ... αn−t β1 ... βnt
α−(t−1) ... αn
−(t−1) (t−1) (t−1)
H= 1 = β1 ... βn
... ... ... ... ... ...
α1−1 ... αn−1
β1 ... βn
Proof: We simply generalize the proof of van Lint [139, p.113]. We denote
by Q(z) the polynomial z n−1 Mc (z). Let c = (c1 , . . . , cn ) be a codeword of
length n on k. Consider the polynomial of F[z]:
z n − 1 X Mc (β ` ) 1X Y
n−1 n−1
P (z) = = M c (β `
) (z − β i ) .
n `=0
z − β ` n `=0 i, i6=`
Note that (n, p) = 1, gcd(z n − 1, g(z)) = 1 and P (z) has degree less than or
equal to n − 1. By differentiating z n − 1, it is easy to check that
Y
(β ` − β i ) = nβ −` .
i, i6=`
98
Thus we have for any j, 0 ≤ j ≤ n − 1:
Mc (β j ) Y j
P (β j ) = (β − β i ) = Mc (β j ) β −j .
n i, i6=j
Since P (z) takes the same values as Q(z) on the group of nth roots of unity,
then Q(z) = P (z). Furthermore we obtain
z n − 1 X n ci
n−1
P (z) = = (z n − 1) Rc (z)
n i=0
z − β i
because Mc (β i ) = nci by applying the inverse formula (4) (see Section 2.2).
According to Definition 4.5, one deduces that c is in Γ(L, g) if and only if
g(z) divides Q(z), proving the first part of the theorem. Now, by definition
of Mc (z), we have
X
n−1
Q(z) = z n−1
Mc (z) = ρn−s (c) z s−1 (mod z n − 1) ,
s=0
Pn s(i−1)
where ρs (c) = i=1 ci β (see (3)
P and (1)). This shows that zQ(z) is
divisible by z if and only if ρn (c) = ni=1 ci = 0. When this property holds,
we can conclude that Mc (z)/z is a multiple of g(z), completing the proof.
99
which contradicts the fact that Mc (z) is a polynomial of degree strictly less
than n. Hence g(z) has no roots γ, unless γ = 0, meaning that g(z) = z t for
some t. From Proposition 4.7, Γ(L, g) is a BCH code, completing the proof.
On the other hand, there is a large class of quasi-cyclic Goppa codes,
i.e. Goppa codes Γ(L, g) which are invariant under mutiplication by some
element of F. The class that we define below is not the more general one; we
simply indicate the way of constructing such Goppa codes.
Proposition 4.10 Recall that α denotes any primitive root of F. Suppose
0
that n divides q m − 1 and denote by β a primitive nth root of unity in F.
0
Let us define the Goppa code Γ(L, g) such that L = { αi | 0 ≤ i ≤ q m − 2 }
and g(z) is a monic polynomial satisfying
g(βz) = g(z) , for any z .
Then Γ(L, g) is invariant under multiplication by β over L: Γ(L, g) is quasi-
cyclic.
0
Proof: Set N = q m −1. From Lemma 4.8, Γ(L, g) consists of those codewords
c of kN whose MS polynomial satisfies
z N −1 Mc (z) (mod z N − 1) ≡ 0 (mod g(z)) .
From Theorem 2.3, Mc (z/β) is the MS polynomial of the ν-shift of c where
ν = N/n and β = αν . On the other hand, g(βz) = g(z) means that the set of
roots of g(z) is invariant under the multiplication by β. Hence g(z) divides
(z/β)N −1 Mc (z/β), implying that g(z) divides
z N −1 Mc (z/β) = z N −1 Mshν (c) (z) .
So we conclude that the ν-shift of c is in Γ(L, g); in other words, Γ(L, g) is
quasi-cyclic.
Example 4.11 Our notation is as in Proposition 4.10. Let F0 be an exten-
sion field of F. Take
g(z) = z n − γ , γ ∈ F0 \ F .
Obviously g(βz) = β n z n − γ = g(z). So Γ(L, g) is a quasi-cyclic code of
0
length N = q m − 1 and dimension k, k ≥ N − m0 n.
100
From now on we will consider binary Goppa codes, i.e k = GF (2) and
F = GF (2m ). Let Γ(L, g) be a binary Goppa code of length n over k. Any
codeword c can be identified to its locator set { αi ∈ L | ci 6= 0 }. Assume
that c has weight w, with ci1 = · · · = ciw = 1 and define
Y
w
fc (z) = (z − αij ) . (51)
j=1
By differentiating, we obtain
X
w Y
w
fc0 (z) = (z − αij ) .
`=1
j=1
j 6= `
Proposition 4.12 Denote by gb(z) the lowest degree perfect square polyno-
mial which is divisible by g(z); let t be the degree of g(z) and t0 be the degree
of gb(z).
Then the codeword c is in Γ(L, g) if and only if gb(z) divides fc0 (z) and the
minimum distance d of Γ(L, g) is at least t0 + 1. Moreover if the roots of g(z)
have multiplicity one then g(z)2 divides fc0 (z) and d ≥ 2t + 1.
101
proving that the weight of c is at least 2t + 1.
Denote by B(δ) the binary BCH code of length n and designed distance
δ. We know the form of the locator polynomials of the codewords of B(δ)
(see Corollary 3.13). So the preceding proposition leads us to this natural
question: what is the intersection between B(δ) and Γ(L, g), when δ is exactly
the lower bound t0 + 1 ? The general problem is difficult; however, it is often
easy to characterize codewords belonging to this intersection. We conclude
this section by giving some results on such codewords of weight δ.
L = F \ { γ ∈ F | g(γ) = 0 } .
X
t−1
δ −1
σx (z) = z fx (z ) with fx (z) = ξ + λi z 2i+1 + z δ , (53)
i=0
102
Let { αj | 1 ≤ j ≤ δ } be the set of locators of x. We have, by definition,
Y
δ Y
δ
σx (z) = (1 − αj z) = z δ (z −1 − αj ) = z δ fx (z −1 )
j=1 j=1
103
Let g(z) = z 7 +z 3 +z 2 +z +1. Since g(z) is the only proper factor of fx0 (z), we
can conclude that the code Γ(L, g) is the only binary Goppa code of length
256 containing x. Note that the minimum distance of this code is at least
15.
On the other hand, take
fx (z) = z 8 + z 7 + z 6 + z 5 + z 4 + z 3 + 1 (z + 1) = z 9 + z 3 + z + 1
giving 2
fx0 (z) = z 8 + z 2 + 1 = z 4 + z + 1 .
According to (53) and (54), x is a codeword of weight 9 in the BCH code of
length 255 and designed distance 9. The polynomial z 4 + z + 1 is the minimal
polynomial of an element γ of GF (28 ), but it cannot have a common root
with fx (z). So x is a codeword of Γ(L, g), where
Implicitly, we have proved that the minimum distance of B(9) (and of Γ(L, g))
is exactly 9.
104
codes was first obtained by Semakov and Zinoviev [129]; the “formal du-
ality” is due to Zaitsev et al. [151, 1972].
However our aim is to give an example of the construction of good non
linear codes based on properties of some cyclic codes. We want to explain
Preparata codes by means of tools developed for primitive cyclic codes. The
cyclic codes in question have an affine-invariant extension and the material
from Section 2 can be used to provide more properties of the most famous
non linear codes.
By construction the Preparata codes are connected to the cosets of some
binary cyclic codes. They are the codes of length 2m −1, m odd, with defining
set
cl(1) ∪ cl(2i + 1) , gcd(i, m) = 1 ,
where cl(s) is the 2-cyclotomic coset modulo 2m −1 containing s. These codes
were previously denoted by C1,2i +1 . For simplicity, we denote C1,2i +1 by Bi .
The codes Bi have minimum distance 5 and the same weight enumerator as
that of the double-error-correcting BCH code (the code B1 ) as explained in
Section 3.4.2; this was first proved by Kasami [87][88].
We consider here the extended codes, denoted by B bi . These codes are
affine-invariant with parameters [2 , 2 − 2m − 1, 6]. Indeed such a code has
m m
defining set
Ti = {0} ∪ cl(1) ∪ cl(2i + 1) , gcd(i, m) = 1 ,
which obviously is the defining set of an affine-invariant code (see Theorem
2.14). As Bi has minimum distance 5, its extension has minimum distance
6. The weight enumerator of any code B bi⊥ is easily deduced from those of
Bi⊥ – which is the one of B1⊥ and was given in Theorem 3.30 – (see a precise
explanation in [55]). That is:
Weights of Bi⊥ Number of words
0 1
2m−1
− 2(m−1)/2 (2 − 1)2m−1
m
(55)
2m−1 22m + 2m − 2
2m−1 + 2(m−1)/2 (2m − 1)2m−1
2m 1
The codes Bbi have the same weight distribution of cosets independent of
i. Actually the codes Bi are known to be uniformly packed and completely
105
regular, with the same distance matrix. This comes mainly from the fact that
for such a code the external distance is equal to the covering radius. These
results are to be found in [13] and [130], where uniformly packed codes were
introduced; see also [72] for an extensive study. The next theorem is easily
deduced; for clarity we outline the proof.
bi of length 2m , m odd,
Theorem 4.15 The binary extended cyclic codes B
with defining set
Proof: Recall that the external distance r of a linear code is the number of
the non zero weights of its dual. The distance matrix has r + 1 columns and
t rows, where t is the number of distinct weight distributions of the cosets of
the code. The (j + 1)-st column contains the number of codewords of weight
j for any weight distribution. Knowledge of this matrix is sufficient for the
determination of the complete weight distribution of cosets (see Theorem
10.10 of Chapter 1).
b1 was given in [55].
A new formulation of the cosets weight distribution of B
The distance matrix and the weight enumerators of cosets were obtained by
using some properties which hold for any i. We point out that these results
can be generalized: the coset weight distribution of any Bbi is the same as the
b
one of B1 given in [55]. We give a sketch of its proof.
106
bi is four. Then
• According to (55), the external distance of any code B
the covering radius ρ of the codes Bi satisfies ρ ≤ 4. Actually it is
bi is contained in the Reed-Muller (RM) code of
exactly four since B
order m − 2 whose minimum distance is four.
• There are at most four distinct weight distributions. Indeed all cosets
of weight one, and all cosets of weight two, have the same weight dis-
tribution since the codes Bbi are affine-invariant – i.e. invariant under
a doubly-transitive group. On the other hand, the weight distributions
of cosets of weight 3 and 4 are unique; this is a general result proved in
[1], Corollary 1 and 2. Then the codes B bi are completely regular since
the weight distribution of each coset only depends on the minimum
weight of the coset.
Berger has recently proved that two binary affine-invariant codes cannot
bi are not equivalent.
be equivalent [17]. So the codes B
107
We recall the definition of the classical extended Preparata codes, due to
Baker and Wilson (see also [12]). Note that it was proved by Gœthals
et al. that all these codes have the same weight enumerator [71].
For the remainder of the section, let F be the field of order 2m with m
odd, k the field of order 2, and A = k[F].
Definition 4.16 Let i be is an integer such that gcd(i, m) = 1. The extended
Preparata code P (i) is a non linear binary code of length 2m+1 . By identifying
any binary codeword with its support, P (i) consists of the codewords described
by all pairs
(X, Y ) , X ⊂ F and Y ⊂F,
satisfying
(i) | X | and | Y | are even ,
X X
(ii) x= y , and
x∈X y∈Y
X i
X i
X i
(iii) x2 +1 + y 2 +1 = ( x)2 +1 .
x∈X y∈Y x∈X
A codeword ( x, y) of A × A is a pair
!
X X
x= Xg, y = Xg
g∈X g∈Y
108
The extension of the 2-error-correcting BCH code is the following subspace
of A:
Bb1 = { x ∈ A | φ0 (x) = φ1 (x) = φ3 (x) = 0 } . (57)
Recall that the RM codes and the extended BCH codes are ideals of A. The
code R2 (m − 1, m), which is the radical P of A, is the set of codewords of
even weight. The code R2 (m − j, m) is the j-th power P j of the radical of
A (see Section 2.4).
b1 will be denoted
Notation: In the sequel, and for simplicity, the code B
b
by B and the Preparata code P (1) by P . The code R2 (m − j, m) will be
denoted by P j .
( x, y) , x ∈ A , y ∈ A ,
satisfying
(a) φ0 (x) = φ0 (y) = 0 ,
Condition (i) in Definition 4.16 means that x and y are even weight code-
words, i.e. both are codewords of P. Condition (ii) means that φ1 (x) equals
φ1 (y). Since φ1 is linear, this is equivalent to φ1 (x + y) = 0. Therefore, if (a)
is satisfied, (b) means that x + y ∈ P 2 ; in other words x and y are in the
same coset of P 2 .
109
In the same manner condition (c) is condition (iii) rewritten with φ1 and
φ3 . Assume that x and y satisfy (a), (b) and (c). Set z = x + y and note
that φ3 (x) + φ3 (y) = φ3 (z). Then it is clear that the syndrome of z, with
respect to B,b is given by (58); any codeword of the coset z + B b has such a
syndrome.
Conversely assume that x and y satisfy (a) and that x + y is in the coset
z+B b whose syndrome is given by (58). As φ1 and φ3 are linear, (b) and (c)
are satisfied.
Our purpose is to prove Theorem 4.20. We begin by recalling the weight
distribution of the cosets of the extended 2-error-correcting BCH codes. The-
orem 4.18 and results presented in Table 10 were given in [55].
110
Z 0 + 2(m−1)/2 (2m − 1)Z γ1 − 2(m−1)/2 (2m − 1)Z γ3 − Z 2
1 m
W(1) (X, Y ) = 22m+1
Z 0 + 2m−1 Z γ1 − (2m + 2)Z γ2 + 2m−1 Z γ3 + Z 2
1 m
W(2) (X, Y ) = 22m+1
Z 0 − 2(m−1)/2 Z γ1 + 2(m−1)/2 Z γ3 − Z 2
1 m
W(3) (X, Y ) = 22m+1
Z 0 − 2m−1 Z γ1 + (2m − 2)Z γ2 − 2m−1 Z γ3 + Z 2
1 m
W(4) (X, Y ) = 22m+1
with notation:
m −t
Z t = (X + Y )2 (X − Y )t
111
Proof: Recall that
!
X X
h h g
X x=X xg X = xg X g+h .
g∈F g∈F
Since B,b P and P 2 are invariant under the affine group, each coset X h D
satisfies
X hD = X hx + B b , h∈F
and is contained in P \ P 2 . Clearly D and X h D have the same weight
enumerator. The syndrome of a coset D = x + B b with x ∈ P \ P 2 is
(0, φ1 (x), φ3 (x)) where φ1 (x) 6= 0. Note that the weight of D is either 2 or
4 since D is contained in P.
Assume that φ3 (x) = 0. If there is a codeword of weight 2, say X u + X v ,
in D, then we have
φ3 (X u + X v ) = u3 + v 3 = 0 .
This leads to u = v (as m is odd, gcd(3, 2m − 1) = 1), a contradiction. So we
have proved that D is a coset of weight 4 when φ3 (x) = 0.
Now we will prove that there are exactly 2m (2m − 1) cosets D of weight
4 such that φ3 (X h x) = 0, for some h. First there are 2m − 1 cosets with
syndrome
(0 , φ1 (x) = β , φ3 (x) = 0) , β ∈ F∗ .
P
Let x = g∈F xg X g and compute the syndrome of X h x:
X X X
φ1 (X h x) = xg (h + g) = xg g + h xg = φ1 (x) = β
g g g
112
We then obtain exactly the 2m−1 (2m − 1) cosets that we expected. But this is
exactly the number of cosets of weight four contained in P \ P 2 (see Theorem
4.18), completing the proof
Now we come back to the Preparata codes. Recall that for any codeword
(x, y) ∈ P , x and y are in P. This shows that the Preparata codes
are constructed from even weight cosets of B b only. Our notation is that of
Theorem 4.18. The polynomials W(i) (X, Y ) are given in Table 10.
Theorem 4.20 Denote by W (X, Y ) the weight enumerator of the Preparata
code of length 2m+1 , m odd. Then :
m −2(m−1)/2 m
K(X, Y ) = T 0 + 2m+1 (2m − 1)T 2 + (2m+2 − 2)T 2
m +2(m−1)/2 m+1
+2m+1 (2m − 1)T 2 + T2 (60)
m+1 −i
where T i = X 2 Y i.
We begin by proving two Lemmas.
L = P ∩ { (x, y) | x ∈ P 2 } .
Then [
L= b × (x + B),
(x + B) b
x∈P 2
2 2
(2m − 1) W(4) (X, Y ) + W(0) (X, Y ) . (61)
113
Proof: By definition x ∈ P 2 if and only if φ0 (x) = φ1 (x) = 0. Assuming
this we write conditions (a), (b) and (c) of Lemma 4.17. We get that a pair
(x, y) is in L if and only if
φ0 (x) = φ1 (x) = 0
φs (x) = φs (y) , s = 0, 1, 3 . (62)
N = P ∩ { (x, y) | x ∈ I } .
Then [
N= b × (x + z + B)
(x + B) b ,
x ∈ I, z ∈ P 2
φ3 (z) = φ1 (x)3
Moreover, for any product of cosets above, if δ(x) = 2 then δ(x + z) = 4 and
if δ(x) = 4 then δ(x + z) = 2.
114
The weight enumerator of N is equal to
Proof of Theorem 4.20: The proof is easily deduced from the two previous
lemmas. The codewords (x, y) of P are such that x and y both have even
weight. So x (resp. y) is either in P\ P 2 or in P 2 . Obviously the code P is
115
equal to the union of L and N , two sets which do not intersect. Therefore
the weight enumerator of P is equal to the weight enumerator of L plus the
weight enumerator of N – these weight enumerators are given by Lemmas
4.21 and 4.22.
It is well-known that the weight enumerator of the Preparata code is the
MacWilliams transform of the weight enumerator of the Kerdock code; this
was proved by Semakov, Zaitsev and Zinoviev [151] (see also [111, ch.5,
§5]). We give another proof of this property.
The weight enumerator W(0) (X, Y ) is given by (55); the W(i) (X, Y ) are
given in Table 10. By using these formulas and (59), one computes the weight
enumerator of the code P and obtains
1
+ (24m+1 − 23m+1 )U 2 −2
m+1 m (m−1)/2
W (X, Y ) = 4m+2 22m U 0 + 22m U 2
2
2m +2(m−1)/2 2m
+ (2 4m+1
−2 3m+1
)U + (23m+2
−2 2m+1
)U
We obtain
m+1 m+1 m +2(m−1)/2 m −2(m−1)/2
K(X, Y ) = X 2 +Y2 + 2m+1 (2m − 1)X 2 Y2
m −2(m−1)/2 m −2(m−1)/2 m m
+ 2m+1 (2m − 1)X 2 Y2 + (2m+2 − 2)X 2 Y 2 ,
which is the weight enumerator of the Kerdock code, given in (60), completing
the proof.
116
that, according to Theorem 4.15, we could consider P (i) and the cosets of
Bbi throughout the section. We claim that the result given by Theorem 4.20
holds for any i.
The number of distinct weight enumerators of cosets of the primitive
2-error-correcting BCH codes, extended or not, is the same for any length
2m − 1. This number is four when m is odd; it is eight for m even. It is
respectively five and eight for the extended codes [55]. This property does
not hold for the 3-error-correcting BCH codes, providing several conjectures
(see [57]). Note that, however, the external distance of the 3-error-correcting
BCH codes is five (six for the extension) for any length. For these codes, the
external distance is a constant while the number of weight enumerators of
cosets increases with the length. The Gœthals codes are built from cosets of
the 3-error-correcting BCH codes and there is a direct definition analogous to
Definition 4.16 of these codes [12]; so it is possible to state a lemma analogous
to Lemma 4.17.
About the Preparata codes, our aim is to explain the following point
of view. Each code is a union of product sets C1 × C2 where C1 and C2
are cosets of the extended 2-error-correcting BCH code. By fixing C1 we
determine C2 , and vice-versa. So the definition of the codewords of P is
based on relations on these cosets and not on relations on the words of these
cosets. Furthermore we are not surprised that the weight enumerator of P
is in a certain sense not dependent on the construction of the code. This is
especially true for the cosets of weight four: there are two distinct kinds of
cosets of weight four and both have the same weight enumerator.
There are many other possible relations between the cosets which do not
change the weight enumerator. They could provide other constructions and
then other codes with the same weight enumerator. It could provide, for
instance, a construction of the Preparata-like code obtained in [75].
5 Conclusion
This chapter does not give an exhaustive overview of problems involving
unknown properties of cyclic codes. Our aim was to emphasize that research
on cyclic codes remains a topic of great interest for a large community.
We have focused on some problems which have been recognized as hard
for a long time. Therefore some recent new topics are not developed here.
The most famous example is the fast-expanding study of cyclic codes over
117
Zk , k not a prime, originated by the work of Hammons et al. [75] (in the
case k = 4)– see also the earlier paper due to Nechaev [119]. The authors
showed that some codes, not cyclic in the usual sense, can be viewed as
Z4 -cyclic codes. In [75], they conclude that this new point of view should
completely transform the study of cyclic codes. Our purpose is not in conflict
because we wish to develop the idea that important problems in cyclic codes
remain unsolved and necessitate new tools or new methods for going further.
This chapter is based on valuable discussions with a number of researchers
of the community. Particularly we want to express our gratitude to E.F.
Assmus, Jr, D. Augot, C. Carlet, T.P. Berger, J. Wolfmann and
V. Zinoviev for their contributions.
We would further mention N. Sendrier, A. Canteaut, and F. Levy-
dit-Vehel who have provided respectively Tables 2, 3 and 4 and gave in-
formation about all their numerical results.
References
[1] E.F. Assmus, Jr & V. Pless On the covering radius of extremal self-
dual codes, IEEE Transactions on Information Theory, vol. IT-29, n. 3,
May 1983.
[2] E.F. Assmus Jr & J.D. Key, Designs and their codes, Cambridge
Tracts in Mathematics, Volume 103, Cambridge University Press, 1992.
[4] D. Audibert & N. Sendrier, Distribution des poids des codes cy-
cliques binaires de longueur 63. INRIA-report Number 2299, July 1994.
[5] D. Augot, Etude algèbrique des mots de poids minimum des codes
cycliques. Méthodes d’algèbre linéaire sur les corps finis, Thèse de
l’Université Paris 6, Décembre 1993.
118
[7] D. Augot, P. Charpin & N. Sendrier, The minimum distance of
some binary codes via the Newton’s Identities, EUROCODE’90, LNCS
514, pp. 65-73, Springer-Verlag.
[10] D. Augot & N. Sendrier, Idempotents and the BCH bound, IEEE
Transactions on Information Theory, Vol. 40, N. 1, January 94, pp. 204-
207.
[12] R.D. Baker, J.H. Van Lint & R.M. Wilson, On the Preparata and
Gœthals codes, IEEE Transactions on Information Theory, Vol. IT29,
N.3, May 83, pp. 341-5.
119
[18] T. P. Berger, On the automorphism group of affine-invariant codes,
Designs Codes and Cryptography, 7, 215-221 (1996), pp. 215-221.
[23] E.R. Berlekamp, The weight enumerators for certain subcodes of the
second order Reed-Muller codes, Info. and Control, 17(1970) 485-500.
[24] E.R. Berlekamp & J. Justesen, Some long cyclic linear binary codes
are not so bad, IEEE Transactions on Information Theory, IT-20, May
1974, pp. 351-356.
[26] S.D. Berman, Semisimple cyclic and abelian codes, II, Kibernetika,
Vol. 3, N. 3, pp. 21-30, 1967.
[29] R.E. Blahut, Transform techniques for error control codes, IBM J.
Res. Dev. 23 (1979), 299-315.
120
[30] F. Blanchet & G. Bommier, Binary quasi-cyclic Goppa codes, sub-
mitted – abstract in the Proceedings of “1997 IEEE International Sym-
posium on Information Theory”, p. 504, June 29 - July 4, 1997.
121
[39] C. Carlet, A transformation on Boolean functions, its consequences
on some problems related to Reed-Muller codes, EUROCODE’ 90, LNCS
n◦ 514, pp. 42-50, Springer-Verlag (1991).
122
[51] P. Charpin, Codes cycliques étendus invariants sous le groupe affine,
Thèse de Doctorat d’Etat, Univ. PARIS VII, 1987.
[56] P. Charpin, Tools for cosets weight enumerators of some codes, Pro-
ceedings of “Finite Fields: Theory, Applications and Algorithmes”, AMS
publication, Contemporary Mathematics, vol. 168, 1994, pp. 1-13.
[60] X. Chen, I.S. Reed, T. Helleseth & T.K. Truong, General prin-
ciples for the algebraic decoding of cyclic codes, IEEE Transactions on
Information Theory, vol. 40, N.5, September 94, pp. 1661-63.
[61] S.D. Cohen, The length of primitive BCH codes with minimal covering
radius, Designs, Codes and Cryptography, 10, 5-16 (1997).
123
[62] G.D. Cohen, S.N. Litsyn, A.C. Lobstein, H.F. Mattson,Jr,
Covering radius 1985-1994, Applicable Algebra in Engineering, Com-
munication and Computing, Vol. 8, No. 3, 1997.
[63] P. Delsarte & J.M. Gœthals, Irreducible binary cyclic codes of
even dimension, in: Combinatorial Mathematics and its Applications,
Proc. Second Chapel Hill Conference, May 70 (Univ. of North Carolina,
Chapel Hill, N.C.,1970) pp. 100-113.
[64] P. Delsarte, J.M. Gœthals & F.J. MacWilliams On generalized
Reed-Muller codes and their relatives, Info. and Control, 16 (1974) 403-
442.
[65] Y. Desaki, T. Fujiwara & T. Kasami, The weight distributions of
extended binary BCH codes of length 128, IEEE Transactions on Infor-
mation Theory, to appear.
[66] H. Dobbertin, Almost perfect nonlinear power functions on GF (2n ),
submitted.
[67] G. Feng & K.K. Tzeng, A new procedure for decoding cyclic and BCH
codes up to actual minimum distance, IEEE Transactions on Information
Theory, vol. 40, N.5, September 94, pp. 1364-74.
[68] K.O. Geddes, S.R. Czapor & G. Labahn, Algorithms for computer
algebra, Kluwer Academic Publishers, 1992.
[69] A. M. Gleason, Weight polynomials of self-dual codes and
the MacWilliams identities, in: Actes Congrés International de
Mathématiques, 3 1970 (Gauthier-Villars, Paris, 1971) 211-215.
[70] J.M. Gœthals, Factorisation of cyclic codes, IEEE Transactions on
Information Theory, vol. IT-13, pp. 242-246, April 1967.
[71] J.M. Gœthals & S.L. Snover, Nearly perfect codes, Discrete Math-
ematics 3 (1972) 64-88.
[72] J.M. Gœthals & H.C.A. van Tilborg, Uniformly packed codes,
Philips Res. Repts 30, 9-36, 1975.
[73] J.R. Griggs, Maximum antichains in the product of chains, Order
1(1984), 21-28.
124
[74] V.D. Goppa, A new class of linear error-correcting codes, Problemy
Peredachi Informatsii 6(1970), 24-30.
[76] H.J. Helgert & R.D. Stinaff. Shortened BCH codes, IEEE Trans-
actions on Information Theory, November 1973, pp. 818–820.
[77] T. Helleseth, On the covering radius of cyclic linear codes and arith-
metic codes, Discrete Applied Mathematics, 11(1985), pp. 157-173.
[84] T. Kasami, Some lower bound on the minimum weight of cyclic codes
of composite length, IEEE Transactions on Information Theory, vol. 14,
N.6, November 1968, pp. 814-818.
125
[85] T. Kasami, S. Lin & W.W. Peterson, Polynomial codes, IEEE
Transactions on Information Theory, Vol. 14, N. 6, Novembre 1968, pp.
807-814.
[86] T. Kasami, An upper bound on k/n for affine-invariant codes with fixed
d/n, IEEE Transactions on Information Theory, 15(1969) 174-176.
[89] T. Kasami & S. Lin. Some results on the minimum weight of primitive
BCH codes, IEEE Transactions on Information Theory, November 1972,
pp. 824–825.
[90] T. Kasami, S. Lin & W.W. Peterson Some results on cyclic codes
which are invariant under the affine group and their applications, Info.
and Control, vol. 11, pp. 475-496 (1967).
[93] T. Kasami & N. Tokura, Some remarks on BCH bounds and min-
imum weights of binary primitive BCH codes, IEEE Transactions on
Information Theory, vol. 15, N. 3, May 1969, pp. 408–413.
126
[95] P. Langevin, A new class of two weight codes, Proceedings of Finite
Fields and Applications (third conference), Glasgow, Grande Bretagne,
London Mathematical Society, Lecture Series 233, Cambridge University
Press, pp. 181-187 (1996).
[96] P. Langevin & J.P. Zanotti, Linear codes with balanced weight dis-
tribution, Applied Algebra in Engineering Communication and Comput-
ing, vol.6, 299-307 (1995).
[97] F. Laubie, Codes ideaux de certaines algèbres modulaires et ramifica-
tion, Communications in Algebra, 15(5), 1001-1016 (1987).
[98] D. Lazard, Systems of algebraic equations (algorithms and complexity),
Proceedings of Cortona Conference, University of Carolina Press, 1993.
[99] J.S. Leon, J.M.Masley & V. Pless, Duadic codes, IEEE Transac-
tions on Information Theory, vol. IT-30, 1984, 709-714.
[100] F. Levy-dit-Vehel, Divisibilité des codes cycliques: Applications et
prolongements, Thèse de l’Université Paris 6, 1994.
[101] F. Levy-dit-Vehel, Bounds on the minimum distance of the duals of
extended BCH codes over Fp : Applied Algebra in Engineering Commu-
nication and Computing, vol.6 n0 3, pp.175-190, 1995, Springer-Verlag.
[102] R. Lidl & H. Niederreiter, Finite Fields, Encyclopedia of math-
ematics and its applications 20, Cambridge University Press, Second
edition, 1997.
[103] S. Lin & E.J. Weldon, Further results on cyclic product codes, IEEE
Transactions on Information Theory, vol. IT-16, N. 4, pp. 452-459, July
1970.
[104] R.J. McEliece, Quadratic forms over finite fields and second order
Reed-Muller codes, JPL Space Programs Summary, 37-58-III (1969) 28-
33.
[105] R.J. McEliece, Weight congruence for p-ary cyclic codes, Discrete
Mathematics 3(1972) 177-192.
[106] R.J. McEliece & H. Rumsey, Euler products, cyclotomy and coding,
J. Number Theory, Vol. 4, N. 3, pp. 302-311, June 1972.
127
[107] R.J. McEliece, A public-Key cryptosystem based on algebraic coding
theory, DSN Progress Report 42-44, Jet Propulsion Laboratory 1978,
pp114-116.
[108] R.J. McEliece, Irreducible cyclic codes and Gauss sums, in: M. Hall,
Jr and J.H. van Lint, eds, “Combinatorics”, (Reidel, Dordrecht, 1975)
pp. 185-202.
[109] R.J. McEliece & D.V. Sarwate, On Sharing secrets and Reed-
Solomon codes, Commun. of the ACM, 24:583-584, 1981.
[111] F.J. Macwilliams & N.J.A. Sloane The theory of Error Correct-
ing Codes, North-Holland 1986.
[113] J.P. Martin, Construction of the best binary cyclic codes of even
length, EUROCODE’ 92, CISM Courses and Lectures n◦ 338, 65-76,
Springer-Verlag, Wien - New-York.
128
[118] M. Matsui, Linear cryptanalysis method for DES cipher, EURO-
CRYPT’93 Advances in Cryptography, Lecture Notes in Computer Sci-
ence 765, p. 386-397 (1994).
[119] A.A. Nechaev, Kerdock code in a cyclic form, Discrete Math. Appl.,
Vol.1, N.4, pp. 365-384 (1991).
[120] G. Pasquier, The binary Golay code obtained from an extended cyclic
code over F8 , European Journal of Combinatorics, vol 1,pp. 369-370,
1980.
[121] G. Pasquier, A binary extremal doubly even self-dual code [64, 32, 12]
obtained from an extended Reed-Solomon code over F16 , IEEE Trans-
actions on Information Theory, Vol. IT-27, N. 6, November 1981, pp.
807-808.
[122] R.L. Pele, Some remarks on the vector subspaces of a finite field, AF
Cambridge Research Labs., Bedford, Mass., Scientific Rept, AFCRL-66-
477.
[125] J.C.C.M. Remijn & H.J. Tiersma, A duality theorem for the weight
distribution of some cyclic codes, IEEE Transactions on Information
Theory, Vol. 34, n. 5, September 1988, pp. 1348-1351.
[126] F. Rodier, On the spectra of the duals of binary BCH codes of designed
distance δ = 9, IEEE Transactions on Information Theory, 38(1992)
478-479
129
[129] N. V. Semakov & V. A. Zinoviev, Balanced codes and tactical
configurations, Problems of Info. Trans., 5(3)(1969) 22-28.
[130] N.V. Semakov, V.A. Zinoviev & G.V. Zaitsev, Uniformly packed
codes, Problems of Information Transmission, vol. 7, No 1, pp. 38-50.
1971.
[131] K.K. Shen, C. Wang, K.K. Tzeng & B.Z. Shen, Generation of
matrices for determining minimum distance and decoding of cyclic codes,
IEEE Transactions on Information Theory, vol. 42, N. 2, March 1996,
pp. 653-657.
[132] N.J.A. Sloane & J.G. Thompson, Cyclic self-dual codes, IEEE
Transactions on Information Theory, Vol. IT-29, N. 3, May 1983, pp.
364-366.
[133] A.B. Sorensen, Projective Reed-Muller codes, IEEE Transactions on
Information Theory, vol. 37, N. 6, November 1991, pp. 1567-1576.
[134] H. Stichtenoth, Which extended Goppa codes are cyclic, Journal of
Combinatorial theory, Series A 51, 205-220 (1989).
[135] T. Sugita, T. Kasami & T. Fujiwara, The weight distribution of
the third order Reed-Muller code of length 512, IEEE Transactions on
Information Theory, Vol. 42, N. 5, September 1996, pp. 1622-25.
[136] A. Tietäväinen, On the covering radius of long binary BCH codes,
Discrete Applied Mathematics 16(1987), pp. 75-77.
[137] J.A. Thiong-Ly, Automorphisms of two families of extended non bi-
nary cyclic Goppa codes, LNCS Vol.229, pp. 112-121, Springer-verlag,
New-York/Berlin, 1985.
[138] M. van der Vlugt, The true dimension of certain binary Goppa
codes, IEEE Transactions on Information Theory, Vol. 36, N. 2, March
1990, pp. 397-398.
[139] J.H. van Lint, Introduction to Coding Theory, Graduate Texts in
Math. Vol.86,, Springer-Verlag, Berlin/Heidelberg/New-york, 1982.
[140] J.H. van Lint, Repeated-root cyclic codes, IEEE Transactions on In-
formation Theory, Vol-37, N. 2, March 1991, pp. 343-345.
130
[141] J.H. van Lint & R.M. Wilson, On the minimum distance of cyclic
codes, IEEE Transactions on Information Theory, 32(1):23, January
1986, pp. 23-40.
[142] J.H. van Lint & R.M. Wilson, Binary cyclic codes generated by
m1 m7 , IEEE Transactions on Information Theory, 32(2):283, March
1986, p. 283.
[147] J. Wolfmann, The weights of the dual of the Melas code over GF (3),
Discrete Mathematics, Vol. 74, 1989, pp. 327-329.
131
[152] J.P. Zanotti, Codes à distribution de poids equilibrée, Thèse de
l’Université de Toulon et du Var, January 1995.
132
Index
p-ary.RM code, 18 generalized.RS code, 80
generator system.affine-invariant code,
affine-invariant code, 16, 68 21
affine.polynomial, 40 Goppa code, 74
almost bent.function, 71 group algebra.code, 3
almost perfect nonlinear.function, 71
alternant code, 70, 80 Hartmann–Tzeng bound, 56
antichain, 17
asymptotically good.cyclic code, 69 idempotent, 36
automorphism group of.cyclic code, 68 irreducible cyclic code, 68
irreducible.cyclic code, 14, 64
BCH bound, 19, 38, 45
BCH code, 2, 11, 50, 75, 76, 78 Kerdock code, 80
Boolean function, 71 Kloosterman sum, 66
border of.affine-invariant code, 17 linear.polynomial, 40
border of.RS code, 18 locator, 26
Carlitz-Ushiyama.bound, 45, 48 locator polynomial, 27, 41, 78
codeword of.BCH code, 38 Mattson-Solomon.polynomial, 3, 5, 76,
completely regular.code, 81 83
cryptographic primitive, 71 McEliece cryptosystem, 70, 74
cryptography, 70 Melas code, 55, 66
cyclic code, 2, 3 minimal.polynomial, 37
cyclic.Goppa code, 76 minimum distance.BCH code, 40, 45
defining set of.cyclic code, 5 minimum weight codeword.GRM code,
diagonal equation, 14 41, 43
divisibility of.cyclic code, 49, 50, 66 Newton identities, 26, 28
double-error-correcting.BCH code, 81 non linear.affine-invariant codes, 69
133
primitive form of.cyclic code, 14
primitive.cyclic code, 3, 12
projective.GRM code, 54
radical, 21
rank-bounding.algorithm, 49
Reed-Muller code, 51, 70, 83
Reed-Solomon code, 2, 11, 23
repeated-root.cyclic code, 3, 5, 69
two-weights.cyclic code, 66
uniformly packed.code, 81
134