Vous êtes sur la page 1sur 7

1

Imgage Binaire d’un Code


Cheikh Thiécoumba GUEYE

C ONTENTS

I Introduction 1

II Preliminaries 2
II-A Code linéaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
II-B Codes raccourcis et codes poinçonnés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
II-C Codes blocs sur E = Fm q . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
II-D Isométrie linéaire des codes m-bloc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
II-E q -ary images of a code of length n over Fq m . . . . . . . . . . . . . . . . . . . . . . . . . . 5

References 6
Abstract
La plupart des codes avec un algorithme de décodage algébrique sont dérivés des codes de Reed-Solomon.
Ils sont obtenus en prenant des codes équivalents, par exemple, les codes de Reed-Solomon gén’eralisés, ou en
utilisant la méthode dite de sous code sur le corps premier, qui conduit á des codes alternants sur le corps premier
sous-jacent, ou sur un sous corps intermédiaire. Le principal avantage de ces constructions est de préserver á la fois
la distance minimale et l’algorithme de décodage du code de Reed-Solomon sous-jacent.
Dans ce cours, nous explorons en détail la construction de sous-codes sur des sous espaces vectoriel. Ce genre
de codes a été étudié dans le cas particulier des codes cycliques Reed-Solomon. Nous étendons cette approche á
un code linéaire sur l’extension d’un corps fini. Nous nous intéressons aux codes additifs qui sont profondément
reliés aux subfield subcodes-. Nous caractérisons les duaux des sous-codes sur les sous-espaces vectoriels. Nous
introduisons la notion de sous-codes sur les sous-espaces vectoriels généralisés. Nous appliquons nos résultats aux
codes de Reed-Solomon généralisés qui ménent á des codes avec des paramétres intéressants, en particulier sur un
grand alphabet. Pour conclure notre document, nous discutons de la sécurité de l’utilisation de sous-codes sur les
sous-espaces vectoriels généralisés des codes de Reed-Solomon dans un contexte cryptographique.

Index Terms
Additive code, subfield subcode, subspace subcode, punctured code, shortened code, projected code.

I. I NTRODUCTION
La notion de sous-codes sur les sous-espace vectoriels des codes de Reed-Solomon (SS-RS) a été introduite au
milieu des années 1990 par Hattori et al. [15]. Toutefois, ce travail ne concerne que les sous-codes sur les sous-
espaces vectoriels des codes cycliques de Reed-Solomon de longueur q m − 1 sur les corps fini Fqm . Le probléme
était de trouver une formule exacte pour la dimension des sous-codes sur les sous-espace vectoriels en fonction des
racines du polynomial générateur du code cyclique.
Notre approche est plus générale puisque nous examinons les propriétés des sous-codes sur les sous-espaces
d’un code linaire sur Fqm quelconque. Nous généralisons également l’étude aux sous-codes sur les sous-espaces
généralisés, pour lesquels les sous-espaces de projection peuvent varier d’une coordonnée á une autre.
Ce document est organisé comme suit : dans la section II nous rappelons quelques définitions et résultats dans
la théorie des codes. Nous examinons en particulier les notions de codes raccourcis et poinçonnés, la notion de
Cheikh Thiécoumba GUEYE is with Université Cheikh Anta Diop, Faculté des Sciences et Techniques, DMI, LACGAA, Dakar, Sénégal,
cheikht.gueye@ucad.edu.sn
The course were supported in part by CEA-MITIC for CBC project and the government of Senegal’s Ministry of Hight Education and
Research for ISPQ project.
2

