WikiDer > 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]
Verweise
|