Goppa code

In mathematics, an algebraic geometric code (AG-code), otherwise known as a Goppa code, is a general type of linear code constructed by using an algebraic curve over a finite field . Such codes were introduced by Valerii Denisovich Goppa. In particular cases, they can have interesting extremal properties. They should not be confused with Binary Goppa codes that are used, for instance, in the McEliece cryptosystem.

Construction

Traditionally, an AG-code is constructed from a non-singular projective curve X over a finite field by using a number of fixed distinct -rational points on :

Let be a divisor on X, with a support that consists of only rational points and that is disjoint from the . Thus

By the Riemann-Roch theorem, there is a unique finite-dimensional vector space, , with respect to the divisor . The vector space is a subspace of the function field of X.

There are two main types of AG-codes that can be constructed using the above information.

Function code

The function code (or dual code) with respect to a curve X, a divisor and the set is constructed as follows.

Let , be a divisor, with the defined as above. We usually denote a Goppa code by C(D,G). We now know all we need to define the Goppa code:

For a fixed basis for L(G) over , the corresponding Goppa code in is spanned over by the vectors

Therefore,

is a generator matrix for

Equivalently, it is defined as the image of

The following shows how the parameters of the code relate to classical parameters of linear systems of divisors D on C (cf. Riemann–Roch theorem for more). The notation l(D) means the dimension of L(D).

Proposition A. The dimension of the Goppa code is

Proof. Since we must show that

.

Let then so . Thus, Conversely, suppose then since

.

(G doesn't “fix” the problems with the , so f must do that instead.) It follows that

Proposition B. The minimal distance between two code words is

Proof. Suppose the Hamming weight of is d. That means that for indices we have for Then , and

.

Taking degrees on both sides and noting that

,

we get

so

Residue code

The residue code can be defined as the dual of the function code, or as the residue of some functions at the 's.

References

This article is issued from Wikipedia - version of the 10/16/2016. The text is available under the Creative Commons Attribution/Share Alike but additional terms may apply for the media files.