Interprétation matricielle des suites récurrentes linéaires et des codes quasi-cycliques Pierre-Louis Cayrel, Christophe Chabot, Abdelkader Necer Université de Limoges - XLIM - DMI - PI2C Colloque Franco-Algérien - 14/12/2007
1 Motivations Chirement à ot Chirement par blocs 2 SRL classiques Action de A[X ] sur A N Résultats principaux Application aux codes Sommaire 3 SRL à coecients matriciels Action de M l,l (F q )[X ] sur (F l q) N Résultats principaux Application aux codes 4 Codes quasi-cycliques Action de M l,l (F q )[X ] sur (F l q) m Résultats principaux 5 Conclusion
Motivations Chirement à ot : non réaliste générateur pseudo-aléatoire
Motivations LFSR (Linear Feedback Shift Register) : Polynôme de rétroaction : u t+l = c 1 u t+l 1 + c 2 u t+l 2 +... + c L u t. suite chirante = suite récurrente linéaire sur F 2.
LFSRs combinés : Motivations
Motivations Polynôme de rétroaction : u 1 t+l ut+l 1 1... =C 1... u m t+l ut+l 1 m +C 2 u 1 t+l 2... u m t+l 2 +...+C L suite chirante = suite récurrente linéaire sur F m 2. u 1 t... u m t où C i M m,m [F 2 ].
Motivations Chirement à base de codes : Système de Mc Eliece : Clefs privées : Clef publique : S M k,k [F] inversible. G M k,n [F] génératrice de C. Le produit SGP. P M n,n [F] permutation. Chirement : Déchirement : x xsgp + e (xsgp + e)p 1 = xsg + ep 1. décodage xs S 1 x Cryptanalyse : retrouver des paramètres du code à partir de la suite chirée.
Suites récurrentes linéaires classiques Soit A un anneau commutatif unitaire. Dénition : Une suite (u n ) n N d'éléments de A est dite récurrente linéaire s'il existe a 1,..., a h A tels que : u n+h = a 1 u n+h 1 + + a h u n, n 0. Exemple : la suite de Fibonacci u 0 = 0, u 1 = 1 u n+2 = u n+1 + u n, n 0.
Action de A[X ] sur A N Structure de A[X ]-module sur A N : X (u n ) n N = (u n+1 ) n N ( h ) ( h ) p i X i (u n ) n N = p i u n+i i=0 i=0 n N Exemple : u = (u n ) n N, v = (v n ) n N, v = (X 2 X 1) u. v n = u n+2 u n+1 u n, n 0.
Polynômes annulateurs Soit E A N. Dénition : Ann(E) := {P A[X ]/ u E, P u = 0} Exemple : A = Z/4Z,u = (2, 2,...), 2, X 1 Ann(u)
Polynômes caractéristiques Propriété : u est une SRL Ann(u) est un idéal coni (contient un polynôme unitaire). Dénition : Tout polynôme unitaire de Ann(u) est dit polynôme caractéristique de u. Si u n+h = a 1 u n+h 1 + + a h u n, n 0, f (X ) = X h a 1 X h 1 a h est un polynôme caractéristique de u.
Dénition : Si f A[X ], on note Ω(f ) := {u A N /f u = 0}. Exemples : Ω(X 1) = {suites constantes}. Ω(X 2 X 1) = {u A N /u n+2 = u n+1 + u n, n 0}. Si A = K est un corps, Ω(f ) est un K-e.v. de dimension deg(f ).
Résultats principaux Maintenant, on suppose que A = K est un corps. Théorème : Soit (u n ) n N K N, les assertions suivantes sont équivalentes : (u n ) n N est une suite récurrente linéaire. S(X ) = ( ) u n X n K(X ). S(X ) = P(X ) Q(X ), Q(0) 0 u n.. u n+h 1 = M n u 0.. u h 1.
Si P(X ) = h p i X i est un polynôme caractéristique de u, i=0 M = 0 1 0.... 0 0 1 p 1 p 2 p h
Exposant d'un polynôme On suppose ici que K = F q est un corps ni. (u n ) n N est une SRL (u n ) n N est périodique. Dénition : P F p [X ] est dit d'exposant e si P divise X e 1 et si P ne divise pas X f 1 pour f e 1. Théorème : Si P est irréductible de degré k et d'exposant e, alors e divise p k 1.
Application aux codes Soit f d'exposant e. Notons C(f ) := {u = (u 0,..., u e 1, u 0,..., u e 1,...)/f u = 0}. C(f ) est un code cyclique sur F q engendré par g(x ) avec (. X g(x ) = e 1 pgcd(f,x 1)) e
Action de M l,l (F q ) sur (F l q) N Considérons ici des suites d'éléments de A = F l q. Notons M = M l,l [F q ]. Structure de M[X ]-module à gauche sur A N : M[X ] A N A N (P(X ), V ) P V := où P(X ) = deg(p) i=0 p i X i. deg(p) i=0 p i v n+i n N
Suites récurrentes linéaires à coecients matriciels Dénition : Une suite (u n ) n N d'éléments de F l q sera dite récurrente linéaire à coecients matriciels s'il existe A 1,..., A h M l,l [F q ] telles que : u n+h = A 1 u n+h 1 + + A h u n, n 0. Mêmes dénitions : Ann(E) := {P M[X ]/ u E, P u = 0} Ω(f ) := {u (F l q) N /f u = 0}.
Résultats principaux Soit (u n ) n N une SRL de polynôme caractéristique h P(X ) = A i X i. Alors : i=0 G = 0 I l 0.... 0 0 I l A 0 A 1 A h 1 u n.. u n+h 1 = G n u 0.. u h 1 vérie :.
Polynôme caractéristique Proposition : Le polynôme caractéristique de G est donné par la formule : h 1 det(xi hl G) = det(x h I l + X i A i ). i=0 Exemple : l = 2, h = 3 sur F 2 00 det BB @@ X X X = det X X X 1 0 C B A @ 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 1 1 1 0 1 0 0 1 1 1 1 1 X 3 + X 2 + X + 1 1 X 2 + X + 1 X 3 + X 2 + X + 1 «11 CC AA
Théorème : Soient u (F l q) N et U(X ) F l q[[x ]] sa série génératrice. u est une SRL U(X ) est une fraction rationnelle Remarques : U(X ) = R(X ) Q(X ) avec R(X ) Fl q[x ] et Q(X ) M[X ] avec deg(r) < deg(q) et Q(0) inversible. Q(X ) U(X ) = R(X )
Application aux codes Soit f M[X ] réversible. Alors, il existe e N tel que : f divise X e 1. Notons C(f ) := {u = (u 0,..., u e 1, u 0,..., u e 1,...)/f u = 0}. C(f ) est un code cyclique sur F l q
Codes quasi-cycliques Soit n = ml. On considère l'identication : φ : F n=ml q (F l q) m =: A m (c 0,..., c n 1 ) ( (c 0,..., c l 1 ),..., (c (m 1)l,..., c n 1 ) ) C F ml q est l-quasi-cyclique φ(c) (F l q) m est cyclique.
Soit M := M l,l (F q ). Structure de M[X ] module à gauche : M[X ] A N A N (P(X ), V ) P V := deg(p) i=0 M[X ] A m A m (P(X ), c) P c := où P(X ) = deg(p) i=0 deg(p) i=0 p i v n+i n N p i c (n+i mod m) p i X i, V = (v n ) n N et c = (c 0,..., c m 1 ). n=0,...,m 1
(Re)-Dénition : Soient f M[X ]/ X m 1 et C un F q -ss-e.v. de A m. On note : Ω(f ) := {x A m /f x = 0} (F q -espace vectoriel). Ann(C) := {P M[X ]/ X m 1 /P c = 0, c C} (idéal à gauche de M[X ]/ X m 1 ).
Résultats principaux M[X ] est non commutatif. Ann(C) peut contenir un polynôme de degré minimal non réversible. Résultats négatifs : Ann(C) n'est pas forcément principal. En général, Ω(Ann(C)) C.
Résultats principaux Résultats positifs : Dans cette section, on considère f, Q M[X ]/ X m 1 réversibles tels que fq = X m 1. dim Fq (Ω(f )) = l deg(f ). Réponse impulsionnelle. Ann(Ω(f )) = f. Ann(Ω(f )) ne contient pas de polynôme de degré inférieur à deg(f ).
Résultats principaux Proposition : Ω(f ) = Q A m. (Q e i,j ) i=0,...,deg(f ) 1,j=0,...,l 1 est une famille libre. dimension. Théorème : Ω(f ) = Ω( t Q ). proposition précédente. étaler les calculs... Codes cycliques : X n 1 = g(x )h(x ), g(x ) = h (X ).
Conclusion SRL classiques : Action de polynômes à coecients scalaires. Polynôme caractéristique. Fraction rationnelle. Exposant. SRL à coecients matriciels : Action de polynômes à coecients matriciels. Polynôme caractéristique. Fraction rationnelle (dans un autre sens). Exposant. Codes quasi-cycliques : Cas particulier des SRL à coecients matriciels. Anneau non commutatif certains problèmes. Caractérisation du dual de Ω(f ).