En mathématiques et en théorie des codes correcteurs d'erreur, les codes de Goppa, aussi appelé codes de géométrie algébrique, sont une généralisation des codes de Reed-Solomon. Les codes de Goppa sont construits à partir d'une courbe algébrique sur un corps fini . Dans le cas des codes de Reed-Solomon, la courbe en question est la droite projective, alors que les codes de Goppa généraux utilisent des courbes de genre plus élevé. De tels codes ont été proposés par V. D. Goppa. Parmi la famille des codes de Goppa, les codes dits hermitiens peuvent remplacer avantageusement les codes de Reed-Solomon.

Il ne faut pas confondre les codes de Goppa géométriques avec les codes de Goppa classiques, qui ne reposent pas sur la théorie des courbes algébriques sur les corps finis.

Codes géométriques modifier

Notions préliminaires modifier

Posons   une courbe algébrique projective non-singulière irréductible. Fixons   points rationnels de  :

 

et soit  , un diviseur de  , sur  , dont le support ne contient aucun des  .

Il existe un sous-espace vectoriel de dimension finie   du corps de fonctions de  , qui est constitué des fonctions rationnelles   sur   avec des zéros et pôles sujets à  . Autrement dit,   qui est une somme formelle de points de   sur la clôture algébrique de  , donne une borne inférieure pour l'ordre des zéros et une borne supérieure pour l'ordre des pôles de  .

Définition du code de Goppa modifier

Alors, pour une base fixe:

 

pour   sur  , le code de Goppa correspondant dans   est généré sur   par les vecteurs

 

De façon équivalente, on peut définir le code de Goppa comme l'ensemble de tous les vecteurs

 

  est dans  .

Codes de Goppa classiques modifier

Définition modifier

Utilisation modifier

Les codes de Goppa ont fait une apparition marginale en cryptographie dans le cryptosystème de McEliece.

Généralement, les codes de Goppa sont considérés comme de « bons » codes linéaires puisqu'ils permettent de corriger jusqu'à   erreurs. Aussi, ils se décodent efficacement, par les algorithmes d'Euclide et de Berlekamp-Massey, en particulier.

Bibliographie modifier

  • V.D. Goppa. Codes associated with divisors, Problems of Information Transmission, 12(1):22--27, 1977.