codes additifs sur Fqm et leur lien avec les images q -aire d’un code défini sur Fqm . Nous précisons également les
différentes notions d’équivalence dans le contexte des codes m-bloc sur Fqm .
La section III est consacrée á l’étude des subspace subcodes(sous-codes sur les sous-espaces) et de leurs duaux,
les codes projetés. Nous précisons ces notions dans le contexte de image q -aire et nous expliquons pourquoi les
sous-codes sur les sous-corps(subfield subcodes) et les codes trace sont des cas particuliers de sous-codes sur les
sous-espaces et de codes projetés.
Dans la section IV nous généralisons les notions de sous-codes sur le sous-espaces et de codes projetés en
modifiant les projections sur chaque bloc d’un code additif sur Fqm . Dans le cas particulier des sous-espaces de
dimension 1 ou m − 1, nous clarifierons le lien entre les generalized subspace subcodes (les sous-codes sur les
sous-espaces généralisés) d’un code C et les subspaces subcodes des codes Fqm -linéairement équivalents de C . Nous
donnons également une caractérisation des projections qui préservent certains éléments du groupe de permutation
du code parent.
Dans la section ?? nous donnons des résultats dans le contexte des codes Reed-Solomon et des codes Reed-
Solomon généralisés et donnons quelques exemples. Nous introduisons également la notion de sous-codes sur les
sous-espaces particuliers. Dans ce cas particulier, nous introduirons une construction orthogonale de sous-codes sur
les sous-espaces et fournir quelques exemples intéressants.
Enfin, dans la section ?? nous présentons quelques résultats sur la sécurité des sous-codes sur les sous-espaces
généralisés de Reed-Solomon pour les applications cryptographiques. En particulier, nous étendons l’attaque Sidel’nikov
Shestakov aux codes qui sont GLq (m)-équivalent par multiplication á une image q -aire d’un code de Reed-Solomon
généralisé. Nous introduisons un algorithme efficace pour une recherche exhaustive des projections pour un sous-
code sur les sous-espaces d’une image q -aire d’un code. Nous concluons en montrant que l’attaque par folding
présentée dans [12] [13] est valable également pour les sous-codes sur les sous-espaces généralisés des codes quasi
cycliques ou quasi-dyadiques induits des codes de Reed-Solomon.

