Sunteți pe pagina 1din 17

IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 65, NO.

8, AUGUST 2019 4641

Generalized Subspace Subcodes With


Application in Cryptology
Thierry P. Berger , Cheikh Thiécoumba Gueye, and Jean Belo Klamti

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

T HE notion of subspace subcodes of Reed-Solomon


(SS-RS) codes was introduced in the mid-1990’s by
Hattori et al. [15]. However this previous work concerns only
is exceptional, we introduce an orthogonal construction of
subspace subcodes and provide some interesting examples.
Finally in Section VI we present some results on the
subspace subcodes of cyclic Reed-Solomon codes of length security of generalized subspace subcodes of Reed-Solomon
q m − 1 over the finite field Fq m . The problem was to find for cryptographic applications. In particular, we extend the
an exact formula for the dimension of subspace subcodes Sidel’nikov Shestakov attack to the codes that are G L q (m)-
depending on the roots of the generator polynomial of the multipliers equivalent to a q-ary image of a Generalized
cyclic code. Reed-Solomon code. We introduce an efficient algorithm for
Our approach is more general since we look at properties an exhaustive search of projections for a subspace subcode
of subspace subcodes of any Fq m -linear code. We generalize of a q-ary image code. We conclude by showing that the
also our study to generalized subspace subcodes, for which the folding attack presented in [12], [13] holds also for induced
projection subspaces may vary from coordinate to coordinate. quasi-cyclic or quasi-dyadic generalized subspace subcodes of
This paper is organized as follows: in Section II we recall Reed-Solomon codes.
some definitions and results in coding theory. We look in
II. P RELIMINARIES
Manuscript received May 17, 2018; revised January 2, 2019; accepted
March 21, 2019. Date of publication April 11, 2019; date of current version A. Shortened Codes and Punctured Codes
July 12, 2019. C. T. Gueye and J. B. Klamti were supported in part by
CEA-MITIC for CBC Project and in part by the Government of Senegal’s Shortening and puncturing codewords are classical trans-
Ministry of Higher Education and Research for ISPQ Project. formations on codes. The reader can refer for instance
T. P. Berger is with XLIM, UMR 7252, Université de Limoges,
F-87000 Limoges, France (e-mail: thierry.berger@unilim.fr). to [10], [17], [19] for more details. Let C be an [n, k, d] linear
C. T. Gueye and J. B. Klamti are with the Faculté des Sciences et code and I be a subset of {1, 2, . . . , n}.
Techniques, DMI, LACGAA, Université Cheikh Anta Diop, Dakar 5005, Definition 1: The punctured code of C on positions I is the
Sénégal (e-mail: cheikht.gueye@ucad.edu.sn; jklamty@gmail.com).
Communicated by V. Sidorenko, Associate Editor for Coding Theory. code Punct I (C) obtained from the codewords of C by deleting
Digital Object Identifier 10.1109/TIT.2019.2909872 the coordinates indexed by I .
0018-9448 © 2019 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission.
See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
4642 IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 65, NO. 8, AUGUST 2019

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

Definition 8: Let C be an Fq m -linear code and C its q-ary to B:


image relative to B. If G is a generator matrix of C, the matrix ⎛ ⎞
100 000 010 001 101 110 001
G described in Proposition 4 is called the canonical q-ary ⎜ 010 000 001 111 100 011 110 ⎟
image of G (relative to the basis B). ⎜ ⎟
⎜ 001 000 110 101 010 111 011 ⎟
G=⎜
⎜ 000

The main property of a generator matrix which is a canon-
⎜ 100 110 111 001 010 101 ⎟

