WikiDer > Goppa-Codes

Goppa Codes

EIN binärGoppa-Code, allgemein nur als Goppa-Code bezeichnet, ist ein fehlerkorrigierender Code. Der Code ist nach dem russischen Mathematiker benannt Velerii Denisovich Goppa. Im McEliece-Kryptographie Beispielsweise werden binäre Goppa-Codes verwendet. Ein binärer Goppa-Code unterscheidet sich von a Algebraischer Goppa-Code.

Bedingungen

Es gibt mehrere Definitionen für einen Goppa-Code. Hier arbeiten wir an einer Polynomdefinition. Bevor wir das tun können, benötigen wir einige Parameter. Die folgenden Daten sind für einen Goppa-Code üblich:

  • Wählen mit .
  • Der Code wird über die . definiert Körper. Benennen Sie die Reihe der einzelnen Elemente aus diesem Körper, lexikographisch geordnet.
  • Für die Anzahl der Fehler, die durch den Code korrigiert werden können, t, wir wählen . Vor dem sind zum Beispiel t = 32, t = 70, oder t = 100.
  • Nimm jetzt wie ein irreduzibel monisch Polynom von Gradt.
  • spät .

In diesem Fall gilt, dass .

Definition

Eine Definition des Goppa-Codes , ist jetzt

Die Polynome , kann als Vektoren über angesehen werden .

Sie bilden a Paritätsprüfmatrix für den Code .

Pattersons Algorithmus

1975 entwickelte Patterson einen Algorithmus, um Polynomzeitt Fehler aus dem Goppa-Code korrigieren.

Bevor der Algorithmus dargestellt werden kann, muss die Norm eines Polynoms definiert werden.

Norm eines Polynoms

Für ein Polynom gilt, dass die Norm , mit das Grad von .

Für rationale Funktionen gilt: . Beispielsweise .

Algorithmus

Das Ziel ist zu maximieren t Fehler aus einem Goppa-Code korrigieren . Wir beginnen mit einem Wort , mit maximal t Fehler. Das heißt, es gibt ein Codewort ist so, dass im Codewort höchstens t mal eine 1 mit einer 0 vertauscht oder umgekehrt.

  • Berechnung über den Körper . Wenn diese Summe im Hauptteil null ist, gibt es anscheinend keine Fehler im Code. Der Algorithmus liefert dann die Ausgabe w.
  • Berechnen Sie die Quadratwurzel von über den Körper .
  • Nennen Sie diese berechnete Wurzel so und beobachte es im Körper . Der Grad der so ist kleiner als t.
  • Die Vektoren und generieren a generate Zeitplan.
Die Norm eines Vektors ist per Definition gleich der Norm des Polynoms .
Damit ist die Länge des Vektors gleicht .
  • Finden mit Grundreduktion eine Basis von Mindestlänge. Es ist kleiner oder gleich .
  • Berechnung
  • Dividiere durch den Koeffizienten der höchsten Potenz von x, so dass wird monisch.
  • löst sich in linearen Faktoren der Form . Dieser Wille t Faktoren.
  • Ausgabe c, ist der korrigierte Code w, mit einer Korrektur an den Stellen ich, wahr .

Für ein ausführliches Beispiel dieses Algorithmus wird auf Bernsteins Artikel verwiesen.[1]