Documente Academic
Documente Profesional
Documente Cultură
Abstract— Most codes with an algebraic decoding algorithm particular at the notions of shortened and punctured codes,
are derived from Reed-Solomon codes. They are obtained by the notion of additive block codes over the alphabet Fm q and
taking equivalent codes, for example, generalized Reed-Solomon their link with q-ary image of a code over Fq m . We also specify
codes, or by using the so-called subfield subcode method, which
leads to alternant codes over the underlying prime field, or the different notions of equivalence in the context of m-block
over some intermediate subfield. The main advantage of these codes over Fm q.
constructions is to preserve both the minimum distance and the Section III is devoted to the study of subspace subcodes and
decoding algorithm of the underlying Reed-Solomon code. In this their duals, the projected codes. We specify these notions in the
paper, we explore in detail the subspace subcodes construction. context of q-ary image and we explain why subfield subcodes
This kind of codes was already studied in the particular case
of cyclic Reed-Solomon codes. We extend this approach to any and trace codes are particular cases of subspace subcodes and
linear code over the extension of a finite field. We are interested projected codes.
in additive codes who are deeply connected to subfield subcodes. In Section IV we generalize the notions of subspace sub-
We characterize the duals of subspace subcodes. We introduce codes and projected codes by changing the projections on
the notion of generalized subspace subcodes. We apply our each block of an additive code over Fm
results to generalized Reed-Solomon codes which leads to codes q . In the particular
with interesting parameters, especially over a large alphabet. case of subspaces of dimension 1 or m − 1, we explicit
To conclude this paper, we discuss the security of the use the link between generalized subspace subcodes of a code C
of generalized subspace subcodes of Reed-Solomon codes in a and subspace subcodes of Fq m -linearly equivalent codes of C.
cryptographic context. We also give a characterization of projections which preserve
Index Terms— Additive code, subfield subcode, subspace some elements of the permutation group of the parent code.
subcode, punctured code, shortened code, projected code. In Section V we specify our results in the context of
Reed-Solomon codes and Generalized Reed-Solomon codes
and give some examples. We introduce also the notion of
I. I NTRODUCTION
exceptional subspace subcode. When a subspace subcode
We denote by C˜I the subcode of C constituted of codewords a code C which is either an m-block code or an Fq m -linear
c = (c1 , . . . , cn ) ∈ C such that ci = 0 for all i ∈ I , that means: code: [n, k, d]q m , where n is the block-length of the code,
C˜I = {c = (c1 , . . . , cn ) ∈ C | ci = 0, ∀i ∈ I }. k = logq m (|C|) is the pseudo-dimension of C relative to the
Definition 2: The shortened code of C on positions I is the size of the alphabet q m and d is its block-minimum distance.
code Short I (C) obtained by puncturing its subcode C˜I on I : If a code is Fq m -linear, its pseudo-dimension is nothing else
Short I (C) = Punct I (C˜I ). than its dimension. In addition, an m-block code is a linear
If I = { j }, we denote Punct I (C) by Punct j (C) and code over Fq , so its pseudo-dimension is not necessarily an
Short I (C) by Short j (C). integer, but it is always a rational number with a denominator
Let C be an [n, k, d] linear code and i , 1 ≤ i ≤ n, dividing m.
be an integer. If the parameters of Puncti (C) and Shorti (C) are In the sequel, we use the following notations for m-
respectively [n − 1, k p , d p ] and [n − 1, ks , ds ], then ds ≥ d, block codewords: If x ∈ En , we set x = (x 1 , . . . , x n ) and
ds ≥ d p ≥ d − 1 and, if Puncti (C) = Shorti (C) then k p = k x i = (x i,1 , . . . , x i,m ) ∈ E.
and ks = k − 1.
More generally, if |I | = r , then we have ds ≥ d, ks ≥ k −r ,
C. Linear Isometries of m-Block Codes
d p ≥ d − r and k p ≥ k − r .
The following proposition is a well-known result describing It is well-known [16] that the linear isometries for the
the link between the shortened codes and the punctured codes Hamming distance on Fnq m form a group generated by the
([17], p. 91, Lemma 8.5.1): permutations of the support and the scalar multiplications by
Proposition 1: The dual of a shortened code is the invertible elements of Fq m on each coordinate. From a matrix
punctured of the dual code on the same positions: point of view, it is the monomial group Monn (Fq m ) of n × n
(Short I (C))⊥ = Punct I (C ⊥ ). matrices over Fq m with one and only one non-zero element
on each row and each column.
These results can be extended to block codes. Clearly, if we
B. Block Codes Over E = Fm
q permute the coordinates (at E-level) of an m-block code C of
In this section, we will define the notion of block codes for length n, we obtain another m-block code C with same length,
which the alphabet is not a single element of a finite field pseudo-dimension and m-block distance.
Fq , but an m-tuple of elements of Fq . As we will see in More in detail, if π ∈ Sym(n) is a permutation of
Section II-D, this notion arises naturally then we want to the symmetric group acting on {1, . . . , n}, then π(x) =
represent for instance an element of the extension field F28 as a (x π −1 (1) , . . . , x π −1 (n) ). A permutation can be represented by a
byte, i.e. an element of F82 . In that situation, the relevant metric right multiplication of codewords by its matrix representation.
is not necessary at bit level, but at m-block level. Therefore, However, in the case of block codes, we must pay attention to
we will introduce the notion of block codes, i.e. codes having the level at which we work, since it is possible to apply n × n
for alphabet the set of m-tuples E = Fm matrices on En or nm × nm matrices on Fnm q .
q . For more details on
block codes, the reader can refer to [4]. For a given permutation π ∈ Symn , we denote by the
Definition 3: Let (A, +) be an additive group. An additive permutation matrix of size n × n and by = ⊗ Im the
code of length n over A is an additive subgroup of (An , +). corresponding nm × nm matrix. For instance, if n = 3, m = 2
Definition 4: An m-block code of length n over E = Fm q
and π is the circular permutation on 3 elements, then
is an additive code over the additive group (En , +) which is ⎛ ⎞
0 0 1 0 0 0
stable by scalar multiplication by any element λ of Fq . The ⎛ ⎞ ⎜0 0 0 1 0 0⎟
integer m is the size of the blocks. 0 1 0 ⎜ ⎟
⎜0 0 0 0 1 0⎟
Note that the condition on the scalar multiplication is not = ⎝0 0 1⎠ and = ⎜ ⎜ 0 0 0 0 0 1 ⎟.
⎟
necessary if q = p is a prime number. Since En is an 1 0 0 ⎜ ⎟
⎝1 0 0 0 0 0⎠
Fq -linear vector space of dimension nm isomorphic to Fnm q , 0 1 0 0 0 0
a block code is also an Fq -linear code of length nm. However,
in this paper we are not interested in its properties as code of The operation corresponding to scalar multiplications con-
length nm, but in its block properties. In particular, we look at sists in applying some linear automorphisms of E on each
its block-weight wm , which denotes the number of non-zero coordinate (as element of E). Let G L q (m) denotes the group
blocks. of invertible matrices of size m with entries in Fq . If x ∈ E
Since a block code C is an Fq -linear code, it is possible to and M ∈ G L q (m), then the map x
→ x M is a linear
define the notion of generator matrix, which is nothing else automorphism of E and G L q (m) is isomorphic to the group
than the generator matrix of the corresponding linear code of of linear automorphisms of E.
length mn over Fq . Even if it is possible to construct the Fq - Let L = (M1 , . . . , Mn ) ∈ G L q (m)n be an ordered set
dual of the linear code of length nm, the notion of duality for of elements of G L q (m). It is easy to verify that the map
block code is not completely obvious. More details on additive x = (x 1 , . . . , x n )
→ L(x) = (x 1 M1 , . . . , x n Mn ) is a
block codes, some generalizations of generator matrices and linear isometry for the m-block distance. From a matrix
a notion of block-duality can be found in [4]. point of view, it consists in multiplying on the right the
To allow the comparison of m-block codes with linear codes elements of En = Fnm q by the n-block diagonal matrix
over Fq m , we use the following notation for parameters as Diag(L) = Diag(M1 , . . . , Mn ).
BERGER et al.: GENERALIZED SUBSPACE SUBCODES WITH APPLICATION IN CRYPTOLOGY 4643
Such a set L is called a multiplier. The following theorem Consequently, we have < x, y >= 0 if and only if
gives a full characterization of isometries for m-block distance. < L(x), L ∗ (y) >= 0, which completes the proof.
Theorem 1: The Fq -isometries of En (i.e. linear isomor- In addition, it is easy to verify that the dual of a permuted
phisms preserving the Hamming block-weight) is the group block code is the permuted block code of its dual.
generated by the m-block permutations and the multipliers.
Proof: We have already seen that m-block permutations
and multipliers are linear isometries. D. q-Ary Images of a Code of Length n Over Fq m
Reciprocally, let g be an isometry of En . We look at Most examples of m-block codes arise when you want to
the images of elements of En of block weight 1 by g. For represent a code on an extension field Fq m with the elements
1 ≤ i ≤ n, let Vi be the subspace of En of elements with all of a prime field, typically F2 for q = 2.
block component equal to 0 except the i -th: if x ∈ Vi , then As usual in this situation, we fix a basis B = (b1 , . . . , bm )
x = (0, . . . , 0, x i , 0, . . . , 0), x i ∈ E. Pick an element x ∈ Vi . of Fq m over Fq . We denote by φB the corresponding Fq -linear
Since g is a block isometry, y = g(x) ∈ V j for some j , isomorphism Fq m
→ Fm q.
1 ≤ j ≤ n. Suppose that there exists another element x ∈ Vi The mapping φB can be extended to the whole space Fnq m : if
such that g(x ) ∈ V j , with j = j . Clearly wm (x + x ) = 1 c = (c1 , . . . , cn ) ∈ Fnq m , then B (c) = (φB (c1 ), . . . , φB (cn )).
and wm (g(x + x )) = 2. This implies that g(Vi ) = V j . So, Definition 7: The q-ary image of a code C relative to the
g acts as a permutation on the set of Vi , which defines the basis B is the image Imq (C) = B (C) of C by B .
block-permutation part of our isometry. Applying the inverse The code Imq (C) is clearly an Fq -linear code of length nm.
of this permutation to g, we can now suppose that, for all It can also be considered as an m-block code of length n. Note
i , g(Vi ) = Vi . If gi denotes the restriction of g to Vi , gi that this code is dependent on the choice of the basis B. The
must be Fq -linear, moreover, since gi preserves the block following proposition describes the effect of a projection basis
weight, K er (gi ) = {0}, so gi is an automorphism, and g is a change. Its proof is a straightforward verification.
multiplier. Proposition 3: Let B and B be two basis of Fq m over Fq .
We are now able to define the notion of equivalence of block Let M ∈ G L q (m) denotes the basis change matrix from B to
codes. B , i.e. the matrix such that φB (c) = φB (c)M for all c ∈ Fm q.
Definition 5: Let C and C be two m-block codes of length The q-ary image B (C) of a code C relative to the basis B
n over E. The codes C and C are equivalent if there is is scalar equivalent by the multiplier L M to its q-ary image
an isometry f = L ◦ π, (where L is a multiplier and π a B (C) by B .
permutation) such that C = f (C). If we want to construct a generator matrix G of Imq (C)
To simplify the presentation of our results, we introduce over Fq from those G of C over Fq m , since Imq (C) is not
three more restrictive notions of equivalence of codes. Fq m -linear, we need to take the multiples of the rows of G by
Definition 6: Let C and C be two m-block codes of length the elements of Fq m . In fact, it is sufficient to take m multiples
n over E. Fq -linearly independent.
• C and C are equivalent by permutation if there exists a For the purpose of this paper, we need to introduce a specific
permutation π ∈ Sym(n) such that C = π(C). generator matrix of the q-ary image of a code C. For any
• C and C are equivalent by multiplier if there exists a element β ∈ Fq m , the map φβ : x
→ βx is an Fq -linear
multiplier L ∈ G L q (m)n C = L(C). automorphism of Fq m . Its image by φB is an automorphism of
• C and C are scalar equivalent if there exists a matrix Fmq . We denote by Mβ the matrix of the corresponding auto-
M ∈ G L q (m) such that C = L M (C) where L M is the morphism: with obvious notations, if φB (x) = (x 1 , . . . , x m )
“scalar” multiplier (M, . . . , M). then φB (βx) = (x 1 , . . . , x m )Mβ .
If m = 1, the multiplication by M ∈ G L q (m) corresponds Proposition 4: If G = (βi, j ) is a k × n generator matrix
to the multiplication by an element β ∈ F∗q . So, the notion of of C, then the km × nm matrix G obtained by replacing each
scalar equivalence is trivial, since it is just the multiplication entry βi, j by the corresponding m × m matrix Mβi, j is an
of codewords by a scalar β. However, this notion of scalar Fq -generator matrix of Imq (C). Moreover, the matrix G is of
equivalence makes sense for m-block codes with m > 1. full rank km.
There is no natural notion of duality for the block structure Proof: The fact that G generates the full code I m B (C)
of a Fq -linear code over En . However, we can look at the dual comes directly from the fact that B is an isomorphism.
of a block code C considered as a code of length nm over Fq . In addition the two codes have the same number of elements,
Proposition 2: Let C be an additive code of length n over which implies that G is of rank km.
E, L = (M1 , . . . , Mn ) ∈ G L q (m)n be a multiplier and C = As a direct consequence, we obtain the following corollary:
L(C). Let L ∗ = ((M1−1 )T , . . . , (Mn−1 )T ) ∈ G L q (m)n . The Corollary 1: If C is an [n, k, d] Fq m -linear code, then
relationship between the dual of C and the dual of C is then Imq (C) is an [nm, km, dq ≥ d] Fq -linear code.
C ⊥ = L ∗ (C ⊥ ). Note that if we look at Imq (C) as an m-block codes, these
Proof: Let < ., . > denotes the inner product on Fnm q . If m-block parameters are [n, k, d]q m .
x = (x 1 , . . . , x n )∈ En and y = (y 1 , . . . , y n ) ∈ En , then we The construction described in Proposition 4 is of great
have < x, y >= ni=1 mj=1 x i, j yi, j = ni=1 x i y iT . Applying importance for reconstructing an Fq m -linear code from one
this property to L(x) and L ∗ (y),
n we obtain −1 < L(x), L ∗ (y) >= of its q-ary image. That is why we introduce the following
n −1 T T
i=1 x i Mi (y i (Mi ) ) = i=1 x i Mi Mi y i =< x, y >.
T
definition:
4644 IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 65, NO. 8, AUGUST 2019
of a subspace subcode C|V , then there exists a basis BV such A projected code (C) can be interpreted in term of
that C2 is the μ-block representation of another representation punctured code. As in the previous Section, the matrix Pψ can
of C|V relative to BV . be completed in an invertible matrix P of size m by adding
Proof: A basis of V corresponds to a generator matrix m − μ well-chosen columns.
of V viewed as a linear code of length m and dimen- Proposition 8: Let Pψ be the matrix of a projection ψ and
sion μ over Fq . A change of basis for V corresponds to P its completion as a matrix of G L q (m). The projection code
a left multiplication by a matrix in G L q (μ). The proof ψ(C) can be constructed by applying the scalar multiplier L P ,
of our proposition comes directly from this remark and and then by puncturing m −μ last coordinates of each m-block
Definition 6. in order to obtain a μ-block code.
We want to emphasize that there is a subtlety in our Proof: Let Im,μ be the m × μ matrix constituted from the
notations of subspace subcodes: the code C|V = C ∩ V n is an identity matrix Iμ to which we add m − μ zero rows. Clearly,
m-block code, since it has coordinates in V ⊂ Fm q , whereas we have the equality Pψ = P Im,μ . On another side, applying
the notation SSV (C) denotes its representation as an μ-block Diag(Im,μ , . . . , Im,μ ) to an m-block codeword x corresponds
code with an explicit or implicit choice of basis BV for V . to puncturing the m − μ last coordinates of each m-block of
The μ-block representation of a subspace subcode can be x, which complete our proof.
interpreted in term of shortened code. Since puncturing and shortening operation are dual,
Let BV be a basis of V . We complete this basis into a basis the same results hold for the subspace subcodes and projection
B V of E by adding m − μ linearly independent vectors. If G V codes operations.
is the generator matrix of V derived from BV , we obtain a Proposition 9: Let C be an m-block code, BV a basis of
matrix G V ∈ G L q (m) by adding m − μ linearly independent a vector space V and G V the corresponding generator matrix
rows to G V . of V . The dual of the representation of the subspace subcode
−1
If x ∈ E, then the m-tuple x GV gives the coordinates of SSV (C) relative to BV is the projected code with projection
x on this new basis B V . So, an element x is in V if and only matrix G TV .
−1
if the m − μ last coordinates of x GV are 0. Proof: Let G V be a matrix constructed as above from
Proposition 7: Let BV be a basis of V and G V be a G V . Let C be the image of C by the scalar multiplier
matrix constructed as described previously. The representation LG −1 . Since the dual of a shortened code is a punctured
V
relative to the basis BV of a subspace subcode C|V as an code (Proposition 1), from Propositions 11 and 8, we deduce
μ-block code is the code obtained by applying to C the that C ⊥ is the image of C ⊥ by the scalar multiplier L G T.
V
scalar multiplier L G −1 and then by shortening the m − μ The result is then a direct application of Proposition 2.
V
last coordinates of each block of size m.
Proof: It is a direct consequence of the previous remarks C. Subspace Subcodes of Codes Over an Extension Field
−1
on x = x G V : x ∈ E is in V if the m − μ last coordinates
In this section, we specify our previous results in the context
of x are 0, and, under this hypothesis, the μ first coordinates
of linear codes over Fq m and their q-ary image. At Fq m level,
of x are those of x on the basis BV .
one can naturally define a subspace subcode as follows:
Corollary 2: Let C be an m-block code of parameters
Definition 12: Let C be a linear code of length n over Fq m .
[n, k, d]q m and C = SSV (C) a μ-block subspace subcode of
Let V ⊂ Fq m be an Fq -subspace of Fq m of dimension μ ≤
C. If k and d are respectively the μ-block pseudo-dimension
m. The subspace subcode C|V is the restriction of C to V n :
and the μ-block minimum distance of C , then we have the
C|V = C ∩ V n .
following inequalities: k ≥ (km − n(m − μ))/μ and d ≥ d.
The code C|V is no more Fq m -linear, but it remains
Proof: The bounds are those obtained by considering the
Fq -linear. The most famous example of such subspace sub-
SSV (C) code as a shortened code (cf. Section II-A).
codes is those of subfield subcodes. In that situation, μ = 1
and V is the subfield Fq .
If we want to construct a μ-block representation of a
B. Projected Codes subspace subcode of a code C over the extension field Fq m ,
In this section, we will introduce the notion of projected we need two steps:
codes and show that these projected codes are duals of • The first one is the choice of a basis B required to identify
subspace subcodes. Fq m , to Fm
q as Fq -vector spaces.
As previously, μ denotes an integer less than or equal to m • The second one consists in choosing a basis B V of V
which is not necessarily a divisor of m. Let ψ be an Fq -linear given as a generator matrix relative to the canonical basis
μ of E.
map from E onto Fq of full rank μ. We denote by the
action of ψ on each coordinate of a word in En . So, starting from a code C, we construct first its q-ary image
Definition 11: The (μ-)projected code relative to ψ of an relative to B, and then its representative as μ-block code using
m-block code C of length n is the μ-block code Pψ (C) = BV . Such a representative is denoted SSV (C).
(C) of same length n. From a dual point of view, one can also define μ-block
In practice a projection map ψ is represented by an m × μ projected codes of an Fq m linear code C.
matrix Pψ of rank μ: ψ(x ) = x Pψ . The whole projection Definition 13: Let ψ be an Fq -linear projection from Fq m
μ
matrix is then P = Diag(Pψ , . . . , Pψ ). onto Fq of full rank μ. Let be the extension of ψ to (Fq m )n .
4646 IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 65, NO. 8, AUGUST 2019
The μ-projected code of C relative to ψ is the μ-block code Proof: Let C be an m-block linear code, V an n-tuple of
(C). vector spaces Vi of dimension μ and G Vi a generator matrix
If we choose for ψ the trace function T rq (x) = m−1 qi of Vi for i ∈ [1, n].
i=0 x ,
then we obtain the classical trace code. We set V = V1 and G V = G V1 . Since all the Vi ’s have the
One of the main results about subfield subcode and trace same dimension μ, there exists n − 1 matrices Mi ∈ G L q (m),
code is the fact that they are dual operations ([19], Th.11, 2 ≤ i ≤ n such that G Vi = G V × Mi . In addition, we set
Ch. 7 §7). Our approach shows that this result is a simple M1 = Im , the identity matrix. Let H be a parity-check matrix
particular case of the duality of shortening and puncturing of C and P = Diag(G TV1 , . . . , G TVn ). Clearly, a parity-check
operations. matrix of G SSV (C) is H × P.
To conclude this section we want to emphasize two technical From our previous remark, the matrix P can be decomposed
difficulties then we start from a code at Fq m level. as follows: P = Diag(M1T , . . . , MnT ) × Diag(G TV , . . . , G TV ).
The first one is related to the choice of the basis B: for a Set H = H × Diag(M1T , . . . , MnT ). From Proposition 5,
fixed basis of V , if we change the basis B into another basis this matrix H is a parity-check matrix of the code C
B , in accordance with this new choice, we have to change obtained by applying the multiplier (M1−1 , . . . , Mn−1 ), and
the generator matrix of V by multiplying on the right G V by G SSV (C) = SSV (C ).
the appropriate basis change matrix. However, these operations The result on generalized projected code comes from
have no effect on the obtained μ-block code. duality.
The second one is on the duality: at Fq m level, the fact that A first consequence of this proposition is the fact that
the dual of a μ-block representative of a subspace subcode of the bounds on the parameters of subspace subcodes given in
C is a μ-projection of its dual. However, Proposition 5 shows Corollary 2 apply to generalized subspace subcode.
that it is necessary to use the dual basis B ∗ in the construction Following the proof of Proposition 10, we present an
of the correct projection. algorithm to compute efficiently a generator matrix of a
generalized subspace subcode of a code.
IV. G ENERALIZED S UBSPACE S UBCODES
Algorithm 1: Generator matrix of GSSV (C)
As mentioned in the conclusion of [15], a natural way to Input: G: a generator matrix of an m-block code C. For each
generalize subspace subcodes is to use different subspaces on i ∈ [1..n], G Vi : an μ × m generator matrix of the subspace Vi
each component. In this section, we study this generalization where V = (V1 , . . . , Vn ).
and present some results on this topic, particularly for μ = 1 Output: G and H: a generator matrix and a parity check matrix
and μ = m − 1. of GSSV (C).
P (H ) = H × Diag(G TV1 , G TV2 , G TV1 , G TV2 , G TV3 ). By duality, we obtain the following corollary:
⎛ ⎞ Corollary 3: For any linear projection ψ ∈ L(Fq m , Fq ) and
10 00 10 10 00 any Fq m -linear code C, any representation of the 1-projected
⎜ 01 00 11 00 01 ⎟
⎜ ⎟ code Pψ (C) is the trace code T rq (C).
⎜ 00 00 01 01 11 ⎟
⎜
H = P (H ) = ⎜ ⎟ To extend this result to generalized subspace subcodes with
⎟
⎜ 00 10 01 10 01 ⎟ subspaces of dimension 1, we need to recall a classical result
⎝ 00 00 11 00 10 ⎠ on the trace function.
00 01 11 01 11 Lemma 1: Let f be a linear endomorphism
Note that, due to the particular form of matrix G V1 (resp. of Fq m onto Fq . There exists a single element
G V2 ) a multiplication of a 3-block by G V1 (resp. G V2 ) consists β ∈ Fq m such that f (x) = T rq (βx) for all
in puncturing the last column (resp. the second column) of the x ∈ Fq m .
corresponding 3-blocks. Proof: Let Tq : F2q m
→ Fq be the map defined
by Tq (x, y) = T rq (x y). Tq is a non-degenerated bilin-
ear map. In consequence, if f β is the linear endomor-
B. Generalized Subspace Subcodes of Codes Over the phism defined by f β (x) = T rq (βx), then the application
Extension Field β
→ fβ is an isomorphism between Fq m and the linear
Following the approach of Section III-C, the definition of group L(Fq m , Fq ).
generalized subspace subcodes can be directly adapted in the Note that Proposition 11 does not imply directly the fact that
context of codes over the extension field Fq m and their q-ary generalized subspace subcodes of a given code C are subcodes
images. of Fq m -multiplier equivalent codes of C, since in Definition 14,
However, there is one point that deserves our attention. The the equivalence is done on q-ary images and it is the notion of
multiplier equivalence can be applied at Fq m level or at q-ary m-block equivalence. However we will prove that this result
image (i.e. at m-block code level). For instance, if we look is true.
at a multiplier for an Fq m -linear code C of length n, such a Theorem 2: Let C be an Fq m -linear code. The generalized
multiplier is of the form = (λ1 , . . . , λn ) ∈ (F∗q m )n . 1-subspace subcodes of C are exactly the subfield subcodes of
If we look at its action on the q-ary image of C, using the codes C that are Fq m -multiplier equivalent to C.
the same notation than those of Section II-D, it corresponds Dually, the generalized 1-projected codes (C) are exactly
to the multiplier L = (Mλ1 , . . . , Mλ1 ). To avoid confusions, the trace codes of the codes C that are Fq m -multiplier equiv-
the multipliers of the form are called Fq m -multipliers and alent to C.
denoted with Greek letters. Proof: We will prove the dual part of this theorem. From
This leads to a natural question: are there generalized Lemma 1, there exists an Fq m -multiplier = (λ1 , . . . , λn )
subspace subcodes of C that are not subspace subcode of a such that (x) = (T rq (λ1 x 1 ), . . . , T rq (λn x n )). If C = L(C),
code C equivalent to C by an Fq m -multiplier ? then (C) = T rq (C ).
We will prove in the sequel of this section that the answer Similar result holds for μ = m − 1, but Remark 1 must be
is negative for μ = 1 and μ = m − 1 and positive for taken in account. We need the following Lemma:
1 < μ < m − 1. Lemma 2: The multiplicative group F∗q m is transitive on the
Beforehand, it is necessary to make a remark on a particular Fq -subspaces of Fq m of dimension m−1, i.e. for any subspaces
class of generalized subspace subcodes. V and V of Fq m of dimension m − 1, there exists an element
Remark 1: In the definition of a representative for an m- α ∈ F∗q m such that V = αV .
block subspace subcode, the same basis BV of the vector Proof: The non-degenerated bilinear map Tq defined in
space V is required. The definition of generalized subspace the proof of Lemma 1 able to define the notion of trace
subcode relaxes this constraint: it is possible to choose the orthogonality. If V is a subspace of Fq m of dimension μ, then
same subspace V on each component, but to change of the V ⊥T = {x ∈ Fq m | ∀y ∈ V, Tq (x, y) = 0} is a subspace of
basis BVi ’s for the representation of elements of V as μ-tuples. dimension ν = m − μ of Fq m . This correspondence is an one
It is easy to verify that the μ-block codes obtained by to one correspondence between μ-dimension and ν-dimension
the second possibility are multiplier equivalent as μ-block subspaces of Fq m .
code, i.e. the multiplier corresponding to the change of basis In addition, if α is an invertible element of Fq m , we have
on V can be applied after the construction of a subspace Tq (αx, α −1 y) = Tq (x, y). In particular (αV )⊥T = α −1 V ⊥T .
subcode. Consequently, since the multiplicative group F∗q m is transitive
Proposition 11: For any subspace V of dimension μ = 1 on the subspaces of dimension 1, it is also transitive on the
and any Fq m -linear code C, any representation of the 1- subspaces of dimension m − 1.
subspace subcode SSV (C) is the subfield subcode C ∩ Fnq . We deduce the following proposition and theorem
Proof: Remember that Fq is a subspace of Fq m of for μ = m − 1.
dimension 1. The subfield subcode is the subspace subcode Proposition 12: Let C be an Fq m -linear code. For
SSFq (C). Let V be a subspace of Fq m of dimension 1 and {α} μ = m − 1, i.e. V is a hyperplane, the μ-subspace subcode
be basis of V . We have V = αFq . In particular, if a codeword SSV (C) does not depend on the choice of V . All its repre-
c ∈ C is in SSFq (C), αc is in SSV (C) and its representation in sentations are μ-scalar equivalent. The same results hold for
the basis {α} is c itself. The converse is obvious. μ-projected codes.
4648 IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 65, NO. 8, AUGUST 2019
Proof: The proof is essentially the same as those of For the generalized subspace subcode, the situation is a
Proposition 11. The only difference comes from the fact that, little more delicate. We will decompose the problem under
for μ = 1 a change of representative corresponds to a scalar the distinct orbits of a permutation. So, we will look at first
multiplication of codewords of C, and for μ = m − 1 we have to a cyclic code, for which there is a single orbit of maximum
to take into account a change of basis of the hyperplane V , length.
which introduces the μ-scalar equivalence of representatives. For the presentation of cyclic codes, it is simpler to change
The results on projected codes is obtained by duality. the indexation of codewords: the coordinates are numbered
The same reasoning on generalized subspace subcodes leads from 0 to n − 1 instead of 1 to n.
to the following result. The following permutation σ1 (i ) = i + 1 mod n is called
Theorem 3: Let C be an Fq m -linear code. For μ = m − 1, the cyclic shift, and its action on codeword is the right shift
if G SSV (C) is a generalized μ-subspace subcode of C, then σ1 (c) = (cn−1 , c0 , c1 , . . . , cn−2 ).
there exists a code C Fq m -multiplier equivalent to C such Definition 16: A linear code C (or an m-block code C) of
that G SSV (C) is μ-block multiplier equivalent to a subspace length n is cyclic if it is globally invariant under the action of
subcode of C . the cyclic shift: σ1 (c) ∈ C for all c ∈ C, i.e. σ1 (C) = C.
Dually, if (C) is a generalized μ-projection of C, then The following lemma solves this problem in the particular
there exists a code C Fq m -multiplier equivalent to C such that case of Fq m -multiplier equivalent Fq m -linear codes.
(C) is μ-block multiplier equivalent to a μ-projection (C) Lemma 3: Let C be a linear cyclic code of length n over
of C . Fq m . Let β ∈ F∗q m be an element of order dividing n. We set
These results do not extend to 1 < μ < m − 1, since β = (1, β, β 2 , . . . , β n−1 ). The code C = β (C) is a cyclic
the multiplicative group F∗q m is transitive on the subspaces of Fq m -linear code of same parameters than C.
dimension 1 or m − 1, but is not transitive on the subspaces Proof: We know that applying a multipliers isometry on
of other dimension. a code does not change its parameters. We have to verify
For instance, we have the following result: that C is cyclic. Let c = (c0 , . . . cn−1 ) = β (c) =
Proposition 13: Let μ = 1 be a divisor of m. There exist μ- (c0 , βc1 , . . . , β n−1 cn−1 ) be an element of C . Applying the
subspace subcodes of a Fq m -linear code C that are not subfield circular shift to c , we obtain
subcodes over Fq μ of any Fq m -linear code C .
Proof: To prove this result, it is sufficient to construct a σ1 (c ) = (βc1 , . . . , β n−1 cn−1 , c0 ) = β β (σ1 (c))
μ-subspace subcode with a μ-block pseudo dimension which
is not an integer. So, it cannot be equivalent to a subfield which is an element of C since C is cyclic.
subcode over Fq μ . In [15], for q = 2, m = 6, n = 63 A natural idea is to try to extend this result to a q-ary
and μ = 2, the authors construct a 2-subspace subcode of image of C by using a matrix M ∈ G L q (m) of order dividing
parameters [63, 42.5, d ≥ 11]4 (Example 4.12) which cannot n. Unfortunately, it does not work for the following reason.
be equivalent to any F4 -linear code. Let D = Diag(In , M, M 2 , . . . M n−1 ) be the diagonal block
matrix corresponding to the successive powers of M. Applying
D to a codeword c ∈ I m q (C) consists in multiplying each m-
C. Induced Permutation Groups of Generalized Subspace block of c on the right by a power of M. However, in the
Subcodes proof of Lemma 3, we need to factorize M on the left.
The purpose of this section is to determine what are the Let G = (βi, j ) be a generator matrix of C and G = (Mβi, j )
conditions on the construction of subspace subcodes that its canonical q-ary image (Definition 8). Since G can be
preserve a permutation of the initial code over the extension interpreted as an k × n matrix with matrix coefficients, it is
field. Our approach is similar to that used in [1]–[3]. possible to perform a left-multiplication of G by D as
As usual, if C is a linear code of length n over the field Fq m , follows:
its permutation group Per (C) is the subset of the symmetric G = G D := (M j × Mβi, j )i, j
group Sym(n) which leaves the code C globally invariant.
For an m-block (or μ-block) code, following Section II-C, The matrix G can be considered as a generator matrix of
the notation Per (C) denotes the subgroup of Sym(n) an m-block code C which is cyclic by the same reasoning as
which leaves C globally invariant under the permutation of the proof of Lemma 3. Unfortunately, it is not equivalent to
blocks. C and there is no guaranties on its minimum distance.
In this section, we do not need to use the matrix approach The only exception is to use a matrix M which commutes
for permutations, but only the representation using the indexes: with the matrices Mβi, j . In general the commutator of the
μ
π(x) = (x π −1 (1), . . . , x π −1 (n) ), x i ∈ E or Fq . cyclic group of order q m − 1 generated by the non-zero
Our problem is the following: given a linear code C over matrices Mβi, j is reduced to this cyclic group, that leads to
Fq m which is invariant under a permutation π, what are the a matrix M corresponding to a matrix of multiplication Mβ
conditions for V or V such that SSV (C) or GSSV (C) is i.e. the situation described in Lemma 3.
invariant under π? In conclusion, if we want to construct an induced-cyclic
It is easy to verify that, for all subspace V , Per(C) ⊆ generalized subspace subcode of a cyclic code, i.e. the cyclic-
Per(SS V (C)), and for all projected code (C), Per(C) ⊆ ity is inherited from the parent code C, we have to apply first
Per((C)). an Fq m -multiplier β which preserves the permutation, and
BERGER et al.: GENERALIZED SUBSPACE SUBCODES WITH APPLICATION IN CRYPTOLOGY 4649
then to apply the subspace subcode construction. This method an infinite family of Maximum Distance Separable (MDS)
is described in Algorithm 2. codes over Fq m which has an efficient decoding algorithm.
MDS codes are those that meet the Singleton bound, i.e. their
Algorithm 2: Induced-cyclic GSS-code parameters satisfy the relation k + d = n + 1.
Input: G: a generator matrix of a cyclic linear code C of length
A. Previous Results on Subspace Subcodes
n over Fq m .
of Reed-Solomon Codes
Output: a cyclic generalized subspace subcode of C
There are previous works on subspace subcodes of
• Choose an element β ∈ Fq∗m such that β n = 1. Compute Reed-Solomon codes. The most important paper on this topic
D = Diag(1, β, . . . , β n−1 ) is those of Hattori et al. [15]. It is devoted to the study of
• Compute the image C of C by the isometry D. subspace subcodes of cyclic Reed-Solomon codes of length
• Choose a subspace V of Fqm and return SSV (C ). 2m − 1. Using some properties of the roots of the generator
polynomial, they found a complicated dimension formula
This construction can be easily generalized to any permu- and a simple lower bound on dimension for these subspace
tation σ ∈ Per(C) by applying on each orbit of σ the previous subcodes. Note that, for μ = 1 or μ = m − 1, it is shown that
algorithm. Note that we can choose one subspace Vi per orbit, this lower bound is the exact value.
but it must be constant on a given orbit. Algorithm 3 describes Later in 2004 Spence proved an Hattori’s conjecture con-
this construction in details. We suppose in this algorithm that cerning how to identify subspaces that can be used to build
the coordinates of codewords are indexed following the orbits subspace subcodes of Reed-Solomon codes whose dimension
of the induced permutation σ , i.e. if σ is constituted of s exceeds this lower bound [22].
orbits of respective lengths 1 , …, s , then its decomposi- In this paper, we are not only interested by subspace
tion into orbits is (0, . . . , 1 − 1)(1 , . . . , 1 + 2 − 1) . . . subcodes of Reed-Solomon codes of length n = q m −1, but by
(n − s , . . . n − 1). any Reed-Solomon code of length n ≤ q m +1. So our subfield
subcodes of Reed-Solomon codes are no more cyclic, even up
Algorithm 3: Generalized subspace subcode with an induced to permutation equivalence. In addition, in the next section,
permutation we will look at generalized subspace subcodes of Reed-
Solomon codes, which are not cyclic, even for n = q m − 1.
Input: G: a generator matrix of a linear code C of length n
We will notice that the lower bound on the dimension given
over Fq m and a permutation σ ∈ Per(C). The coordinates are
in [15] does not compare easily to those of Theorem 2 (this
ordered following the orbits of σ .
fact is also noticed in [15]).
Output: a generalized subspace subcode C = GSSV (C) of C
such that σ ∈ Per(C). B. Codes Derived From Reed-Solomon Codes
i
• For each orbit i ∈ [1, s] choose βi ∈ Fq∗m such that βi = In this section, we will recall the definitions of
i −1
1. Compute Di = Diag(1, βi , . . . , βi ) Reed-Solomon codes and classical families of codes derived
• Compute D = Diag(D1 , . . . , Ds ) and the image C of C from Reed-Solomon codes. The main interest of all codes
by the isometry D. presented here is the fact that they can be decoded with the
• For each orbit i ∈ [1, s] choose a subspace Vi of algebraic decoding algorithm of Reed-Solomon codes up to
dimension μ. Set V i = (Vi , . . . , Vi ) (the Vi ’s are repeated the error-correction capability t = (d − 1)/2 of the parent
i times). Reed-Solomon code. More details and proofs can be found for
• Set V = (V 1 , . . . , V n ). Return G SSV (C ). instance in [19].
Definition 17: Let S = (α1 , . . . , αn ) be an ordered set of
distinct elements of Fq m . The Reed-Solomon code of support
Proposition 14: Let C be an Fq m -linear code and σ ∈ S, length n ≤ q m and minimum distance d ≤ n is the Fq m -
Per(C). If C is a generalized subspace subcode of C obtained linear code RSk (S) (or RSk if the support S is implicit) with
from Algorithm 3, then C is invariant under the action of σ , generator matrix
i.e. σ ∈ Per(C). ⎛ ⎞
Proof: We use the same notations as in Algorithm 3. 1 1 ... 1
A direct generalization of Lemma 3 shows that C is invariant ⎜ α1 α2 . . . αn ⎟
⎜ 2 ⎟
under σ . Since the projections on Vi are constant on each ⎜ α α 2 . . . αn2 ⎟
GRSk = ⎜ 1 2 ⎟ with k = n + 1 − d.
orbit, C is invariant under σ . ⎜ .. .. .. ⎟
⎝ . . . ⎠
In the sequel, following for instance [1], we refer to such
α1k−1 α2k−1 . . . αnk−1
construction as “generalized subspace subcodes (or general-
ized projected codes) with induced permutation”. These codes are evaluation codes of polynomials in Fq m [x]
of degree less than k:
V. G ENERALIZED S UBSPACE S UBCODES OF
R EED -S OLOMON C ODES RSk = {(P(α1 ), . . . , P(αn )) |P(x) ∈ Fq m [x]
deg(P(x)) < k = n + 1 − d }
In order to obtain practical applications, it is natural to apply
our results to the family of Reed-Solomon codes. Indeed, it is They are MDS and have an efficient decoding algorithm.
4650 IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 65, NO. 8, AUGUST 2019
Definition 18: The Generalized Reed-Solomon codes (GRS Be careful that this equality is a family equality: for μ =
codes) are the Fq m -linear codes that are Fq m -multiplier equiv- m − 1, if we construct a generalized subspace subcode of
alent to Reed-Solomon codes. a Generalized Reed-Solomon code, we obtain a subspace
This definition of GRS codes may seem more restrictive subcode of another Generalized Reed-Solomon code.
than the usual equivalence by automorphism [16] since we In addition, we give the following Proposition:
do not take in account a possible permutation of coordinates. Proposition 16: For 1 < μ < m − 1, there exist some
However, such a permutation is implicit in the choice of an generalized subspace subcodes of Reed-Solomon codes that
order for the support of Reed-Solomon codes. are not subspace subcodes of Generalized Reed-Solomon
So a GRS code is entirely defined by a support S = codes:
(α1 , . . . , αn ), the multipliers = (λ1 , . . . , λn ) ∈ F∗n
q m and SS − G RS G SS − RS = GSS-GRS.
its dimension k or its minimum distance d = n + 1 − k. It has
for generator matrix GRSk × Diag(λ1 , . . . , λn ) and is denoted Proof: We give the sketch of the proof without specifying
GRSk (S, ). details.
The following proposition gives the description of the dual We start from a GSS-RS code C = G SSV (RSk ) such that,
of a GRS code. if V = (V1 , V2 , . . .), then, for all α ∈ F∗q m , αV1 = V2 . If C
Proposition 15 ( [11] Th.
1): We set = (λ1 , . . . , λn ), is a SS-GRS code, we prove that there exists an α such that
−1
= (λ1 , . . . , λn ) and λi = λi j =i (α j − αi ) . αV1 = V2 , which contradicts the previous hypothesis.
The dual of the GRS code GRSk (S, ) is the GRS code
GRSn−k (S, ). D. Examples of Interesting SS-RS Codes for μ Close to m
More details on GRS codes with specific permutation
groups such as quasi-cyclic or quasi-dyadic groups can be Let recall the MDS conjecture: if there exists an [n, k,
found in Appendix. d = n +1−k]q MDS code, meaning an MDS code of length n
and dimension k over Fq then n ≤ q + 1, except for particular
cases (k ≤ 3 or k ≥ n − 2) [19] Ch.7 §7. We assume in the
C. Generalized Subspace Subcodes of Reed-Solomon Codes
sequel that the MDS conjecture is true.
In this section we interpret the results of Sections III-A So, for instance, from a Reed-Solomon code of length
and IV in the context of Reed-Solomon codes. We denote the n = 2m over F2m , it is possible to construct an (m-1)-
Reed-Solomon codes (resp. Generalized Reed-Solomon codes) block code of length 2m with parameters close to MDS
by RS codes (resp. GRS codes). . codes and having an efficient decoding algorithm. These kinds
We use the following notations: of parameters cannot be attempted by the subfield subcode
• SFq u -RS: Fq u -subfield subcodes of RS codes (u|m). method.
• SFq u -GRS: Fq u -subfield subcodes of GRS codes As an example, we choose μ = 8, which corresponds
If u = 1, subfield subcodes are denoted SF-RS or SF-GRS. to bytes as μ-block symbols. The maximum length for a
• SS-RS or μ-SS-RS: subspace subcodes of RS codes over Reed-Solomon code over F28 is n = 28 = 256.
a vector space of dimension μ. • If we want a code of length n = 512, we choose m = 9.
• SS-GRS or μ-SS-GRS: subspace subcodes of GRS codes. For d = 256, we obtain a SS-RS code of parameters
• GSS-RS, GSS-GRS: generalized subspace subcodes of [512, 225, 256]28 . The Gilbert-Varshamov lower bound
RS codes or GRS codes. on the dimension of a linear code of length 512 and
As noted in Section III-A, subfield subcodes are particular minimum distance 256 over F28 is GV = 194.
cases of subspace subcodes, so we have SFq u -RS ⊂ u-SS-RS • If we want a code of length n = 1024, we choose m = 10.
and SFq u -GRS ⊂ u-SS-GRS for u|m. For d = 512, we obtain a SS-RS code of parameters
In addition, since the action of a Fq m multiplier on a code [1024, 385, 512]28 . The Gilbert-Varshamov lower bound
over Fq m correspond to a particular case of m-block multiplier is GV = 387.
on the q-ary image, we have GSS-RS=GSS-GRS and SS-GRS • If we want a code of length n = 2048, we choose m = 11.
⊂ GSS-RS. For d = 1024, we obtain a SS-RS code of parameters
If we interpret the results of Theorem 2 and Theorem 3 in [2048, 641, 1024]28 . The Gilbert-Varshamov lower bound
the context of Reed-Solomon codes, we obtain the following is GV = 771.
Theorem: One can notice that the Gilbert-Varshamov bound is a
Theorem 4: For μ = 1, the generalized subspace subcodes lower bound. It is expected that a random linear code is
of Reed-Solomon codes are exactly the Alternant codes, i.e. over this bound. However, a random code does not possess a
the subfield subcodes of Generalized Reed-Solomon codes: decoding algorithm, while SS-RS codes can be decoded with
1-GSS-RS = SF q -GRS. a Reed-Solomon decoder.
For μ = m − 1, the generalized subspace subcodes
of Reed-Solomon codes are exactly the subspace sub-
codes of Generalized Reed-Solomon codes (m-1)-GSS-RS = E. Exceptional Generalized Subspace Subcodes
(m-1)-SS-GRS. The bound on the pseudo-dimension of a subspace subcode
Note that, since GSS-RS=GSS-GRS, this theorem implies given in Corollary 2 leads to codes that are not very perfor-
in particular that GSS-GRS=SS-GRS for μ = 1 or m − 1. mant, in particular for small μ. However, there exist codes for
BERGER et al.: GENERALIZED SUBSPACE SUBCODES WITH APPLICATION IN CRYPTOLOGY 4651
which the true dimension is larger. We will see at the next dimq (C) − dimq (SS V (C)), which gives dimq (SS V ⊥ (C ⊥ )) =
section that it is the case for BCH or Goppa codes. dimq (SS V (C)) + nν − dimq (C).
Following this remark, we introduce the notion of excep- If k is the pseudo-dimension of C then dimq (C) = km.
tional GSS code: From Corollary 2, we have dimq (SSV (C)) ≥ (km − n(m −
Definition 19: Let C be an m-block code of dimension k μ)) = km − nν. Following some similar notion introduced
and length n and C = G SSV (C) be a μ-generalized subspace in [15], if dimq (SSV (C)) = (km − n(m − μ)), we refer this
subcode of C. Let k be the pseudo-dimension of C and subspace subcode to an ordinary subspace subcode, else we
kb = (km − n(m − μ))/μ be the bound of Corollary 2. The refer it to an exceptional subspace subcode. In addition {0}
generalized subspace subcode C is ordinary if k = kb and is and its dual are considered as ordinary.
exceptional if k > kb . We can deduce the following proposition.
Remark 2: It is important to understand that the definition Proposition 17: A subspace subcode is ordinary if and only
of exceptional GSS code is dependant on the original code if its orthogonal is the null code. A subspace subcode is
C, not on the subspace subcode C itself. This fact will be exceptional if and only if its orthogonal subspace subcode is
explained in detail in the next section. Its occurs typically exceptional.
when we have C1 C2 and C = G SSV (C1 ) = G SSV (C2 ). Proof: Suppose that SSV (C) is ordinary, which means
In that situation C can be exceptional then it is considered as dimq (SS V (C)) = km − nν. From Corollary 2, we deduce
a subspace subcode of C1 and ordinary as a subspace subcode dimq (SS V ⊥ (C ⊥ )) = dimq (SSV (C)) + nν − dimq (C) = 0.
of C2 . Moreover if dimq (SSV ⊥ (C ⊥ )) = 0 then dimq (SSV (C)) =
We set ν = m − μ. There exists a kind of duality between dimq (C) − nν.
the construction of some μ-subspace subcodes and ν-subspace If SS V (C) is exceptional, then 0 < dimq (SS V ⊥ (C ⊥ )) < ν
subcodes. If V is a μ-subspace of Fm q , we choose a linear and the orthogonal code of SS V ⊥ (C ⊥ ) is SSV (C) which is
projection ψ from Fm ν neither 0 nor the full space, so SSV ⊥ (C ⊥ ) is exceptional.
q onto Fq such that Ker(ψ) = V .
As previously refers to the extension of ψ to the n-tuple To conclude this section, we give an algorithm to construct
over Fnq m . Clearly, Ker() = V n . the orthogonal of a subspace subcode.
From these definitions and Section III-B, we deduce the
following Lemma. Algorithm 4: Generator matrix of SS⊥
V (C)
Lemma 4: Let V be a μ-subspace and ψ defined as previ-
ously. If C denotes the restriction of to C, then SSV (C) = Input: G: a generator matrix of an m-block code C. MV : a
Ker(C ) and (C) = Pψ (C). In particular dimq (C) = generator matrix of the subspace V .
dimq (SSV (C)) + dimq (Pψ (C)). Output: G and H: a generator matrix and a parity check matrix
A μ-subspace V of Fnq can be considered as an Fq -linear of SS⊥V (C).
code of length m and dimension μ. Let V ⊥ be its dual code • From MV , compute a parity check matrix HV of V .
in the meaning of Coding Theory. The projection ψ such that • Set H := G × (In ⊗ HVT ). H is a generator matrix of the
Ker(ψ) = V is not unique, however, if Mψ is its m × ν dual of SS⊥
V (C).
corresponding matrix, then the condition Ker(ψ) = V is • From H, compute a generator matrix G of SS⊥ V (C).
equivalent to saying that MψT is a parity check matrix of V ,
or a generator matrix of V ⊥ .
We can now define the notion of orthogonality for subspace The parity check matrix HV is not unique, a change of
subcodes. matrix HV in Algorithm 4 leads to a scalar equivalent ν-block
Definition 20: Let SSV (C) be an μ-subspace subcode. Its code in the meaning of Definition 6.
orthogonal subspace subcode relative to C and V is the
ν-subspace subcode SS⊥ ⊥
V (C) = SSV ⊥ (C ).
Remark that this definition is independent on the choice F. Exceptional SS-RS Codes
of block-code representations of SSV (C) and SS V ⊥ (C ⊥ ).
However, we will notice that this notion of orthogonality is An interesting property of Reed-Solomon codes (or GRS
not relative to the μ-block code SSV (C), but to the m-block- codes) is the fact that, for a given extension field and a given
code C. (see Section V-F for examples). support S of size n, they constitute a strict inclusion chain:
The code SS V ⊥ (C ⊥ ) is in fact the dual of Pψ (C). From
RS1 (S) RS2 (S) . . . RSk (S) . . . RSn−1 (S) RSn (S).
Lemma 4, we deduce the following Corollary:
Corollary 4: If SSV (C) and SS V ⊥ (C ⊥ ) are defined as However, when we look at the subspace subcodes of this
previously, then inclusion chain, it is possible to have an equality of the type
dimq (SSV ⊥ (C ⊥ )) = dimq (SS V (C)) + nν − dimq (C). SSV (RSk (S)) = SSV (RSk+1 (S)) = . . . = SSV (RSk+r (S)).
our point of view, it implies that, for μ = 1 some subspace B. Generalization of Sidel’nikov Shestakov Algorithm
subcodes of GRS codes having a support and a multiplier In this section, we look at the particular case μ = m,
associated to these Goppa polynomials are exceptional. For so all the Vi ’s in the definition of generalized subspace
this kind of parameters, we get results close to those of subcodes are all equal to the whole finite field Fq m . Moreover,
Table I. in that case the notion of generalized projected code is the
We tested also subspace subcodes of random GRS codes same as generalized subspace subcode. The only choices in
with parameters similar to those of Table I. We did not the construction of a GSS-RS code are the support of the
get exceptional subspace subcodes, except of small pseudo- underlying Reed-Solomon code (in particular the order on this
dimension (typically less than or equal to 3). support) and the different choice of matrices Mi , 1 ≤ i ≤ n
for the projection on each coordinate.
In an equivalent way, this problem can be reformulated as
VI. A NALYSIS OF GSS-RS C ODES IN
follows: the starting point is a q-ary image of a fixed but
A C RYPTOGRAPHIC P URPOSE
unknown Reed-Solomon code. We apply an Fq -linear multi-
In this section, we do not want to propose a cryptosystem pliers isometry to this q-ary image and obtain an equivalent m-
based on GSS-RS codes, but to study their properties from a block code C. The problem is then: From a generator matrix
cryptographic point of view. of C, Is it possible to reconstruct a Reed-Solomon code and
We will describe how to construct efficiently a random an isometry which leads to the code C?
SS-GRS code. We show that it is possible to extend the Note that, due to some equivalence between Reed-Solomon,
Sidel’nikov and Shestakov algorithm which able us to recover there are more than one solution to this problem, however,
an underlying GRS code from a code wich is m-block equiv- as soon as we have a solution, we are able to decode C up
alent to one of its q-ary image. We present an improvement to the error capacity derived from the Reed-Solomon code.
of the exhaustive search of the secret parameters of a GSS-RS One want to notice that the permutation part of isometry
code. Finally, we show that the folding cryptanalysis against is implicitly integrated in the choice of the support of the
quasi-cyclic or quasi-dyadic Alternant code can be generalized Reed-Solomon code, it is why we limit ourself to multipliers
to the case of induced quasi-cyclic or quasi-dyadic GSS-RS isometries.
codes. If we restrict ourself to Fq m -linear equivalence, the corre-
sponding problem is that of reconstructing the parameters of
a Generalized Reed-Solomon code from one of its generator
A. An Efficient Way to Construct Random Binary μ-GSS-RS matrices. This can be done using the Sidel’nikov Shestakov
Codes algorithm [21]. This algorithm uses the uniqueness of the
systematic generator matrix of a code and the link between the
Probably the simplest method for constructing a random supports and scalars used in its definition and the redundant
GSS-RS code is to use the dual construction of a random part of this matrix.
projected codes. The first choice is to fix the parameters of We will show that it is possible to adapt this algorithm in
our Reed-Solomon code: m, n ≤ q m − 1 and d, and the value our situation.
of μ ≤ m. Let G = Ik B , B = βi, j 1≤i≤k,k+1≤ j ≤n be the
• Step 1: choice of the RS code. We have to choose n systematic generator matrix of the secret Reed-Solomon code.
distinct elements of Fq m for the support S = (α1 , . . . αn ). Using a basis B, we construct the corresponding systematic
It should be noted that the order of the elements is a generator matrix of its q-ary image:
⎛ ⎞
sensitive information that can be used to mask the choice 1 . . . . . . 0 M1,k+1 . . . M1,n
0
⎜ ..
. . . .
.. ⎟
of a random permutation. ⎜0 . .. .. .. ⎟
Let GRSk be a generator matrix of RSk = RSk (S) and ⎜ ⎟
⎜. . . . . . . ⎟
G = ⎜ .. . . . . . . .. .. .. ⎟
G RSk its q-ary image relative to a basis B. The basis ⎜ ⎟
⎜. .. .. .. .. ⎟
B does not have to be secret, since it will be masked ⎝.
. . . 0 . .
⎠
later with the choice of projections ψi . Compute a q-ary 0 . . . . . . 0 1 Mk,k+1 . . . Mk,n
parity-check matrix HRSk of G RSk .
• Step 2: construction of a random projected GRS code.
with Mi, j = Mβi, j .
We choose randomly n matrices Mi of size m × μ over We apply then a multipliers isometry Diag(D1 , . . . , Dn ),
Fq of full rank μ. Compute D = Diag(M1 , . . . , Mn ) and Di ∈ G L q (m) in order to obtain a m-block code C. The
H = HRSk × D. systematic generator matrix of C is then
⎛ ⎞
• Public key: a generator matrix G (under systematic form) 1 0 . . . . . . 0 M1,k+1 . . . M1,n
⎜ .. .. .. .. .. ⎟
of the code with parity-check matrix H and the value d ⎜0 . . . . . ⎟
of the minimum μ-block distance. ⎜ ⎟
⎜ .. . . . . . . .. .. .. ⎟
G = ⎜. . . . . . . ⎟
• Secret key: the support S of the Reed-Solomon codes ⎜ ⎟
and the matrices MiT which give the representation of ⎜. . . . . ⎟
⎝.. . . . . 0 .
. .
. ⎠
the vector spaces Vi ’s in the GSS-RS construction. These
0 ... ... 0 1 Mk,k+1 . . . Mk,n
secret values allow to set the decoding algorithm up to
t = (d − 1)/2 errors. = D −1 M D for i ∈ [1..k] and u ∈ [k + 1..n].
where Mi,u i i,u u
4654 IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 65, NO. 8, AUGUST 2019
The following lemma describes the systematic generator We are now able to describe the reconstruction algorithm.
matrix of a Reed-Solomon code. It is essentially Theo- • Step 1: Identifying the matrices D1−1 M1,u, j,v D1 to ele-
rem 1 of [8] and Theorem 2 of [11] without restrictions on ments of Fq m .
−1
j,v = D1 M1,u, j,v D1 . As noticed previously,
the length of the Reed-Solomon
code. We set Mu,
Lemma 5: Let G = Ik B be the systematic generator
the matrices Mu, j,v are all in a same cyclic group of
matrix of the Reed-Solomon code of support (α1 , . . . , αn ) and order q m −1 which corresponds to a representation of the
dimension k. The coefficients βi, j , 1 ≤ i ≤ k, k + 1 ≤ j ≤ n multiplicative group F∗q m . Consequently, the sum of any
of B are equal to element of this group are either the null matrix M0 or an
αu − α j element of this group.
βi,u = . Suppose that at most one of the Mu,
αi − α j j,v ’s have a min-
j ∈[1,k], j =i imal polynomial p(x) of degree m. It implies that
s
{ m−1
s=0 λs Mu, j,v | λi ∈ Fq } is isomorphic to the finite
Proof: The i -th row of the systematic generator matrix
field Fq m = Fq [x]/ p(x).
G corresponds to the evaluation of the polynomial Pi (X) of
If there is no such matrix Mu, j,v , we try with another
degree less than k such that Pi (αi ) = 1 and Pi (αi ) = 0 for −1
j ∈ [1, k], j = i . conjugacy group Di Mi,u, j,v Di , 1 ≤ i ≤ n. If this does
X −α not work, it implies that the targeted Reed-Solomon code
Clearly, this polynomial is Pi (X) = j ∈[1,k], j =i αi −α jj .
is not defined over Fq m , but over a subfield Fq m for some
The result is obtained by the evaluation of Pi (X) in αu for
all u in [k + 1, n]. divisor m of m.
The following corollary is a straightforward application of In all cases, it is possible to recover a representation
this Lemma. as elements of a finite field of the set of matrices
Corollary 5 (Corollary 1 of [8]): For all i , j , u and v such Di−1 Mi,u, j,v Di . Without loss of generality, in the sequel
that 1 ≤ i, j ≤ k and k + 1 ≤ u, v ≤ n, we have the relation we suppose that i = 1. In addition, we also set D1 = Im ,
since, as mentioned previously, it can be integrated in the
βi,u β j,v (αu − α j )(αv − αi ) choice of the projection basis B for computing the q-ary
= . image of the Reed-Solomon codes.
β j,u βi,v (αu − αi )(αv − α j )
• Step 2: Recovering the support (α1 , α2 , . . . , αn ) of the
Note that Reed-Solomon code.
βi,u, j,v = (αu − α j )(αv − αi )(αu − αi )−1 (αv − α j )−1 is a The assumption D1 = Im and the identification of
non-zero element of Fq m . matrices Mu, j,v to elements of Fq implies that
m
Using the isomorphism of Fq m and Fm q induced by the basis β1,u, j,v = (αu − α j )(αv − α1 )(αu − α1 )−1 (αv − α j )−1 is
B in the construction of the q-ary image, we denote by Mi,u, j,v known for 1 < j ≤ k and k < u, v ≤ n, u = v.
the matrix of the multiplication by βi,u, j,v . Since it is possible to fix arbitrary 3 points of the support,
We are able to prove the following Lemma: we set α1 = 0, α2 = 1 and αk+1 = α (where α is a fixed
Lemma 6: For all i , j , u and v such that 1 ≤ i, j ≤ k and primitive root of Fq m ).
k + 1 ≤ u, v ≤ n, we have For j ∈ [3, k], we deduce the α j ’s from equations
M j,u−1 M j,v Mi,u
−1
= Di−1 Mi,u, j,v Di . (α − α j )αk+1
Mi,u β1,k+1, j,k+2 = .
α(αk+1 − α j )
Proof: From Corollary 5, we deduce For v ∈ [k + 2, n], we deduce the αv ’s from equations
Mi,u, j,v = Mi,u M −1 −1 αv (α − 1)
j,u M j,v Mi,u . β1,k+1,2,v = .
α(αv − 1)
Computing Mi,u M −1 M M −1 from the definition
j,u j,v i,u • Step 3: Recovering Diag(D1 , . . . , Dn ).
−1
Mi,u = Di Mi,u Du , we obtain the required equality. Since the αi ’s are known, we are able to construct the
Note that, for a fixed i and any u, v, j = i the matrices matrix G, i.e. to recover the matrices Mi,u for 1 ≤ i ≤ k
Di−1 Mi,u, j,v Di are all in the same cyclic group of order q m −1 and k < u ≤ n. From the given matrix G , we also know
which corresponds to the representation of the extended finite = D −1 M D .
the matrices Mi,u i i,u u
field Fq m relative to the basis B obtained from B by Di For i = 1 and D1 = Im , we have Du = M1,u −1
M1,u for all
considered as a matrix of change of basis of Fm q. u ∈ [k + 1, n].
In [11], Arne Dür characterized the automorphism group For u = k + 1, we have Di = Mi,k+1 Dk+1 Mi,k+1 −1 for
and the permutation group of Reed-Solomon codes. In Appen- all i ∈ [2, k].
dix A, we recall some results on permutation group and
automorphism group of GRS codes. In particular, the auto-
C. Recovering the GSS-RS Structure by Exhaustive Search
morphism group of a doubly-extended Reed-Solomon code is
triply transitive on the support. The main consequence is the Following the approach developed in Section 4.3 of [7]
well-known fact that, if we want to recover the support of a and the fact that it is possible to recover the extension field
GRS codes, it is always possible to fix arbitrary 3 elements of structure of a q-ary image of a code, we propose an algorithm
this support. which able us to recover the structure of a GSS-RS code.
BERGER et al.: GENERALIZED SUBSPACE SUBCODES WITH APPLICATION IN CRYPTOLOGY 4655
g
Let V = (V1 , . . . , Vn ) be the μ-subspaces used for the on each orbit or bi :
construction of our GSS-RS code. We fix arbitrary a basis
B of Fq m over Fq . For i ∈ [1..n], let Mi be a μ × m generator C g = cg = (c1 , . . . ., cs ) ci = j ∈orbg c j , 1 ≤ i ≤ s,
i
matrix of the subspace Vi relative to the basis B. ∀c = (c1 , . . . , cn ) ∈ C} .
If Mi is known, we can identify the i -th μ-block coordinate
of a codeword of our GSS-RS code to an element β ∈ Vi ⊂ Note that in the case of quasi-cyclic permutation group,
Fq m . g is generated by a single element σ of order dividing the
If, for all i , Mi is known, each codeword can be identified quasi-cyclicity order .
to a codeword in Fnq m which lies in the starting Reed-Solomon We are restating without the proof one of the essen-
code. tial results of [12]. We want to emphasize that quasi-
Let k be the Fq -dimension of our GSS-RS code. Taking cyclic or quasi-dyadic GRS codes are exactly those described
the preimage of its Fq -generator matrix, we obtain an k × n in Appendix. This property is fundamental in the proof of this
matrix over Fq m which have an Fq m -rank upper-bounded by theorem.
k. Remembering that k > km − n(m − μ) which is greater Proposition 18: Let C be a quasi-cyclic or a quasi-dyadic
than k in practical applications, it is possible to distinguish a GRS code. The folded code of C obtained by taking for g
correct set of n matrices Mi from a random one. either an element of the quasi-cyclic permutation group or
So the Fq m structure can be recovered by an exhaustive a subgroup of the quasi-dyadic permutation group is a GRS
search on the matrices Mi . code.
An additional fact is that there exists an explicit link
between the parameters (i.e. the support and the scalars) of
D. Cryptanalysis of Quasi-Cyclic and
the original GRS code and its folded code. This is the basis
Quasi-Dyadic GSS-RS Codes
of the cryptanalyses presented in [12].
The main disadvantage in the public key cryptography is The main result of this section is the fact that this kind
the size of the public key which is a generator matrix of a of cryptanalysis works also for induced quasi-cyclic or quasi-
code which looks like a random one [7], [8], [18]. A way to dyadic GSS-RS codes.
decrease this size is to use codes with non-trivial permutation Suppose that C is an induced quasi-cyclic or quasi-dyadic
group, which are easier to describe. This was done for example generalized Projected GRS code of order and index s.
in [5] and [20] which use some particular subfield subcodes Let ψ1 , …, ψs be the s projections applied on each orbit.
g
of quasi-cyclic and quasi dyadic codes. Let = (ψ1 , . . . , ψ1 , ψ2 , . . . , ψ2 , . . . , . . . , ψs , . . . , ψs )
Unfortunately, there exists an attack against these specific be the projection obtained by repeating the ψi ’s times. So
g
examples [12], [13]. We will explain in this section how this C = (GRSk ) where GRSk is a GRS code invariant under
attack works against induced quasi-cyclic or quasi-dyadic the action of g.
GSS-RS codes. Proposition 19: With the previous notations, the folded
g
Following the results of Section IV-C and Appendix A, it is code C g is the -projected of the folded code GRSk .
easy to construct quasi-cyclic or quasi-dyadic induced gen- Proof: The ψi are linear mapping, so summing on a given
eralized subspace subcodes and generalized projected codes orbit and applying ψi on the result give the same result than
of Reed-Solomon codes. For instance, if we look at the applying ψi on each coefficient of the orbit and then summing
construction of the projected codes, we first construct a quasi- the coefficients.
cyclic or a quasi-dyadic GRS code, and then we use a Using Proposition 18 and Proposition 19 shows that from
generalized projection which is constant on each orbit. the dual of an induced quasi-cyclic or quasi-dyadic GSS-RS
Definition 21: An induced quasi-cyclic (resp. quasi-dyadic) code, the folding operation applied to its dual leads to obtain
generalized projected Reed-Solomon code is a generalized a Projected GRS code of length s.
projected code of a quasi-cyclic (resp. quasi-dyadic) GRS code Following the algebraic attack developed in [12], [13],
in the meaning of Appendix B (resp. Appendix C) for which the resistance against this kind of structural attacks is those of
the projections are constant on the orbits of the quasi-cyclic a code of length s instead of n = s then an induced quasi-
permutation (resp. the quasi-dyadic permutation group). cyclic or quasi-dyadic GSS-RS code is used.
The induced quasi-cyclic (resp. quasi dyadic) generalized
subspace subcodes of Reed-Solomon codes are the duals of VII. C ONCLUSION
induced quasi-cyclic (resp. quasi dyadic) generalized projected In this paper we studied in detail the notion of subspace
Reed-Solomon codes. subcodes and generalized subspace subcodes. We applied our
Now, we will present the operation of folding on a results to the family of Reed-Solomon codes and obtained
code [12]. Let C be a linear code with a non-trivial permutation some codes with interesting parameters. We looked at potential
group Per(C). Let g be a subgroup of Per(C) such that application in code-based cryptography.
the orbits of the coordinates under its action are all of the Concerning future works on this topic, it will be interesting
g g
same length . Set s = n/ and let or b1 , …, or bs be the to better understand the notion of orthogonal construction
decomposition of the support between the s distinct orbits. and exceptional subspace subcodes, since these codes have
Definition 22: [12] The folded code of C with respect to g, better parameters than those who meet the lower bound of
is the code C g of length s obtained by summing the coefficients Corollary 2.
4656 IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 65, NO. 8, AUGUST 2019
For cryptographic application, it will be necessary to design The first one consists in the construction of a quasi-cyclic
a protocol with practical parameters taking in account the Reed-Solomon code:
folding attacks. • We choose β ∈ F∗ q m of order |q − 1 and an index
m