ical q-ary image of a generator matrix over Fq m is the fact ⎝ 000 010 011 101 110 001 100 ⎠
that it is possible to extract the m × m q-ary matrices which 000 001 111 100 011 110 010
correspond to a representation of the finite field Fq m . In
particular these matrices are either 0 or lie in a same cyclic As a 3-block code, the parameters of C are [7, 2, 5]8.
group of order q m −1 which is stable by addition if we add the As a binary code, its parameters are [21, 6, 7]2 (its minimum
null matrix. So, from a canonical q-ary image, it is possible distance d was computed using MAGMA [9]).
to reconstruct Fq m and the code C (up to the identification of
Fq m with its matrix group representation). III. S UBSPACE S UBCODES
In addition, note that, up to a permutation of the support, The notion of subspace subcode was introduced by
a code C always admits a systematic generator matrix. It is Hattori et al. [15]. However, this previous work was essentially
easy to see that the canonical q-ary image of a systematic devoted to the cyclic properties of subspace subcodes of
generator matrix is itself the systematic generator matrix of Reed-Solomon codes of length 2m − 1. In [14], the authors
the q-ary image I m q (C). So, if a given m-block code C is a studied the subspace subcodes of Gabidulin codes in the
q-ary image of another code C over the extension Fq m , it is context of rank metric. Our approach concerns any m-block
always possible to recover the extension field construction. code or code over an extension field without looking at cyclic
If B is a basis of Fq m over Fq , the dual basis B ∗ of properties.
B is the unique basis of Fq m over Fq such that, for any In this section, we will first introduce the notion of subspace
element β ∈ Fq m , if Mβ is the matrix corresponding to subcodes of m-block codes and an interpretation in term
the multiplication by β in the representation associated to B, of shortened codes. We then introduce the dual notion of
the matrix corresponding to the multiplication by β associated projected codes, which are related to punctured codes. Finally,
to B ∗ is its transpose MβT . we specify our results in the context of q-ary images of a linear
The following proposition describes the link between the code over the extension field Fq m . In particular, we examine
duality over Fq and the duality over Fq m . the relationship between subspace subcodes (resp. projected
Proposition 5: Let C be a code over Fq m and C ⊥ be its codes) and subfield subcodes (resp. trace codes).
Fq m -dual. The dual of the q-ary image of C relative to the
basis B is the q-ary image of its dual C ⊥ relative to the dual
basis B ∗ of B. A. Subspace Subcodes of m-Block Codes
Proof: Let G = (βi, j ) and H = (γi, j ) be respectively a In this section, we present the notion of subspace sub-
generator matrix of C and of its dual C ⊥ . A generator matrix codes of m-block codes. The specific notion of subspace
of the q-ary images of C relative to B, resp. of C ⊥ relative to subcodes of codes over an extension field will be developed in
B ∗ is G = (Mβi, j ), resp. H = (MγTi, j ). By definition, we have Section III-C.
G × HT = 0, which implies Let C be an m-block code over E and V be a subspace of
E of dimension μ ≤ m.
G × H T = (Mβi, j ) × (MγTi, j )T = 0. Definition 9: The subspace subcode of C is the subcode
C|V of codewords in C with coordinates in V : C|V = C ∩ V n .
μ
Since a subspace V of dimension μ is isomorphic to Fq ,
Example 1: We choose q = 2 and m = 3. So Fq m = F2 (α), a subspace subcode can be identified to an μ-block code.
where α is a root of X 3 + X + 1. The identification between This can be done by the choice of a basis of V . Following
F8 and F32 is done using the basis B = (1, α, α 2 ). Section II-D, if BV denotes a basis of V , ψBV is the map-
The following matrix is a generator matrix of a ping which sends an element v ∈ V on the μ-tuple of its
Reed-Solomon code of parameters [7, 2, 5]8 over F8 . Such coordinates and BV is the extension of ψBV to codewords
a code will be defined in Section V-B. It is denoted RS2 since in V n .
its dimension is 2. Definition 10: The μ-block representation of a subspace

subcode of C over a subspace V ⊂ E relative to a basis BV
μ
1 0 α α4 α6 α3 α2 is SSV (C) = BV (C|V ) ⊆ (Fq )n .
G= .
0 1 α3 α5 α2 α α6 As in the case of q-ary image, the μ-block representation
of a subspace subcode is dependent on the choice of the basis
The matrix
⎛ representation
⎞ of the multiplication by α in F32 BV . Changing the basis BV leads to another μ-block code
0 1 0 representation, however all these representations are scalar
is Mα = ⎝0 0 1⎠. equivalent at μ-block level.
1 1 0 Proposition 6: Two representations C1 and C2 of a same
For i ∈ [1, 7], Mα i = Mαi . So, we can construct the subspace subcode C|V are scalar equivalent. Reciprocally, if a
canonical generator matrix of its binary image C relative μ-block code C2 is scalar equivalent to a representation C1
BERGER et al.: GENERALIZED SUBSPACE SUBCODES WITH APPLICATION IN CRYPTOLOGY 4645

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).

