Vous êtes sur la page 1sur 7

Théorie de l'information et codage

Master de cryptographie

Cours : Codes cycliques

26 et 30 janvier 2009

Université Rennes 1

Master Crypto (2008-2009) Théorie de l'information et codage 26 et 30 janvier 2009 1 / 1


Dénition
Un code linéaire est dit cyclique si la permutation circulaire d'un mot du
code est un mot du code (σ([x0 , x1 , · · · , xn−1 ]) = [xn−1 , x0 , · · · , xn−2 ]).
Représentation polynomiale

n −1
x = [x0 , x1 , · · · , xn−1 ] ∈ Fn2 ←→ Px xi X i ∈ F2 [X ]
X
=
i =0
F2 est isomorphe à F2 [X ]/(X + 1) et Pσ(x ) (X ) = XPx (X ) mod (X n + 1)
n n

Théorème

Tout (n, k )-code cyclique admet une matrice génératrice


de la forme ci-contre avec m représenté par g un diviseur 
m

de X n + 1 de degré n − k . σ(m)
g est appelé polynôme générateur du code. Réciproque-
 
..
 
ment tout diviseur de X n + 1 est polynôme générateur .
 
 
d'un code cyclique. σ k −1 (m)
Master Crypto (2008-2009) Théorie de l'information et codage 26 et 30 janvier 2009 2 / 1
Codage/décodage
Codage

c représenté par Pc (X ) est codé par Pc (X )g (X ) mod X n + 1


Décodage

Le polynôme de contrôle de C est déni par


k −1
Xn + 1
h(X ) = = Xk + hi X i
X
g (X ) i =0
On a c ∈ C ⇔ h(X )Pc (X ) = 0 mod X n + 1.
Une matrice de contrôle de C est donc
1 hk −1 · · · h1 h0 0 · · · 0
 
 0 1 hk −1 · · · h1 h0 · · · 0 
.. . . .. .. .. ..
 
. . . . . .
 
 
0 ··· 0 1 hk −1 · · · h1 h0
Master Crypto (2008-2009) Théorie de l'information et codage 26 et 30 janvier 2009 3 / 1
Distance minimale des codes cycliques

Qr
Supposons que g (X ) = i =1 (X − ρi ). On a alors
c ∈C ⇔ g |Pc ⇔ ∀i ∈ {1, · · · , r }, Pc (ρi ) = 0.

1 ρ1 · · · ρ1n−1
 
 .. .. ..  est donc une matrice de contrôle.
 . . . 
1 ρr · · · n
ρr −1

Théorème

Soit C un (n, k )-code cyclique engendré par g . Soit α une racine primitive
n-ième de l'unité. Si g admet parmi ses racines δ puissances de α
successives, alors d ≥ δ + 1.

Master Crypto (2008-2009) Théorie de l'information et codage 26 et 30 janvier 2009 4 / 1


Codes BCH
But : construire un code cyclique de distance minimale donnée
Construction sur Fq , n premier avec q
Soit α une racine primitive n-ième de l'unité et l un entier.
Soit g le ppcm des polynômes minimaux de αl , αl +1 , · · · , αl +2t
g engendre un code (BCH) de distance minimale ≥ 2t + 1
Un code BCH déni sur Fq est dit primitif si n = q m − 1.
Codes de Reed-Solomon

C'est un code BCH primitif avec m = 1. Si α est un élément primitif de F∗q ,


l +Y
r −1
g (X ) = (X − αi )
i =l
engendre un code de taille q − 1, de dimension q − 1 − r et de distance
minimale (optimale) r + 1.

Master Crypto (2008-2009) Théorie de l'information et codage 26 et 30 janvier 2009 5 / 1


Correction d'erreurs des codes BCH (l=1)
On recoit c 0 = c + e avec e non nul aux places i1 · · · ir (0 ≤ ij ≤ n − 1).
On note Xj = αi et Yj = ei . On sait calculer c 0 (αj ) = e (αj ) (syndrome).
j
j

Le polynôme syndrome vaut


2t r
St (z ) = c 0 (αj )z j −1 avec c 0 (αj ) = Yk Xkj .
X X

j =1 k =1
Les ij sont donnés par les racines du polynôme localisateur d'erreur
r
σ(z ) = (1 − Xj z )
Y

j =1
Une fois les erreurs localisées (Xj ), Le polynôme évaluateur
r r
w (z ) = Xk Yk (1 − Xj z )
X Y

k =1 j =1,j 6=k
− 1
donne les valeurs des erreurs : Y` = X`−1 w (Xl−1 ) j 6=` (1 − Xj X` )
−1
Q
.
Master Crypto (2008-2009) Théorie de l'information et codage 26 et 30 janvier 2009 6 / 1
Calcul de σ et w
Théorème

deg(w ) <deg(σ), σ et w sont premiers entre eux et il existe λ tel que

w (z ) = St (z )σ(z ) + z 2t λ(z ).
On applique Euclide étendu entre z 2t et St (z )
ri (z ) = z 2t Vi (z ) + St (z )Ui (z )
jusqu'à ce que deg(rk < t ). On a alors σ(z ) = UU ((z0)) et w (z ) = Ur ((z0))
k

k
k

Algorithme de décodage

1 Calculer le polynôme syndrome.


2 Calculer les polynômes localisateur (σ ) et évaluateur (w ) à l'aide de
l'algorithme d'Euclide étendu (partiel).
3 Rechercher les racines de σ parmi les α−i .
4 Calculer les valeur des erreurs à l'aide de w .
Master Crypto (2008-2009) Théorie de l'information et codage 26 et 30 janvier 2009 7 / 1

Vous aimerez peut-être aussi