Cryptography Reference
In-Depth Information
A block code with parameters
(
n, k
)
,thatwedenote
C
(
n, k
)
, is linear if the
codewords are a vector subspace of
F
q
,thatis,if
g
is a linear application. A
direct consequence of linearity is that the sum of two codewords is a codeword,
and that the null word made up of
n
symbols at zero is always a codeword.
We will now consider linear block codes with binary symbols. Linear block
codes with non binary symbols will be addressed later.
4.1
Block codes with binary symbols
In the case of a binary block code, the elements of
d
and
c
have values in
F
2
.
As
g
is a linear application, we will be able to describe the coding operation
simply as the result of the multiplication of a vector of
k
symbols representing
the data to be coded by a matrix representative of the code considered, called
a code generator matrix.
4.1.1 Generator matrix of a binary block code
Let us denote
d
=
d
0
···
c
n−
1
]
the data-
word and the associated codeword. Expressing the vector
d
from a base
(
e
0
,...,
e
j
,...,
e
k−
1
)
of
F
2
,wecanwrite:
d
j
···
d
k−
1
]
and
c
=
c
0
···
c
j
···
k−
1
d
=
d
j
e
j
(4.1)
j
=0
Taking into account the fact that application
g
is linear, the word
c
associated
with
d
is equal to:
k−
1
c
=
g
(
d
)=
d
j
g
(
e
j
)
(4.2)
j
=0
Expressing the vector
g
(
e
j
)
from a base
(
e
0
,
,
e
l
,
,
e
n−
1
)
of
F
2
,weob-
···
···
tain:
n
−
1
g
jl
e
l
g
(
e
j
)=
(4.3)
l
=0
The vectors
g
(
e
j
)=
g
j
=(
g
j
0
···
g
jl
···
g
j,n−
1
)
,
0
≤
j
≤
k
−
1
represent the
k
rows of matrix
G
associated with the linear application
g
.
⎡
⎤
⎡
⎤
g
.
g
.
g
k
−
1
g
0
,
0
···
g
0
,l
···
g
0
,n−
1
⎣
⎦
⎣
.
.
.
⎦
.
.
.
.
.
.
G
=
=
g
j,
0
···
g
j,l
···
g
j,n−
1
(4.4)
.
.
.
.
.
.
.
.
.
g
k−
1
,
0
···
g
k−
1
,l
···
g
k−
1
,n−
1