A. Definitions • Compute a parity check matrix H of C.


• Set H := H × Diag(G TV1 , . . . , G TVn ). H is a generator
Let C be an m-block linear code of length n. Let μ be an matrix of the dual of GSSV (C).
integer less than m. Let V1 , …, Vn be a set of n subspaces • From H, compute a generator matrix G of GSSV (C).
of E of dimension μ. Set V = (V1 , . . . , Vn ), constituted of
n-tuples with the i -th coordinate in Vi .
In conclusion of this section, we give an example limited
Definition 14: The generalized (μ-)subspace subcode of C
to the construction of the projected code.
relative to V is C|V = C ∩ V .
Example 2: We set q = 2, m = 3 and F8 = F2 (α) with
Let ψ1 , …, ψn be a set of n Fq - linear projections of
μ α 3 = α + 1.
full rank μ from E onto Fq . We denote by the Fq -linear
μ The following matrix is a parity-check matrix of a 3-block
projection from En to (Fq )n obtained by applying ψi to the
code of length n = 5.
i -th component of m-block codewords.
Definition 15: The generalized (μ-)projected code of C ⎛ ⎞
100 000 101 100 101
relative to is (C). ⎜ 010
⎜ 000 111 010 111 ⎟

As in Section III-A, if we want to construct a μ-block rep- ⎜ 001 000 011 001 011 ⎟
resentative of C|V , we need to choose a basis, i.e. a generator H =⎜
⎜ 000

⎜ 100 011 100 111 ⎟

matrix G Vi for each subspace Vi . Such a representative is ⎝ 000 010 110 010 100 ⎠
denoted G SSV (C).
000 001 111 001 110
The following proposition describes the relationship
between generalized notions of subspace subcodes or projected
codes and the multiplier equivalence of m-block codes. We choose V = V1 V2 V1 V2 V3 , where V1 is generated by 1
Proposition 10: A generalized subspace subcodes of an m- and α, V2 by 1 and α 2 and V3 by α and α 2 + 1. We choose
block code C is a subspace subcode of a code C  which is for respective generator matrices


multiplier equivalent to C (Definition 5 at m-block level). 100 100 101


A generalized projected code of an m-block code C is a G V1 = , G V2 = and G V3 = .
010 001 010
projected code of a code C  which is multiplier equivalent The generalized subspace subcode C = GSSV (C) has for
to C. parity check matrix
BERGER et al.: GENERALIZED SUBSPACE SUBCODES WITH APPLICATION IN CRYPTOLOGY 4647

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)).

This situation leads to exceptional subspace subcodes (in


Proof: The code SS V ⊥ (C ⊥ ) is the dual of Pψ (C) as the meaning of Section V-E), since we obtain the bound
Fq -linear code of length nν. In particular dimq (SS V ⊥ (C ⊥ ) = on dimension from SS V (RSk+r (S)) and the bound on the
nν − dimq (Pψ (C)). From Lemma 4, we have dimq (Pψ (C)) = minimum distance from SS V (RSk (S)).
4652 IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 65, NO. 8, AUGUST 2019

1) Orthogonal Subspace Subcodes for μ = m − 1: As TABLE I