II. P RELIMINARIES
A. Code linéaire
Soit Fqm un corps fini de cardinal q m . On appelle code linaire C de longueur n et de dimension k ≤ n coefficeint
sur Fqm ou [n, k]qm -linéaire code, tout sous-espace vectoriel de Fnqm de dimension de k .
Tout vecteur de Fnqm es appelé mot et tout élément de C est appelé mot de code.
On appelle distance entre deux mots x = (x1 , ..., xn et y = (y1 , ..., yn ) de Fqm le nombre not d(x, y) correspon-
dant au nombre coefficients ou des positions qui les différencient c’est-á-dire
d(x, y) = card ({i tel que xi 6= yi })
On appelle distance minimale d’un code la plus petite des distances entre deux mots de code distincts.
lorsqu’un code C est un code Fqm -linaire de longueur n, de dimension k et de distance minimale d, il sera dit
[n, k, d]qm -linaire.
On appelle matrice génératrice d’un code linaire C une matrice dont les lignes forment une base de C .
On appelle la capacité de détection d’un code linaire, le nombre des erreurs qu’il peut détecter et la capacité de
détection d’un code le nombre d’erreurs qu’il peut corriger. Ainsi, lorsqu’un code linéaire est de distance minimale
d−1
d, il peut détecter t = d − 1 erreurs et corriger e = b c erreurs.
2

B. Codes raccourcis et codes poinçonnés


Le raccourcissement et la poinçonnage des mots-codes sont des transformations classiques sur les codes. Le
lecteur peut se reférer par exemple [10], [19], [17] pour plus de détails.
Soit C un code linéaire [n, k, d] et I un sous-ensemble de {1, 2, ..., n}.
Definition 1:
Le code poinçonné de C sur les positions I est le code P unctI (Cc) obtenu á partir des mots de code de C en
supprimant les coordonnées indexées par I .
Nous dénotons par C˜I le sous-code de C constitué les mots c = (c1 , ..., cn ) ∈ C tels que ci = 0 pour tous les
i ∈ I , cela signifie que: C˜I = {c = (c1 , ..., cn ) ∈ C | ci = 0, ∀i ∈ I}.
3

Definition 2:
Le code raccourci de C sur les positions I est le code ShortI (C) obtenu en poinçonnant son sous-code C˜I sur I .
Ainsi: ShortI (C) = PunctI (C˜I ).
Si I = {j}, nous notons PunctI (C) par Punctj (C) et ShortI (C) de Shortj (C).
Soit C un code [n, k, d]-linéaire et i un entier tel que 1 ≤ i ≤ n. Si les paramtres de Puncti (C) et Shorti (C)
sont respectivement [n − 1, kp , dp ] et [n − 1, ks , ds ], alors ds ≥ d, ds ≥ dp ≥ d − 1 et, si Puncti (Cc) 6= Shorti (C),
alors kp = k et ks = k − 1.
Plus généralement, si |I| = r, alors nous avons ds ≥ d, ks ≥ k − r, dp ≥ d − r et kp ≥ k − r.
La proposition suivante est un résultat bien connu décrivant le lien entre les codes poinçonnés ([17] p. 91 Lemma
8.5.1):
Proposition 1: Le dual d’un code raccourci est le poinçonnés du code dual sur les mêmes positions : (ShortI (C))⊥ =
PunctI (C ⊥ ).

C. Codes blocs sur E = Fm


q
Dans cette section, nous définirons la notion de codes bloc pour lesquels une lettre de l’alphabet n’est pas un seul
élément d’un corps fini Fq , mais un m-uplet d’éléments de Fq . Comme nous le verrons dans la section ??, cette
notion apparaı̂t naturellement alors nous voulons représenter par exemple un élément de l’extension F28 comme un
byte, i.e. en un élément de F82 . Dans cette situation, la métrique pertinente n’est pas nécessaire au niveau binaire,
mais plutôt au niveau des m-bloc. Par conséquent, nous allons introduire la notion de codes bloc, i.e. codes ayant
pour alphabet l’ensemble de m-uplets E = Fm q . Pour plus de détails sur les codes blocs, le lecteur peut se reférer
á [4].
Definition 3: Soit (A, +) un groupe additif. Un code additif de longueur n sur A est un sous-groupe additif de
(An , +).
Definition 4: Un code m-bloc de longueur n sur E = Fm n
q est un code additif défini sur le groupe additif (E , +)
qui est stable par multiplication d’un scalaire λ de Fq . L’entier m est la taille des blocs.
Notez que la condition sur la multiplication par un scalaire n’est pas nécessaire si q = p est un nombre premier.
Puisque En est un Fq -espace vectoriel de dimension nm isomorphe á Fnm q , un code bloc est également un code
Fq -linéaire de longueur nm. Toutefois, dans ce papier, nous ne sommes pas intéressés par les propriétés du code
comme code de longueur nm, mais par ses propriétés de codes blocs. En particulier, nous examinons son poids
bloc wm , qui indique le nombre blocs non nuls.
étant donné qu’un code bloc C est un code linéaire sur Fq , il est possible de définir la notion de matrice de
génératrice, qui n’est rien d’autre que la matrice de génératrice du code considéré comme code linéaire de longueur
mn sur Fq . Même s’il est possible de construire le dual du code Fq -linéaire de longueur nm, la notion de dualité
pour le code bloc n’est pas dit tout évident. Pour plus de détails sur les codes blocs additifs, certaines généralisations
des matrices de génératrice et une notion de dualité de code bloc peuvent être trouvées dans [4].
Pour permettre la comparaison de codes m-bloc avec les codes Fqm -linéaires, nous utilisons la notation suivante
pour les paraméres comme un code C qui est soit un code m-bloc ou un code Fqm -linéaire : [n, k, d]qm , oú n est
la longueur du code m-bloc, k = logqm (|C|) est la pseudo-dimension de C par rapport au cardinal de l’alphabet
Fm q et d est sa distance bloc minimum. Si un code est Fq m -linéaire, sa pseudo-dimension n’est rien d’autre que sa
dimension. En plus, un code m-bloc est un code linëaire sur Fq de longueur mn, donc sa pseudo-dimension n’est
pas nécessairement un entier, mais c’est toujours un nombre rationnel avec un dénominateur divisant m.
Dans la suite, nous utilisons les notations suivantes pour les mots de code m-bloc: Si x ∈ En , nous avons défini
x = (x1 , ..., xn ) et xi = (xi,1 , ..., xi,m ) ∈ E.

D. Isométrie linéaire des codes m-bloc


Il est bien connu [16] que les isométries linéaires pour la distance Hamming sur Fqnm forment un groupe généré
par les permutations du support et les multiplications scalaires par des éléments inversibles de Fqm sur chaque
coordonnée. D’un point de vue matriciel, c’est le groupe monômes M onn (Fqm ) des matrices de taille n × n sur
Fqm avec un seul et unique élément non nul sur chaque ligne et chaque colonne.
Ces résultats peuvent être étendus aux codes blocs. De toute évidence, si nous permutons les coordonnées (du
point de E) d’un code m-bloc C de longueur n, nous obtenons un autre code m-bloc C 0 avec les même longueur,
pseudo-dimension et distance m-bloc.
4

Plus précisément, si π ∈ Sym(n) est une permutation du groupe symétrique agissant sur {1, ..., n}, puis π(x) =
(xπ−1 (1) , ..., xπ−1 (n) ). Une permutation appliqué aux mot de codes peut être représentée par une multiplication des
mots de code par sa représentation matricielle á droite . Cependant, dans le cas des codes blocs, nous devons être
attentif sur le niveau auquel nous travaillons, car il est possible de travailler avec matrices de taille n × n si nous
sommes sur E n ou une matrices nm × nm lorsque on est sur Fnm q .
Pour une permutation donnée π ∈ Symn , nous notons par Π la matrice de permutation de la taille n × n et par
Π = Π ⊗ Im la matrice de taille nm × nm correspondante. Par exemple, si
n = 3, m = 2 et π est la permutation circulaire
 de trois éléments
0 0 1 0 0 0
   0 0 0 1 0 0 
0 1 0  
 0 0 0 0 1 0 
Π = 0 0 1 et Π =  0 0 0 0 0 1 .

1 0 0 
 1 0 0 0 0 0 

0 1 0 0 0 0
L’opération correspondant aux multiplications scalaires consiste á appliquer des automorphismes linéaires de E
sur chaque coordonnée (en tant qu’élément de E ). Soit GLq (m) le groupe de matrices inversibles de taille m á
coefficients sur Fq . Si x ∈ E et M ∈ GLq (m), alors l’application x 7→ xM est un automorphisme linéaire de E et
GLq (m) est isomorphe au groupe d’automorphismes linaires de E.
Soit L = (M1 , ..., Mn ) ∈ GLq (m)n un ensemble ordonné d’éléments de GLq (m). Il est facile de vérifier que
l’application x = (x1 , ..., xn ) 7→ L(x) = (x1 M1 , ..., xn Mn ) est une isométrie linéaire pour la distance m-bloc.
D’un point du point de vue matriciel, il consiste á multiplier á droite les éléments de En = Fnm q par la matrice
n-bloc diagonale Diag(L) = Diag(M1 , ..., Mn ).
Un tel ensemble L est appelé multiplicateur. Le théoréme suivant donne une caractérisation compléte des
isométries pour la distance m-bloc.
Theorem 1: Les Fq -isométries de En (i.e. isomorphismes linéaires préservant le Hamming poids bloc) est le
groupe généré par les m-bloc permutations et les m-bloc multiplicateurs.
Proof: Nous avons déjá vu que m-bloc permutations et multiplicateurs sont des isométries linéaires.
Réciproquement, soit g une isométrie de En . Nous regardons les images d’éléments de En de poids de bloc 1
par g . Pour 1 ≤ i ≤ n, soit Vi le sous-espace des éléments de En tel que tous les composants de bloc sont égaux
á 0, sauf le i-iéme terme: si x ∈ Vi , alors x = (0, ..., 0, xi , 0, ..., 0), xi ∈ E. Soit un élément x ∈ Vi . Puisque g
est une isométrie par bloc, y = g(x) ∈ Vj pour un j , avec 1 ≤ j ≤ n. Supposons qu’il existe un autre élément
x0 ∈ Vi de telle sorte que g(x0 ) ∈ Vj 0 , avec j 6= j 0 . Clairement wm (x + x0 ) = 1 et wm (g(x + x0 )) = 2. Cela
implique que g(Vi ) = Vj . Ainsi, g agit comme une permutation sur l’ensemble des Vi , ce qui définit une partie de
la permutation-bloc de notre isomérie. En appliquant l’inverse de cette permutation á g , nous pouvons maintenant
supposons que, pour tous les i, g(Vi ) = Vi . Si gi est la restriction de g á Vi , gi doit être Fq -linaire, d’ailleurs,
puisque gi préserve le poids du bloc, alors Ker(gi ) = 0, donc gi est un automorphisme, et g est un multiplicateur.

Nous sommes maintenant en mesure de définir la notion d’équivalence des codes blocs.
Definition 5: Soient C et C 0 deux code m-bloc de longueur n sur E. Le code C et C 0 sont equivalents s’il existe
une isometrie f = L ◦ π , (ou L est multiplieur et π une permutation) telle que C 0 = f (C).
Pour simplifier la présentation de nos résultats, nous introduisons trois notions plus restrictives d’équivalence des
codes.
Definition 6: Soient C et C 0 deux code m-bloc de longueur n sur E.
0 0
• C et C sont equivalent par permutation s’il existe une permutation π ∈ Sym(n) telle que C = π(C).
0 n 0
• C et C sont equivalent par multiplieur s’il existe un multiplieur L ∈ GLq (m) tel que C = L(C).
0 0
• C et C sont scalaire equivalent s’il existe une matrice M ∈ GLq (m) telle que C = LM (C) ou LM est le
“scalaire” multiplieur (M, ..., M ).
Si m = 1, la multiplication par M ∈ GLq (m) correspond á la multiplication par un élément β ∈ F∗q . Ainsi, la
notion d’équivalence scalaire est triviale, puisqu’elle est juste la multiplication des mots de code par un scalaire β .
Toutefois, cette notion d’équivalence á un sens pour des codes m-bloc avec m > 1.
Il n’y a pas de notion naturelle de dualité pour la structure de bloc d’un code Fq -linear sur En . Toutefois, nous
pouvons examiner le dual d’un code bloc C considéré comme un code de longueur nm sur de Fq .
5

Proposition 2: Soit C un code additif de longueur n sur E. Soient L = (M1 , ..., Mn ) ∈ GLq (m)n un multiplieur
et C 0 = L(C). Soit L∗ = ((M1−1 )T , ..., (Mn−1 )T ) ∈ GLq (m)n . La relation entre le duel de C et le duel de C 0 est:
C 0⊥ = L∗ (C ⊥ ).
Proof: Soit < ., . > le produit scalaire defini sur Fnm n n
q . Si x = (x1 , ..., xn ) ∈ E et y = (y 1 , ..., y n ) ∈ E ,
n
XX m X n
alors on aura < x, y >= xi,j yi,j = xi y Ti . En appliquant cette propriete a L(x) et L∗ (y), on obtient
i=1 j=1 i=1
n
X Xn
< L(x), L∗ (y) >= xi Mi (y i (Mi−1 )T )T = xi Mi Mi−1 y Ti =< x, y >.
i=1 i=1
Par consequent < x, y >= 0 si et seulement si < L(x), L∗ (y) >= 0.
En outre, il est facile de vérifier que le dual d’un code bloc permuté est le permuté de son dual.

E. q -ary images of a code of length n over Fqm


La plupart des exemples de codes m bloc apparaissent lorsque vous souhaitez représenter un code sur une
extension de corps Fqm avec les éléments du corps premier, généralement F2 pour q = 2.
Comme d’habitude dans cette situation, nous fixons une base B = (b1 , ..., bm ) de Fqm sur Fq . Nous posons φB
l’isomorphisme Fq -linear Fqm 7→ Fm q correspondant.
L’application φB peut être étendue á Fnqm : si c = (c1 , ..., cn ) ∈ Fnqm , alors ΦB (c) = (φB (c1 ), ..., φB (cn )).
Definition 7: L’image q -aire d’un code C relativement a la base B est l’image Imq (C) = ΦB (C) de C par ΦB .
Le code Imq (C) est clairement un code Fq -lineaire de longueur nm. Il peut également être considéré comme
un code m-block de longueur n. Notez que ce code dépend du choix de la base B . La proposition suivante décrit
l’effet d’un changement de base de projection. Sa preuve est une vérification simple.
Proposition 3: Soient B et B 0 deux bases de Fqm sur Fq . Soit M ∈ GLq (m) la matrice de changement de base
de B a B 0 , i.e. la matrice telle que φB0 (c) = φB (c)M pour tout c ∈ Fm q . L’image q -aire ΦB0 (C) d’un code C
relativement a la base B 0 est scalaire equivalent par le multiplieur LM a son image q -aire ΦB (C) par ΦB .
Si nous voulons construire une matrice génératrice G de Imq (C) sur Fq á partir des matrices G de C sur Fqm ,
puisque Imq (C) n’est pas Fqm -lineaire, nous devrons prendre les multiples des lignes de G par les éléments de Fqm .
En fait, il suffit de prendre m multiples qui sont Fq -linéairement indépendants.
Pour les besoin de ce document, nous devons introduire une matrice génératrice spécifique de l’image q -aire
d’un code C . Pour tout élément β ∈ Fqm , l’application φβ : x 7→ βx est un automorphisme Fq -lineaire de Fqm . Son
image par φB est un automorphisme de Fm q . Nous posons Mβ la matrice de l’automorphisme correspondant : avec
des notations évidentes, si φB (x) = (x1 , ..., xm ) puis φB (βx) = (x1 , ..., xm )Mβ .
Proposition 4: Si G = (βi,j ) est une matrice génératrice de taille k × n d’un code C , alors la matrice G de taille
km × nm obtenue en remplacant chaque element βi,j sa matrice correspondamte Mβi,j de taille m × m est une
matrice génératrice de Imq (C) sur Fq . En outre, la matrice G est de rang complet km.
Proof: Le fait que G génére le code complet Imq (C) provient directement du fait que ΦB est un isomorphisme.
En outre, les deux codes ont le même nombre de éléments, ce qui implique que G est de rang km.
Comme conséquence directe, nous obtenons le corollaire suivant :
Corollary 1: Si C est un [n, k, d] code Fqm -lineaire alors Imq (C) est un [nm, km, dq ≥ d] code Fq -lineaire.
Notez que si nous regardons Imq (C) comme un code m-bloc, ses paramétres m-block sont [n, k, d]qm .
La construction décrite dans proposition 4 est d’une grande importance pour reconstruire un code Fqm -lineaire
á partir d’une de ses image q -aire. C’est pourquoi nous introduisons la définition suivante :
Definition 8: Soit C un code Fqm -lineaire et C son image q -aire par rapport á B . Si G est une matrice génératrice
de C , la matrice G décrite dans Proposition 4 est appelé image q -aire de G (par rapport á la base B ).
La propriété principale d’une matrice génératrice qui est une image canonique q -aire d’une matrice génératrice
sur Fqm est possibilité d’extraire les matrices q -aires de taille m × m qui correspondent á une représentation des
elements du corps fini Fqm . En particulier, ces matrices sont soit 0 ou sont dans un même groupe cyclique d’ordre
q m − 1 qui est stable par addition si nous ajoutons la matrice nulle. Ainsi, á partir d’une image canonique q -aire,
il est possible de reconstruire Fqm et le code C (jusqu’á l’identification de Fqm avec sa représentation de groupe
matricielle).
6

En outre, notez que, á une permutation prés du support, un code C admet toujours un matrice generatrice
systématique. Il est facile de voir que l’image canonique q -aire d’une matrice génératrice systématique est elle-
même la matrice génératrice systématique de l’image q -aire =q (C). Ainsi, si un code m-bloc C est une image de
q -aire d’un autre code C sur l’extension Fqm , il est toujours possible de récupérer l’extension de depart.
Si B est une base de Fqm sur Fq , la base duale B ∗ de B est l’unique base de Fqm sur Fq telle que, pour tout
élément β ∈ Fqm , si Mβ est la matrice correspondant á la multiplication par β dans la représentation associée á B ,
la matrice correspondant á la multiplication par β associé á B ∗ est son transpose MβT .
La proposition suivante décrit le lien entre la dualité sur Fq et la dualité sur Fqm .
Proposition 5: Soit C un code sur Fqm et C ⊥ son Fqm -dual. Le dual de l’image q -aire de C relativement a la
base B est l’image q -aire de son dual C ⊥ relativement a la base duale B ∗ of B .
Proof: Soit G = (βi,j ) et H = (γi,j ) respectivement une matrice generatrice de C de son dual C ⊥ . Une
matrice generatrice de l’image q -aire de C relativement a B , resp. de C ⊥ relativement a B ∗ est G = (Mβi,j ), resp.
H = (MγTi,j ). Par definition nous avons G × HT = 0, ce qui implique que

G × H T = (Mβi,j ) × (MγTi,j )T = 0.

Example 1: Nous choisissons q = 2 et m = 3. Ainsi ,Fqm = F2 (α), oú α est une racine de X 3 + X + 1.
L’identification entre F8 á F23 se fait á l’aide de la base B = (1, α, α2 ).
La matrice suivante est une matrice génératrice d’un code Reed-Solomon de paramétres [7, 2, 5]8 sur F8 . Un tel
code sera défini dans la section ??. Il est noté RS2 puisque sa dimension est de 2.

1 0 α α4 α6 α3 α2
 
G= .
0 1 α3 α5 α2 α α6
 
0 1 0
La reprsentation matricielle de la multiplication par α en F32 est Mα = 0 0 1.
1 1 0
Pour i ∈ [1, 7], Mαi = Mαi . Ainsi, nous pouvons construire la matrice gnratrice canonique de son image binaire
C par rapport B :
 
100 000 010 001 101 110 001
 010 000 001 111 100 011 110 
 
 001 000 110 101 010 111 011 
G=  
 000 100 110 111 001 010 101 

 000 010 011 101 110 001 100 
000 001 111 100 011 110 010

En tant que code 3 blocs, les paramétres de C sont [7, 2, 5]8 . En tant que code binaire, ses paramétres sont
[21, 6, 7]2 (sa distance minimale d a été calculée á l’aide de MAGMA [9]).

R EFERENCES
[1] T. P. Berger. “Cyclic alternant codes induced by an automorphism of a GRS code”, In R. Mullin and G. Mullen, editors, Finite fields:
Theory, Applications and Algorithms, vol. 225, pp. 143–154, Waterloo, Canada, 1999. AMS, Contemporary Mathematics.
[2] T. P. Berger. “On the cyclicity of Goppa codes, parity-check subcodes of Goppa codes and extended Goppa codes”, Finite Fields and
Applications, vol. 6, pp. 255–281, 2000.
[3] T. P. Berger. “Goppa and related codes invariant under a prescribed permutation”, IEEE Trans. Inform. Theory, vol. 46(7), pp. 2628–
1233, 2000.
[4] T. P. Berger and N. E. Amrani, “Codes over L(GF(2)m , GF(2)m ), MDS diffusion matrices and cryptographic applications,” in Codes,
Cryptology, and Information Security - C2SI 2015, Proceedings, ser. Lecture Notes in Computer Science, S. E. Hajji, A. Nitaj, C. Carlet,
and E. M. Souidi, Eds., vol. 9084. Springer, 2015, pp. 197–214.
[5] T. P. Berger, P. Cayrel, P. Gaborit, and A. Otmani, “Reducing key length of the McEliece cryptosystem,” in Progress in Cryptology -
AFRICACRYPT Proceedings, ser. Lecture Notes in Computer Science, B. Preneel, Ed., vol. 5580. Springer, 2009, pp. 77–97.
[6] T. Berger and P. Charpin. “The automorphism group of BCH codes and of some affine-invariant codes on an extension field”, Design,
Codes and Cryptography, vol. 18 pp. 29–53, 1999.
7

[7] T. P. Berger, P. Gaborit and O. Ruatta, “Gabidulin Matrix Codes and Their Application to Small Ciphertext Size Cryptosystems,” In
Patra, A. and Smart N.P., ed.: Progress in Cryptology - INDOCRYPT ’17. vol. 10698 of LNCS., Springer (2017) 247–265
[8] T. P. Berger and P. Loidreau, “How to mask the structure of codes for a cryptographic use”, Des. Codes Cryptography, vol. 35, no. 1,
pp. 63–79, 2005.
[9] W. Bosma, J. Cannon, and C. Playoust, “The Magma algebra system. I. The user language”, Journal of Symbolic Computation, vol. 24,
no. 3, p. 235-265, (1997)
[10] G. Cohen, I Honkala, S. Lytsin and A. Lobstein, “Covering codes” North Holland Mathematical Library, 1997.
[11] A. Dür, “The automorphism group of Reed–Solomon codes”. Journal of Combinatorial Theory, series A, 4(1), 1987.
[12] J. Faugère, A. Otmani, L. Perret, F. de Portzamparc and J. Tillich, “Structural cryptanalysis of McEliece schemes with compact keys,”
Des. Codes Cryptography, vol. 79, no. 1, pp. 87–112, 2016.
[13] J. Faugère, A. Otmani, L. Perret and J. Tillich, “Algebraic cryptanalysis of McEliece variants with compact keys,” in Advances in
Cryptology - EUROCRYPT 2010, Proceedings, ser. Lecture Notes in Computer Science, H. Gilbert, Ed., vol. 6110. Springer, 2010,
pp. 279–298.
[14] E. M. Gabidulin and P. Loidreau. “Properties of subspace subcodes of Gabidulin codes,” Adv. in Math. of Comm., 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. Information Theory, vol. 44,
no. 5, pp. 1861–1880, 1998.
[16] W.C. Huffman, “Groups and codes” in V.S. Pless and W.C. Huffman, editors, Handbook of Coding Theory, chapter 17. Elsevier,
Amsterdam, The Netherlands, 1998.
[17] Justesen, J., Høholdt, T.: A course in Error-correcting Codes. European Mathematical Society (2004)
[18] R. McEliece, “A public-key cryptosystem based on algebraic coding theory” DSN Prog. Rep., Jet Prop. Lab., California Inst. Technol.,
Pasadena, CA (January 1978) pp. 114–116.
[19] F.J. MacWilliams and N.J.A. Sloane, “The Theory of Error Correcting Codes” North-Holland, Amsterdam, 1986.
[20] R. Misoczki and P.S.L.M. Barreto. “Compact McEliece Keys from Goppa Codes”. In Selected Areas in Cryptography - SAC 2009,
volume 5867 of Lecture Notes in Computer Science, pages 376-392. Springer, 2009.
[21] V. M. Sidel’nikov and S. O. Shestakov. “On cryptosystems based on generalized Reed-Solomon codes,” Discrete Mathematics, vol. 4,
no. 3, pp. 57–63, 1992.
[22] S. A. Spence, “Identifying High-Dimension subspace subcodes of Reed-Solomon Codes”, IEEE Trans. Information Theory, vol. 50,
no. 6, pp. 1280–1282, 2004.
[23] C. Wieschebrink, “Cryptanalysis of the Niederreiter public key scheme based on GRS subcodes,” in Post-Quantum Cryptography,
PQCrypto 2010, Proceedings, ser. Lecture Notes in Computer Science, N. Sendrier, Ed., vol. 6061. Springer, 2010, pp. 61–72.

Vous aimerez peut-être aussi