a first example, we consider classical cyclic Reed-Solomon PARAMETERS OF SS⊥
F (RSk (S)) FOR k ∈ [2, 27]
2
codes of length n = 2m − 1 over F2m . Binary BCH codes
are subfield subcodes of cyclic Reed-Solomon codes. In the
sequel, the support S = Sα is fixed by the choice of a primitive
root α.
Following the usual notation for BCH codes, we denote
by BCHd the BCH of constructed distance d, i.e.
BCHd = SSF2 ((RSn−d+1 (S)) with n = 2m − 1.
We set q = 2 and m = 5. We consider classical cyclic
Reed-Solomon codes of length n = 25 − 1 = 31 and we
look at the corresponding binary BCH codes, that are subfield
subcodes of Reed-Solomon codes.
The parameters of the corresponding BCH codes are as
follows:
• BCH 1 = F31 2 .
• BCH 2 = BCH3 , parameters: [31, 26, 3].
If we look at BCH3 = SSF2 ((RS29 (S)), the bound given
in Corollary 2 is k  ≥ 21. Since k  = dim(BCH3 ) = 26,
the subspace subcode SSF2 (RS29 (S)) is exceptional.
• BCH 4 = BCH5 , parameters: [31, 21, 5].
In this case, both SSF2 (RS28 (S)) and SSF2 (RS27 (S)) are
exceptional, since the bounds on dimension are respec-
tively k  ≥ 11 and k  ≥ 16. size of alphabet. So, it is possible that some of our examples
• BCH 6 = BCH 7 , parameters: [31, 16, 7].
have optimal parameters.
SSF2 ((RS26 (S)) and SSF2 (RS25 (S)) are exceptional. Clearly, for μ < m − 1, subspace subcodes will not have
• BCH 8 = . . . = BCH11 , parameters: [31, 11, 11].
such interesting parameters, however, they have a decoding
For 8 ≤ k ≤ 11, SSF2 ((RSk (S)) is exceptional. algorithm up to the error correcting capability.
• BCH 12 = . . . = BCH 15 , parameters: [31, 6, 15].
2) Examples for μ Equals 3: For q = 22 or 23 , there exists
For 12 ≤ k ≤ 15, SSF2 ((RSk (S)) is exceptional. some databases for best known (linear) and upper bounds on
• BCH 16 = . . . = BCH 31 = 0 is the null code.
either the minimum distance for a fixed dimension or dimen-
Using for instance MAGMA [9], one can verify that all sion for a fixed minimum distance.
these BCH codes, except for d = 6 or 7, are optimal with the For μ = 3 we found some codes that reach or overpass best
meaning of, for a given length and a given dimension, they known or optimal linear codes over F8 .
have the best possible minimum distance. As previously, k denotes the dimension of the underlying
So, we can apply the results of Section V-E and derive some Reed-Solomon code.
exceptional subspace subcodes for μ = m − 1 = 4. Results for m = 4, n = 16 and μ = 3:
In Table I, the first column is the dimension of the • For k = 13, we obtain a [16, 12, 4]8 , which corresponds
code RSk (S). The second column gives the parameters of to an optimal linear code.
SS⊥F2 (RSk (S)). The third column gives the lower bound on the The optimality means that it does not exist an F8 -linear
dimension derived from Corollary 2. The last column gives the code of parameters [16, 12, 5] or [16, 13, 4].
value n μ − d, which corresponds to Near-MDS codes. Under • For k = 14, we obtain a [16, 13.33, 3]8 , which is better
the MDS conjecture, this value is an upper bound for a linear than any linear code in the meaning that it does not exist
code over Fq m of length n greater than q m + 3. A priori, this an F8 -linear code of parameters [16, 13, 4] or [16, 14, 3].
upper bound is not tight.
Sometimes, distinct values of k lead to the same code. Results for m = 5, n = 32 and μ = 3:
In that situation, we give the two values for k and for kb . • For k = 26, we obtain a [32, 22, 7]8 , which corresponds
Most of these codes have very nice parameters. For instance, to the parameters of the best know linear code in the
under the MDS conjecture, the dimension of an Fq m -linear meaning that we do not known if there is an F8 -linear
code of such length cannot excess n − d. code of parameters [32, 22, 8] or [32, 23, 7].
In particular, the best possible dimension for an F16 -linear 3) Tests on the Orthogonal Construction: Following the
codes of length 31 and respective minimum distance 3, 4 and approach of Sections V-F, we tried to found some exceptional
5 are 28, 27 and 26, so the codes with parameters [31, 28.75, codes for μ = 1 and to deduce exceptional codes for
3]16, [31, 27.5, 4]16 and [31, 26.25, 5]16 are better than any μ = m − 1.
F16 -linear code. Binary Goppa codes is an interesting subclass of Alternant
We do not know any data base on best known linear codes codes (cf. [19] Ch.12 &3). In particular, if the Goppa poly-
over F16 and it does not exist a tight upper bound on the size nomial g(z) used in this construction has no multiple zero,
of a non-linear code of fixed length, minimum distance and then g(z) and g(z)2 generate the same Goppa code. From
BERGER et al.: GENERALIZED SUBSPACE SUBCODES WITH APPLICATION IN CRYPTOLOGY 4653

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

s ≤ smax = (q − 1)/. The length of the code is then


m
A PPENDIX n = s.
A. Permutation Group of GRS Codes • We fix s disjoint orbits under σβ . Up to a cyclic shift,
they are of the form
To better understand some properties of Reed-Solomon
α i Sβ = (α i , α i β, α i β 2 , . . . , α i β −1 ), i ∈ [0, smax − 1].
codes, we need to recall some results on automorphism
• The support S of a quasi-cyclic Reed-Solomon code of
group of Reed-Solomon codes. More details on auto-
order  and index s is then the union of these s orbits.
morphism groups of Reed-Solomon codes can be found
in [1]–[3], [6], [11], [16]. The second one consists to choose a multiplier which
Let α be a primitive root of F∗q m , and n = q m − 1. We set preserves the quasi-cyclic structure. Following Section IV-C,
Sα = (1, α, α 2 , . . . , α n−1 ). It is well-known that the Reed- it can be done as follows:
Solomon codes of support Sα are cyclic. The shift permutation • We choose an element β  of order dividing 
of a cyclic Reed-Solomon code corresponds to the permutation (β  = β u for some u) and construct the -tuple
σα : x
→ αx of the support of the code. Sβ  = (1, β  , β 2 , . . . , β  ).
A cyclic Reed-Solomon code can be extended by • For each orbit choose a scalar λi ∈ F∗ q m , i ∈ [1, s]. The
adding a parity check symbol. This extended cyclic multiplier is then the union of the s -tuple λi Sβ  .
code is the Reed-Solomon code with support Sα = This algorithm is the one that is used in [5] to construct
(0, 1, α, α 2 , . . . , α n−1 ). This code is affine-invariant [1], [6], quasi-cyclic Alternant code in the context of the design of a
which means that it is invariant under any permutation of the public key cryptosystem.
support corresponding to an affine mapping σa,b : x
→ ax +b,
a ∈ F∗q m and b ∈ Fq m .
It is possible to extend a second times a cyclic C. Quasi-Dyadic GRS Codes
Reed-Solomon code by adding the ∞ point in the support. Our presentation of dyadic and quasi-dyadic codes is not
It is a bit technical and is described in detail in [11]. The those used in [13], [20], but leads to the same quasi-dyadic
main result is the fact that this doubly extended Reed-Solomon codes. In this section, we set q = 2. Our starting point is a
code is invariant under some automorphisms for which the subgroup of the translation group acting on F2m : {τβ : x

underlying permutation is an homography x
→ ax+b cx+d , a, b, c x + β | β ∈ F2m }.
and d in Fq , ac − bd = 0 and x ∈ Fq = Fq ∪ {∞}.
m m m Let r be an integer less or equal to m and n = 2r . Let
In addition, one can notice that the permutation group V be an Fq -subspace of Fq m of dimension r . The dyadic
generated by σα is transitive on F∗q m , the affine group is permutation group is then the group of translations PdyV =
doubly transitive on Fq m and the homographies group is triply {τβ | β ∈ V } acting on V or one of its translated V + γ .
transitive on Fq m . The quasi-dyadic permutation group is the same transla-
Applying one of these mapping to the support S of a tion group Pdy V , but acting on an union of s translates
Reed-Solomon code does not change the code. In particular, of V .
all the Reed-Solomon codes RSk (S) of length n = q m − 1 are To make the link with the usual presentation of dyadic
equivalent. The same property holds for Reed-Solomon codes matrices, it is necessary to order the support V as follows: if
of length q m or q m + 1 (with the ∞ point in the support). BV = (b0 , . . . , bvr−1 ) is a basis of V , we denote by VBV the
For any length n ≤ q m + 1 and any dimension k, if there support containing all the elements of V ordered by the lexico-
exists an homography which sends a support S on another graphic order induced by BV . For instance, if B = (b0 , b1 , b2 ),
support S  of size n, then there exists a multiplier such that then VB = (0, b0 , b1 , b0 +b1 , b2 , b0 +b2 , b1 +b2 , b0 +b1 +b2 ).
RSk (S) and GRSk (S  , ) are equal. A dyadic Reed-Solomon code of order 2r is then a
So it is always possible to fix arbitrary three distinct Reed-Solomon code of support VB .
points of the support S of a Reed-Solomon code. This A quasi-dyadic Reed-Solomon code of order 2r and index s
fact is used in cryptanalysis of cryptosystems based is a Reed-Solomon code having for support s translates of VB .
on GRS, Alternant or Goppa codes [12], [13], [21] and A quasi-cyclic GRS code is a GRS code having the same
in Section VI-B. support than a quasi-dyadic Reed-Solomon code, with multi-
Using the construction presented in Section IV-C, we are plier that is constant on each translate τγ (VB ).
able to construct some GRS codes with prescribed permuta- One can show that this construction is equivalent to those
tions groups. of quasi-dyadic Cauchy codes given in [20].
B. Quasi-Cyclic GRS Codes
Quasi-cyclic GRS codes arise when looking at the permu- ACKNOWLEDGMENT
tations of the support of the form σβ (x) = βx, β ∈ F∗q m of The authors would like to thank the anonymous referees
order |q m − 1. and Olivier Ruatta for their helpful comments, remarks, and
It can be done in two steps. suggestions.
BERGER et al.: GENERALIZED SUBSPACE SUBCODES WITH APPLICATION IN CRYPTOLOGY 4657

R EFERENCES [18] R. McEliece, “A public-key cryptosystem based on algebraic coding


theory,” DSN Prog. Rep., Jet Prop. Lab., California Inst. Technol.,
[1] T. P. Berger, “Cyclic alternant codes induced by an automorphism of Pasadena, CA, USA, Tech. Rep. 44, Jan. 1978, pp. 114–116.
a GRS code,” in Finite Fields: Theory, Applications, and Algorithms [19] F. J. MacWilliams and N. J. A. Sloane, The Theory of Error-Correcting
(Contemporary Mathematics), vol. 225, R. Mullin and G. Mullen, Eds. Codes. Amsterdam, The Netherlands: North-Holland, 1986.
Waterloo, ON, Canada: AMS, 1999, pp. 143–154. [20] R. Misoczki and P. S. L. M. Barreto, “Compact McEliece Keys from
[2] T. P. Berger, “On the cyclicity of Goppa codes, parity-check subcodes Goppa codes,” in Selected Areas in Cryptography (Lecture Notes
of Goppa codes, and extended Goppa codes,” Finite Fields Appl., vol. 6, in Computer Science), vol. 5867. Berlin, Germany: Springer, 2009,
pp. 255–281, Jul. 2000. pp. 376–392.
[3] T. P. Berger, “Goppa and related codes invariant under a prescribed [21] V. M. Sidelnikov and S. O. Shestakov, “On insecurity of cryptosystems
permutation,” IEEE Trans. Inf. Theory, vol. 46, no. 7, pp. 2628–2633, based on generalized Reed-Solomon codes,” Discrete Math. Appl.,
Nov. 2000. vol. 2, no. 4, pp. 439–444, 1992.
[4] T. P. Berger and N. E. Amrani, “Codes over L(G F(2)m , G F(2)m ), MDS [22] S. A. Spence, “Identifying high-dimension subspace subcodes of Reed-
diffusion matrices and cryptographic applications,” in Codes, Cryptol- Solomon Codes,” IEEE Trans. Inf. Theory, vol. 50, no. 6, pp. 1280–1282,
ogy, and Information Security (Lecture Notes in Computer Science), Jun. 2004.
vol. 9084, S. E. Hajji, A. Nitaj, C. Carlet, and E. Souidi, Eds. Cham, [23] C. Wieschebrink, “Cryptanalysis of the Niederreiter public key scheme
Switzerland: Springer, 2015, pp. 197–214. based on GRS subcodes,” in Post-Quantum Cryptography (Lecture Notes
[5] T. P. Berger, P.-L. Cayrel, P. Gaborit, and A. Otmani, “Reducing key in Computer Science), vol. 6061, N. Sendrier, Ed. Berlin, Germany:
length of the McEliece cryptosystem,” in Progress in Cryptology— Springer, 2010, pp. 61–72.
AFRICACRYPT, (Lecture Notes in Computer Science), vol. 5580,
B. Preneel, Ed. Berlin, Germany: Springer, 2009, pp. 77–97.
[6] T. P. Berger and P. Charpin, “The automorphism groups of BCH codes
and of some affine-invariant codes over extension fields,” Des., Codes
Cryptogr., vol. 18, pp. 29–53, Dec. 1999.
[7] T. P. Berger, P. Gaborit, and O. Ruatta, “Gabidulin matrix codes and
their application to small ciphertext size cryptosystems,” in Progress
in Cryptology—INDOCRYPT (Lecture Notes in Computer Science), Thierry P. Berger received the Ph.D. degree and the French Habilita-
vol. 10698, A. Patra and N. P. Smart, Eds. Cham, Switzerland: Springer, tion (Mathematics) from the University of Limoges, France. From 1998 to
2017, pp. 247–265. 2014, he was Professor in the Department of Mathematics and Computer and
[8] T. P. Berger and P. Loidreau, “How to mask the structure of codes for a the scientific head of the Cryptology and Information Security group.
cryptographic use,” Des., Codes Cryptograph., vol. 35, no. 1, pp. 63–79, He is currently Professor Emeritus at the University of Limoges. His
2005. research interests include finite algebra, automorphism group of codes, links
[9] W. Bosma, J. Cannon, and C. Playoust, “The magma algebra sys- between coding and cryptography, stream cipher and pseudorandom genera-
tem I: The user language,” J. Symbolic Comput., vol. 24, nos. 3–4, tors and dedicated block ciphers.
pp. 235–265, 1997.
[10] G. Cohen, I. Honkala, S. Litsyn, and A. Lobstein, Covering Codes
(North Holland Mathematical Library). Amsterdam, The Netherlands:
Elsevier, 1997.
[11] A. Dür, “The automorphism groups of Reed-Solomon codes,” J. Com- Cheikh Thiécoumba Gueye was Assistant Professor from 1997 to 2008 and
binat. Theory, A, vol. 44, no. 1, pp. 69–82, 1987. Associate Professor from 2008 to 2012 at Cheikh Anta Diop University of
[12] J. Faugère, A. Otmani, L. Perret, F. de Portzamparc, and J.-P. Tillich, Dakar (UCAD), Senegal, in the Department of mathematics and Computer
“Structural cryptanalysis of McEliece schemes with compact keys,” Des. Science.
Codes Cryptogr., vol. 79, no. 1, pp. 87–112, 2016. Since October 2012 he is Full Professor at Cheikh Anta Diop University
[13] J. Faugère, A. Otmani, L. Perret, and J.-P. Tillich, “Algebraic crypt- of Dakar (UCAD) and currently the head of the Laboratory of Algebra,
analysis of McEliece variants with compact keys,” in Advances Cryptology, Algebraic Geometry and Applications (LACGAA) of UCAD
in Cryptology—EUROCRYPT (Lecture Notes in Computer Science), His interests research is Coding Theory, Post-quantum Cryptography and
vol. 6110, H. Gilbert, Ed. Berlin, Germany: Springer, 2010, pp. 279–298. Communications Security and Reliability.
[14] E. M. Gabidulin and P. Loidreau, “Properties of subspace subcodes of
Gabidulin codes,” Adv. Math. Commun., vol. 2, no. 2, pp. 147–157,
2008.
[15] M. Hattori, R. J. McEliece, and G. Solomon, “Subspace subcodes
of Reed-Solomon codes,” IEEE Trans. Inf. Theory, vol. 44, no. 5,
pp. 1861–1880, Sep. 1998.
[16] W. C. Huffman, “Groups and codes,” in Handbook Coding Theory, Jean Belo Klamti achieved his PhD degree on 29 January 2018 at Cheikh
V. S. Pless and W. C. Huffman, Eds. Amsterdam, The Netherlands: Anta Diop University of Dakar (UCAD). He is member of DAGS team which
Elsevier, 1998, ch. 17. responsed to the NIST’s call for standardization of Post-quantum.
[17] J. Justesen and T. Høholdt, A Course in Error-Correcting Codes His research interests are Computational Algebra, Coding Theory, Post-
(Mathematical Society). Zurich, Switzerland: European Mathematical quantum cryptography, Pseudorandom Generators, Designing of Algorithms,
Society, 2004. Software and hardware Implementation.

S-ar putea să vă placă și