Daniel Augot

Morgan Barbier

Alain Couvreur

List-decoding of binary Goppa codes up to the binary Johnson bound

Keywords: Algorithmique, programmation, logiciels et architectures Error correcting codes, algebraic geometric codes, list-decoding, alternant codes, binary Goppa codes Codes correcteurs d'erreur, codes géométriques, décodage en liste, codes alternants, codes

We study the list-decoding problem of alternant codes, with the notable case of classical Goppa codes. The major consideration here is to take into account the size of the alphabet, which shows great influence on the listdecoding radius. This amounts to compare the generic Johnson bound to the q-ary Johnson bound. This difference is important when q is very small.

Essentially, the most favourable case is q = 2, for which the decoding radius is greatly improved, notably when the relative minimum distance gets close to 1/2.

Even though the announced result, which is the list-decoding radius of binary Goppa codes, is new, it can be rather easily made up from previous sources (V. Guruswami, R. M. Roth and I. Tal, R .M. Roth), which may be a little bit unknown, and in which the case of binary Goppa codes has apparently not been thought at. Only D. J. Bernstein treats the case of binary Goppa codes in a preprint. References are given in the introduction.

We propose an autonomous treatment and also a complexity analysis of the studied algorithm, which is quadratic in the blocklength n, when decoding at some distance of the relative maximum decoding radius, and in O(n 7 ) when reaching the maximum radius.

Introduction

In 1997, Sudan presented the first list-decoding algorithm for Reed-Solomon codes [START_REF] Sudan | Decoding of Reed-Solomon codes beyond the errorcorrection bound[END_REF] having a low, yet positive, rate. Since the correction radius of Sudan's algorithm for these codes is larger than the one obtained by unambiguous decoding algorithms, this represented an important milestone in list-decoding, which was previously studied at a theoretical level. See [START_REF] Elias | Error-correcting codes for list decoding[END_REF] and references therein for considerations on the "capacity" of list-decoding. Afterwards, Guruswami and Sudan improved the previous algorithm by adding a multiplicity constraint in the interpolation procedure. These additional constraints enable to increase the correction radius of Sudan's algorithm for Reed-Solomon codes of any rate [START_REF] Guruswami | Improved decoding of Reed-Solomon and algebraic-geometry codes[END_REF]. The number of errors that this algorithm is able to list-decode corresponds to the Johnson radius e ∞ (n, d) = n -n(n -d) -1, where d is the minimum distance of the code.

Actually, when the size q of the alphabet is properly taken into account q, the bound is improved up to e q (n, d) = θ q nn n -d θ q -1, where θ q = 1 -1 q . See [Gur07, Chapter 3] for a complete discussion about these kinds of bounds, relating the list-decoding radius to the minimum distance. Dividing by n, and taking relative values, with δ = d n , we define τ ∞ (δ) = e∞(n,d) n , and τ q (δ) = eq(n,d) n

, which are τ ∞ (δ) = 1 -√ 1 -δ, τ q (δ) = θ q 1 -1 -δ θ q (1)

Note that τ q (δ) gets decreasingly close to τ ∞ (δ) when q grows, and that τ 2 (n, q) is the largest, see Figure 1. We call τ ∞ (δ) the generic Johnson bound, which does not take into account the size of the field, and indeed works over any field, finite or not. We refer to τ q (δ) as the q-ary Johnson bound, where the influence of q is properly reflected. The truth is that the τ q (δ) radius can be reached for the whole class of alternant codes, and this paper presents how to do this. We have essentially compiled existing, but not very well-known results, with the spirit of giving a report on the issue of list-decoding classical algebraic codes over bounded alphabets. First, we have to properly give credits.

Considering the possibility of varying multiplicities, Koetter and Vardy proposed in 2001, an algebraic soft-decision decoding algorithm for Reed-Solomon codes [START_REF] Kötter | Algebraic soft-decision decoding of Reed-Solomon codes[END_REF]. This method is based on an interpolation procedure which is similar to Guruswami-Sudan's algorithm, except that the set of interpolation points is two dimensional, and may present varying multiplicities, according the reliability measurements given by the channel. Note that the idea of varying multiplicities was also considered in [START_REF] Guruswami | Improved decoding of Reed-Solomon and algebraic-geometry codes[END_REF], as the "weighted polynomial reconstruction problem", but was not instantiated for particular cases, as it was done by Koetter and Vardy. Before the publication of [START_REF] Kötter | Algebraic soft-decision decoding of Reed-Solomon codes[END_REF], also circulated a preprint of Koetter and Vardy [START_REF] Vardy | Algebraic Soft-Decision Decoding of Reed-Solomon Codes[END_REF], which was a greatly extended version of [START_REF] Kötter | Algebraic soft-decision decoding of Reed-Solomon codes[END_REF], with many possible interesting instances of the weighted interpolation considered. In particular, the authors discussed the decoding of BCH codes Figure 1: Comparison of the limit generic Johnson bound τ ∞ (δ) and the limit q-ary Johnson bounds τ q (δ), for small q. Note that the each curve ends at δ = θ q = 1 -1 q , which is the maximum relative minimum distance of codes of positive rates over F q , from the Plotkin bound. over the binary symmetric channel, and reached in fact an error capacity which is nothing else than τ 2 (δ). Note that BCH codes are nothing else than alternant codes, with benefits when the alphabet is F 2 . This was not published.

Guruswami-Sudan's algorithm is in fact very general and can also be applied to (one point) Algebraic Geometric codes as also shown by Guruswami and Sudan in [START_REF] Guruswami | Improved decoding of Reed-Solomon and algebraic-geometry codes[END_REF]. By this manner, one also reaches the Johnson radius n -n(n -d ⋆ ) -1, where d ⋆ is the Goppa designed distance. Contrarily to Reed-Solomon codes, it is possible, for a fixed alphabet F q , to construct Algebraic Geometric codes of any length. In this context, it makes sense to try to reach the q-ary Johnson bound τ q (δ), which is done in Guruswami's thesis [START_REF] Guruswami | List Decoding of Error-Correcting Codes -Winning Thesis of the[END_REF], at the end of Chapter 6.

Apparently independently, Roth and Tal considered the list-decoding problem in [START_REF] Tal | On list decoding of alternant codes in Hamming and Lee metrics[END_REF], but only an one page abstract. Roth's book [START_REF] Roth | Introduction to Coding Theory[END_REF], where many algebraic codes are presented through the prism of alternant codes, considers the list-decoding of these codes and shows how to reach the q-ary Johnson radius τ q (δ), where δ is the minimum distance of the Generalised Reed-Solomon code from which the alternant code is built. Note that alternant codes were considered in [START_REF] Guruswami | Improved decoding of Reed-Solomon and algebraic-geometry codes[END_REF], but only the generic Johnson Bound τ ∞ (δ) was discussed there.

Among the alternant codes, the binary Goppa codes are particularly important. They are not to be confused with Goppa's Algebraic Geometric codes, although there is a strong connection which is developed in Section 4. These codes are constructed with a Goppa polynomial G(X) of degree r and if this polynomial is square-free, then the distance of these codes is at least 2r + 1 which is almost the double of r, which is what would be expected for a generic alternant code. In fact, using the statements in [START_REF] Roth | Introduction to Coding Theory[END_REF], and using the fact that the Goppa code built with G(X) is the same as the Goppa code built with G(X) 2 , it is explicit that these codes can be list-decoded up to the radius

1 2 n -n (n -(4r + 2)) -1. ( 2
)
But actually, the first author who really considered the list-decoding of binary Goppa codes is D. J. Bernstein [START_REF] Daniel | List decoding for binary Goppa codes[END_REF], in a preprint which can be found on his personal web page. He uses a completely different approach than interpolation based list-decoding algorithms, starting with Patterson's algorithm [START_REF] Patterson | The algebraic decoding of Goppa codes[END_REF] for decoding classical Goppa codes. [START_REF] Berlekamp | Algebraic coding theory[END_REF][START_REF] Berlekamp | Algebraic Coding Theory[END_REF]. However, Wu's approach can apparently not be straightforwardly applied to Goppa codes.

Organisation of the paper Section 2 is devoted to recall the list-decoding problem, the Johnson bounds generic or q-ary, and Section 3 to the definitions of the codes we wish to decode, namely alternant codes and classical Goppa codes. Section 4 shows how to consider classical Goppa codes as subfield subcodes of Algebraic Geometric Goppa codes. Then, using Guruswami's result in [START_REF] Guruswami | List Decoding of Error-Correcting Codes -Winning Thesis of the[END_REF], it is almost straightforward to show that these codes can be decoded up to the binary Johnson bound e 2 (n, d ⋆ ), where d ⋆ = 2r + 1. However, this approach is far reaching, and the reader may skip Section 4, since Section 5 provides a selfcontained treatment of the decoding of alternant codes up to the q-ary Johnson bound. Essentially, this amounts to show how to pick the varying multiplicities, but we also study the dependency on the multiplicity. This enables us to give an estimation of the complexity of the decoding algorithm, which is quadratic in the length n of the code, when one is not too greedy.

List-decoding

First, recall the notion of list-decoding and multiplicity.

Problem 2.1. Let C be a code in its ambient space F n q . The list-decoding problem of C up to the radius e ∈ [0, n] consists, for any y in F n q , in finding all the codewords c in C such that d(c, y) ≤ e.

The main question is: how large can e be, such that the list keeps a reasonable size? A partial answer is given by the so-called Johnson bound.

Classical Goppa Codes

This section is devoted to the study of classical q-ary Goppa codes, regarded as alternant codes (subfield subcodes of Generalised Reed-Solomon codes) and as subfield subcodes of Algebraic Geometric codes. Afterwards, using Guruswami's results [START_REF] Guruswami | List Decoding of Error-Correcting Codes -Winning Thesis of the[END_REF] on soft-decoding of Algebraic Geometric codes, we prove that classical Goppa codes can be list-decoded in polynomial time up to the q-ary Johnson bound.

Context In this section, q denotes an arbitrary prime power and m, n denote two positive integers such that m ≥ 2 and n ≤ q m . In addition L (α 1 , . . . , α n ) denotes an n-tuple of distinct elements of F q m .

Classical Goppa codes

Definition 3.1. Let r be an integer such that 0 < r < n. Let G ∈ F q m [X] be a polynomial of degree r which does not vanish at any element of L. The q-ary classical Goppa code Γ q (L, G) is defined by

Γ q (L, G) (c 1 , . . . , c n ) ∈ F n q n i=1 c i X -α i ≡ 0 mod (G(X)) •

Classical Goppa codes are alternant

Definition 3.2 (Evaluation map). Let B (β 1 , . . . , β n ) be an n-tuple of elements of F × q m , and L (α 1 , . . . , α n ) denotes an n-tuple of distinct elements of F q m . The associated evaluation map is: ev :

F q m [X] → F n q m f (X) → (β 1 f (α 1 ), . . . , β n f (α n )) .
Definition 3.3 (Generalised Reed-Solomon code). Let B (β 1 , . . . , β n ) be an n-tuple of elements of F × q m . Let k be a positive integer. The Generalised Reed-Solomon code (or GRS code) over F q m associated to the triple (L, B, k) is the code:

GRS q m (L, B, k) {ev(f (X)) | f ∈ F q m [X] <k } ,
where ev denotes the evaluation map in Definition 3.2. This code has parameters

[n, k, n -k + 1] q m ([MS83] Ch10, §8, p303 ).
Definition 3.4 (Subfield Subcode). Let K be a finite field and M/K be a finite extension of it. Let C be a code of length n with coordinates in M , the subfield subcode C |K of C is the code

C |K C ∩ K n .
Definition 3.5 (Alternant code). A code is said to be alternant if it is a subfield subcode of a GRS code.

In particular, classical q-ary Goppa codes are alternant. Let us describe a GRS code over F q m whose subfield subcode over F q is Γ q (L, G).

Proposition 3.6. Let r be an integer such that 0 < r < n and G ∈ F q m [X] be a polynomial of degree r which does not vanish at any element of L. Then,

the classical Goppa code Γ q (L, G) is the subfield subcode GRS q m (L, B, n -r) |Fq , where B = (β 1 , . . . , β n ) is defined by ∀i ∈ {1, . . . , n}, β i G(α i ) j =i (α i -α j ) • Proof. See [MS83] Ch12, §3, p340, T hm4.

A property on the minimum distance of classical Goppa codes

Let L (α 1 , . . . , α n ) be an n-tuple of distinct elements of F q m and G ∈ F q m [X] be a polynomial of degree r > 0 which does not vanish at any element of

L. Since Γ q (L, G) is the subfield subcode of a GRS code with parameters [n, n-r, r+1] q m , the code Γ q (L, G) has parameters [n, ≥ n -mr, ≥ r + 1] q (see [Sti93] Lemma VIII.1.3 and [MS83] Ch12, §3, p339).
In addition, it is possible to get a better estimate of the minimum distance in some situations. This is the objective of the following result.

Theorem 3.7. Let L (α 1 , . . . , α n ) be an n-tuple of distinct elements of F q m . Let G ∈ F q m [
X] be square-free polynomial which does not vanish at any element of L and such that 0 < deg(G) < n/q. Then,

Γ q (L, G q-1 ) = Γ q (L, G q ).
Proof. [START_REF] Daniel | Wild McEliece[END_REF] Theorem 4.1.

The codes Γ q (L, G q-1 ) and Γ q (L, G q ) are subfield subcodes of two distinct GRS codes but are equal. The GRS code associated to G q-1 has a larger dimension than the one associated to G q but a smaller minimum distance. Thus, it is interesting to deduce a lower bound for the minimum distance from the GRS code associated to G q and a lower bound for the dimension from the one associated to G q-1 . This motivates the following definition.

Definition 3.8. In the context of Theorem 3.7, the designed minimum distance

of Γ q (L, G q-1 ) is d ⋆ Gop q deg(G) + 1.
It is a lower bound for the actual minimum distance.

Remark 3.9. Using almost the same proof, Theorem 3.7 can be generalised as: let G 1 , . . . , G t be irreducible polynomials in F q m [X] and e 1 , . . . , e t are positive integers congruent to -1 mod q, then Γ q (L,

G e1 1 • • • G et t ) = Γ q (L, G e1+1 1 • • • G et+1 t ).

List-decoding of classical Goppa Codes as Algebraic Geometric codes

In this section, C denotes a smooth projective absolutely irreducible curve over a finite field F q . Its genus is denoted by g(C).

Prerequisites in algebraic geometry

The main notions of algebraic geometry used in this article are summarised in what follows. For further details, we refer the reader to [START_REF] Fulton | Algebraic curves. Advanced Book Classics[END_REF] for theoretical results on algebraic curves and to [START_REF] Stichtenoth | Algebraic function fields and codes[END_REF] and [START_REF] Vlȃdut | Algebraic Geometric Codes: Basic Notions[END_REF] for classical notions on Algebraic Geometric codes.

Points and divisors If k is an algebraic extension of the base field F m q , we denote by C(k) the set of k-rational points of C, that is the set of points whose coordinates are in k.

The group of divisors Div Fq (C) of C is the free abelian group generated by the geometric points of C (i.e. by C(F q )). Elements of Div Fq (C) are of the form G = P ∈C(Fq) a P P , where the a P 's are integers and are all zero but a finite number of them. The support of G = a P P is the finite set

Supp(G) {P ∈ C(F q ) | a P = 0}.
The group Div Fq (C) of F q -rational divisors is the subgroup of Div F q (C) of divisors which are fixed by the Frobenius map.

A partial order is defined on divisors:

D = d P P ≥ E = e P P ⇔ ∀P ∈ C(F q ), d P ≥ e P .
A divisor D = d P P is said to be effective or positive if D ≥ 0, i.e. if for all P ∈ C(F q ), d P ≥ 0. To each divisor D = P d P P , we associate its degree deg(D) ∈ Z defined by deg(D)

d P . This sum makes sense since the d P 's are all zero but a finite number of them.

Rational functions

The field of F q -rational functions on C is denoted by F q (C). For a nonzero function f ∈ F q (C), we associate its divisor (f ) P ∈C(Fq) v P (f ).P, where v P denotes the valuation at P . This sum is actually finite since the number of zeroes and poles of a function is finite. Such a divisor is called a principal divisor. The positive part of (f ) is called the divisor of the zeroes of f and denoted by (f ) 0

P ∈C(Fq), vP (f )>0 v P (f ).P.
Lemma 4.1. The degree of a principal divisor is zero.

Proof. [START_REF] Fulton | Algebraic curves. Advanced Book Classics[END_REF] Chapter 8 Proposition 1.

Riemann-Roch spaces Given a divisor G ∈ Div Fq (C), one associates a vector space of rational functions defined by

L(G) {f ∈ F q (C) | (f ) ≥ -G} ∪ {0}.
This space is finite dimensional and its dimension is bounded below from the Riemann-Roch theorem dim(L(G)) ≥ deg(G) + 1 -g(C). This inequality becomes an equality if deg(G) > 2g(C) -2.

Construction and parameters of Algebraic Geometric codes

Definition 4.2. Let G be an F q -rational divisor on C and P 1 , . . . , P n be a set of distinct rational points of C avoiding the support of G. Denote by D the divisor

D P 1 + • • • + P n . The code C L (D, G) is the image of the map ev D : L(G) → F n q f → (f (P 1 ), . . . , f (P n )) .
The parameters of Algebraic Geometric codes (or AG codes) can be estimated using the Riemann-Roch theorem and Lemma 4.1.

Proposition 4.3. In the context of Definition 4.2, assume that deg(G) < n. Then the code C L (D, G) has parameters [n, k, d] q where k ≥ deg(G)+1-g(C) and d ≥ n -deg(G). Moreover, if 2g(C) -2 < deg(G), then k = deg(G) + 1 -g(C).
Proof. [START_REF] Stichtenoth | Algebraic function fields and codes[END_REF] Proposition II.2.2 and Corollary II.2.3. Definition 4.4 (Designed distance of an AG code). The designed distance of

C L (D, G) is d ⋆ AG n -deg(G).

Classical Goppa codes as Algebraic Geometric codes

In general, one can prove that the GRS codes are the AG codes on the projective line (see [START_REF] Stichtenoth | Algebraic function fields and codes[END_REF] Proposition II.3.5). Therefore, from Proposition 3.6, classical Goppa codes are subfield subcodes of AG codes. In what follows we give an explicit description of the divisors used to construct a classical Goppa code Γ q (L, G) as a subfield subcode of an AG code.

Context

The context is that of Section 3. In addition, P 1 , . . . , P n are the points of P 1 of respective coordinates (α 1 : 1), . . . , (α n : 1) and P ∞ is the point "at infinity" of coordinates (1 : 0). We denote by D the divisor D P 1 + • • • + P n ∈ Div F q m (P 1 ). Finally, we set

F (X) n i=1 (X -α i ) ∈ F q m [X].
(3) Remark 4.5. A polynomial H ∈ F q [X] of degree d can be regarded as a rational function on P 1 having a single pole at P ∞ with multiplicity d. In particular deg(H)

≤ d ⇔ (H) ≥ -dP ∞ ⇔ H ∈ L(-dP ∞ ). Theorem 4.6. Let G ∈ F q m [X] be a polynomial of degree r such that 0 < r < n. Then, Γ q (L, G) = C L (D, A -E) |Fq ,
where A, E are positive divisors defined by E (G) 0 and A (F ′ ) + (n -1)P ∞ , where F ′ denotes the derivative of F .

Remark 4.7. The above result is actually proved in [START_REF] Stichtenoth | Algebraic function fields and codes[END_REF] (Proposition II.3.11) but using another description of classical Goppa codes (based on their paritycheck matrices). Therefore, we chose to give another proof corresponding better to the present description of classical Goppa codes.

Proof of Theorem 4.6. First, let us prove that A is well-defined and positive. Since F has simple roots (see (3)), it is not a p-th power in F q m [X] (where p denotes the characteristic). Thus, F ′ is nonzero. Moreover F ′ has degree ≤ n-1 (with equality if and only if n -1 is prime to the characteristic). Remark 4.5 entails (F ′ ) ≥ -(n -1)P ∞ and A = (F ′ ) + (n -1)P ∞ ≥ 0.

Let us prove the result. Thanks to Proposition 3.6, it is sufficient to prove that

C L (D, A -E) = GRS q m (L, B, n -r), where B = (β 1 , . . . , β n ) with ∀i ∈ {1, . . . , n}, β i G(α i ) j =i (α i -α j ) • (4) Notice that, ∀i ∈ {1, . . . , n}, F ′ (α i ) = j =i (α i -α j ). ( 5
)
Let H be a polynomial in F q m [X] <n-r . Remark 4.5 yields (H) ≥ -(n-r-1)P ∞ and

GH F ′ = (G) + (H) -(F ′ ) ≥ (E -rP ∞ ) -(n -r -1)P ∞ -A + (n -1)P ∞ ≥ -(A -E).
Thus, GH/F ′ ∈ L(A -E) and, from (4) and (5), we have

GH F ′ (α i ) = β i H(α i ).
This yields GRS q m (L, B, n -r) ⊆ C L (D, A -E).

For the reverse inclusion, we prove that both codes have the same dimension. The dimension of GRS q m (L, B, n-r) is n-r. For C L (D, A-E), we first compute deg(A -E). By definition, deg(A) = deg((F ′ )) + n -1 which equals n -1 from Lemma 4.1. The degree of E is that of the polynomial G, that is r. Thus, deg(A -E) = n -1 -r. Since r is assumed to satisfy 0 < r < n and since the genus of P 1 is zero, we have 2g(C)

-2 = -2 < deg(A -E) < n. Finally, Proposition 4.3 entails dim C L (D, A -E) = deg(A -E) + 1 -g(C) = n -r, which concludes the proof.
Remark 4.8. Another and in some sense more natural way to describe Γ q (L, G) as a subfield subcode of an AG code is to use differential forms on P 1 . By this way, one proves easily that Γ q (L, G) = C Ω (D, E -P ) |Fq . Then, considering the differential form ν dF F , one can prove that its divisor is (ν) = A -D -P ∞ . Afterwards, using [START_REF] Stichtenoth | Algebraic function fields and codes[END_REF] Proposition II.2.10, we get

C Ω (D, E -P ) = C L (D, (ν) -E + P + D) = C L (D, A -E).
The main tool for the proof of the list-decodability of classical Goppa codes is a Theorem on the soft-decoding of AG codes, this is the reason why we introduce our list-decoding algorithm by an Algebraic Geometric codes point of view.

4.4 List-decoding up to the q-ary Johnson radius Theorem 4.9 ([Gur04] Theorem 6.41). For every q-ary AG-code C of blocklength n and designed minimum distance d ⋆ = n-α, there exists a representation of the code of size polynomial in n under which the following holds. Let ε > 0 be an arbitrary constant. For 1 ≤ i ≤ n and λ ∈ F q , let w i,λ be a nonnegative real. Then one can find in poly(n, q, 1/ε) time, a list of all codewords c = (c 1 , c 2 , . . . , c n ) of C that satisfy

n i=1 w i,ci ≥ (n -d ⋆ ) n i=1 λ∈Fq w 2 i,λ + ε max i,λ w i,λ . (⋆)
Using this result we are able to prove the following statement.

Theorem 4.10. In the context of Theorem 3.7, the code Γ q (L, G q-1 ) can be list-decoded in polynomial time provided the number of errors t satisfies

t < n q -1 q   1 -1 - q q -1 • d ⋆ Gop n   , where d ⋆ Gop q deg(G) + 1 (see Definition 3.8).
That is, the code can be listdecoded up to the q-ary Johnson bound associated to the best determination of the minimum distance.

Proof. Set E (G) 0 and let D = P 1 + • • • + P n be as in §4. From Theorem 3.7 together with Theorem 4.6, we have

Γ q (L, G q-1 ) = C L (D, A -(q -1)E) |Fq = C L (D, A -qE) |Fq ,
where A is as in the statement of Theorem 4.6. We will apply Theorem 4.9 to C L (D, A -qE). From Proposition 4.3, the designed distance of this code is

d ⋆ AG n -deg(A) + q deg(E). Since deg(A) = n -1 and deg(E) = deg(G), we get d ⋆ AG = q deg(G) + 1 = d ⋆ Gop .
Let δ and τ be respectively the normalised designed distance and expected error rate:

δ q deg(G) + 1 n and τ q -1 q 1 -1 - qδ q -1 • (6)
The approach is almost the same as that of [Gur04] §6.3.8. Assume we have received a word y ∈ F n q and look for the list of codewords in Γ q (L, G q-1 ) whose Hamming distance to y is at most γn, with γ < τ . One can apply Theorem 4.9 to C L (D, A -qE) with ∀i ∈ {1, . . . , n}, ∀λ ∈ F q m , w i,λ

   1 -τ if λ = y i τ /(q -1) if λ ∈ F q \ {y i } 0 if λ ∈ F q m \ F q .
From Theorem 4.9, one can get the whole list of codewords of Γ q (L, G q-1 ) at distance at most γn from y in poly(n, q, 1/ε) time provided

(1 -γ)(1 -τ ) + γ τ q -1 ≥ (1 -δ) (1 -τ ) 2 + τ 2 q -1 + ε n (1 -τ ). (7)
Consider the left hand side of the expected inequality (7) and use the assumption γ < τ together with the easily checkable fact τ q/(q -1) < 1. This yields

(1 -γ)(1 -τ ) + γ τ q -1 = 1 -τ -γ(1 - τ q q -1 ) (8) > 1 -2τ + τ 2 q q -1 (9) > (1 -τ ) 2 + τ 2 q -1 • (10)
On the other hand, an easy computation gives

(1 -τ ) 2 + τ 2 q -1 = 1 -δ. (11)
Therefore, ( 10) and ( 11) entail

(1 -γ)(1 -τ ) + γ τ q -1 > (1 -τ ) 2 + τ 2 q -1 = (1 -δ) (1 -τ ) 2 + τ 2 q -1 ,
which yields the expected inequality (7) provided ε is small enough.

A remark on Algebraic Geometric codes and one point codes In [START_REF] Guruswami | List Decoding of Error-Correcting Codes -Winning Thesis of the[END_REF], when the author deals with AG codes, he only considers one point codes, i.e. codes of the form C L (D, sP ) where P is a single rational point an s is an integer. Therefore, Theorem 4.9 is actually proved (in [START_REF] Guruswami | List Decoding of Error-Correcting Codes -Winning Thesis of the[END_REF]) only for one point codes and is applied in the proof of Theorem 4.10 to the code C L (D, A -qE) which is actually not one point. Fortunately, this fact does not matter since one can prove that any AG code on P 1 is equivalent to a one point code. In the case of C L (D, A -qE), the equivalence can be described explicitly. Indeed, by definition of A and E we have

A -qE = (F ′ ) + (n -1)P ∞ -q(G) -q(deg(G))P ∞ . Set d deg(G), then we get A -qE = (F ′ G q ) + (n -1 -qd)P ∞ . Consequently, one proves easily that a codeword c = (c 1 , . . . , c n ) is in C L (D, A -qE) if and only if (η 1 c 1 , . . . , η n c n ) ∈ C L (D, (n -1 -qd)P ∞ ), where η i 's are defined by ∀i ∈ {1, . . . , n}, η i F ′ (α i )G q (α i ).
5 List decoding of classical Goppa codes as evaluation codes

List-decoding of general alternant codes

In this subsection, we give a self-contained treatment of the proposed listdecoding algorithm for alternant codes, up to the q-ary Johnson bound, without the machinery of Algebraic Geometric codes.

RR n°7490

Definition 5.1.

Let Q(X, Y ) = i,j Q ij X i Y j ∈ F q m [X,
Y ] be a bivariate polynomial and s ≥ 0 be an integer. We say that Q(X, Y ) has multiplicity at least s at (0, 0) ∈ F 2 q m if and only if Q ij = 0 for all (i, j) such that i + j < s. We say that Q has multiplicity at least s at point (a, b) ∈ F 2 q m if and only if Q(X + a, Y + b) has multiplicity s at (0, 0). We denote this fact by mult (Q(X, Y ), (a, b)) ≥ s.

Definition 5.2. For u, v ∈ N, the weighted degree wdeg u,v (Q(x, y)) of a poly- nomial Q(x, y) = Q ij x i y j is max{ui + vy, (i, j) ∈ N × N |Q ij = 0}.
Let a [n, k GRS , d GRS ] q m GRS(L, B, k GRS ) code be given and consider the corresponding alternant code C GRS |Fq . We aim at list-decoding up to γn errors, where γ is the relative list-decoding radius, which is determined further.

Let y ∈ F n q be a received word. The main steps of the algorithm are the following: Interpolation, Root-Finding, Reconstruction. Note that an auxiliary s ∈ N\ {0} is needed, which is discussed further, and appropriately chosen. Now we can sketch the algorithm. A pseudo-code is detailed further, see Algorithm 1.

Interpolation

: Find Q(X, Y ) = Q i (X)Y i ∈ F q m [X, Y ] such that (a) (non triviality) Q(X, Y ) = 0; (b) (interpolation with varying multiplicities) • mult(Q(X, Y ), (α i , y i β -1 i )) ≥ s(1 -γ); • mult(Q(X, Y ), (α i , zβ -1 i )) ≥ sγ q-1 , for any z ∈ F q \ {y i }; (c) (weighted degree) wdeg 1,kGRS Q(X, Y ) < sn (1 -γ) 2 + γ 2 q-1 ; 2. Root-Finding: Find all the factors (Y -f (X)) of Q(X, Y ), with deg f (X) < k GRS ;
3. Reconstruction: Compute the codewords associated to the f (X)'s found in the Root-Finding step, using the evaluation map ev L,B . Retain only those which are at distance at most γn from y.

Lemma 5.3 ([GS99]

). Let u be an integer and Q(X, Y ) be a polynomial with multiplicity s at (a, b). Then, for any

f (X) such that f (a) = b, one has (X-a) s | Q(X, f (X)).
Proposition 5.4. Let y be the received word, and Q(X, Y ) satisfying conditions 1a, 1b, and 1c above. Let f (X) be a polynomial such that deg f (X) < k GRS and accordingly, let

c = ev L,B (f (X)). If d(c, y) ≤ γn, then Q(X, f (X)) = 0. Proof. Assume that d(ev(f (X)), y) = θn ≤ γn. Set I i, f (x i ) = y i β -1 i and I i, f (x i ) = y i β -1 i . Obviously we have |I| = n(1 -θ) and |I| = θn. Note that, from Lemma 5.3, Q(X, f (X)) is divisible by i∈I (X -α i ) ⌈s(1-γ)⌉ × j∈I (X -α j ) ⌈sγ/(q-1)⌉ , RR n°7490
Algorithm 1 List decoding of alternant codes up to the q-ary Johnson bound Subroutine:

Interpolation(constraints,k -1) finds a polynomial Q(X, Y ) satisyfing the constraints 1a, 1b, and 1c Input:

L = (α 1 , . . . , α n ) B = (β 1 , . . . , β n ) The associated evaluation map ev k GRS C, the alternant code GRS((α i ), (β i ), k GRS ) |Fq
The relative decoding radius γ = (1 -ǫ)τ

The received word y ∈ F n q Output: The list of codewords c ∈ C such that d(c, y) ≤ γn 1: s, ℓ ←-Parameters(n, k GRS , ǫ), according to Equations ( 34) and (36).

2: constraints ← [] 3: for i = 1 to n do 4:
for z ∈ F q do 5:

if z = y i then 6: constraints ← constraints ∪ (α i , zβ -1 i ), ⌈s(1 -γ)⌉ ; 7: else 8: constraints ← constraints ∪ (α i , zβ -1 i ), ⌈ sγ q-1 ⌉ ; 9: Q(X, Y ) ← Interpolation(constraints,k -1) 10: F ← {f (X) | (Y -f (X)) | Q(X, Y )} 11: Return {c = f (X) | f (X) ∈ F and deg f (X) < k -1 and d(c, y) ≤ γn}
which is a polynomial of degree D = n(1 -θ) ⌈s(1 -γ)⌉+ nθ sγ q-1 . This degree is a decreasing function of θ for γ < q-1 q , since it is an affine function of the variable θ, whose leading term is

θn ⌈s(1 -γ)⌉ + sγ q -1 < 0.
The minimum is reached for θ = γ, and is greater than sn (1 -γ) 2 + γ 2 q-1 . Thus, D ≥ sn (1 -γ) 2 + γ 2 q-1 . On the other hand, the weighted degree con-

dition imposed Q(X, Y ) implies that deg Q(X, f (X)) < sn (1 -γ) 2 + γ 2 q-1 ) . Thus Q(X, f (X)) = 0.
Proposition 5.5. Let δ GRS = dGRS n be the relative minimum distance of a GRS code as above, defining an alternant subcode over F q . Set

τ q -1 q 1 -1 - q q -1 δ GRS . (12)
Then, for any γ < τ , there exists s large enough such that a polynomial Q(X, Y ), satisfying the three previous constraints 1a, 1b, and 1c, always exists, whatever the received word.

Proof. To make sure that, for every received word y, a non zero Q(X, Y ) exists, it is enough to prove that we have more indeterminates than equations in the linear system given by 1b, and 1c, since it is homogeneous. That is (see Appendix),

s 2 n 2 ((1 -γ) 2 + γ 2 q-1 ) 2 2(k -1) > s(1 -γ) + 1 2 + (q -1) s γ q-1 + 1 2 n, (13)
which can be rewritten as,

(1 -γ) 2 + γ 2 q -1 2 > R ′ (1 -γ) 2 + γ 2 q -1 + 1 s , (14)
where

R ′ kGRS -1 n • Thus, we find that µ = µ(γ) = (1 -γ) 2 + γ 2 q-1 must satisfy µ 2 -R ′ µ -R ′ s > 0. The roots of the equation µ 2 -R ′ µ -R ′ s = 0 are µ 0 = R ′ -R ′2 + 4 R ′ s 2 , µ 1 = R ′ + R ′2 + 4 R ′ s 2 •
Note that the function µ(γ) is decreasing with γ ∈ [0, 1 -1 q ], as shown on Fig 2 for the particular case q = 2. Only µ 1 is positive and thus we must have µ > µ 1 , i.e.

(1

-γ) 2 + γ 2 q -1 > µ 1 . (15)
Again, we have two roots for the equation (1 -γ) 2 + γ 2 q-1 = µ 1 , namely:

γ 0 = q -1 q 1 -1 - q q -1 (1 -µ 1 ) (16
)

γ 1 = q -1 q (1 + 1 + q q -1 (1 -µ 1 ) . ( 17
)

RR n°7490

Only γ 0 < q-1 q , and thus we must have

γ < γ 0 = q -1 q (1 -1 - q q -1 (1 -µ 1 ). ( 18
)
Then, when s → ∞, we have µ 1 → R ′ , and we get

γ < τ = q -1 q 1 -1 - q q -1 (1 -R ′ ) (19)
Using the fact that k GRS -1 = n -d GRS , i.e R ′ = 1 -δ GRS , we get

τ = q -1 q 1 -1 - q q -1 δ GRS ,
which the q-ary Johnson radius.

The previous Proposition proves that this method enables to list-decode any alternant code up to the q-ary Johnson bound. This bound is better than the error correction capacities of the previous algorithms [START_REF] Guruswami | Improved decoding of Reed-Solomon and algebraic-geometry codes[END_REF][START_REF] Daniel | List decoding for binary Goppa codes[END_REF]. For the binary case, we plot in Figure 3 the binary Johnson bound (weighted multiplicities, this paper), the generic Johnson bound (straight Guruswami-Sudan, or Bernstein), and the unambiguous decoding bound (Patterson). As usually, the higher the normalised minimum distance is, the better the Johnson bound is.

Complexity Analysis

The main issue is to give explicitly how large the "order of multiplicity" s has to be, to approach closely the limit correction radius, τ (δ GRS ) as given by (12).

Lemma 5.6. To list-decode up to a relative radius of γ = (1 -ε)τ , it is enough to have an auxiliary multiplicity s of size O( 1 ε ), where the constant in the big-O depends only on q and on the pseudo-rate R ′ = kGRS -1 n of the GRS code. Proof. To get the dependency on s, we work out Equation (18). Let us denote by γ(s) the achievable relative correction radius for a given s. We have

γ(s) = q -1 q 1 -1 - q q -1 (1 -µ 1 (s)) , (20)
with µ 1 (s) =

R ′ + R ′2 +4 R ′ s 2
. We use that √ 1 + x < 1 + x 2 , for all x > 0. First, we have the bound:

µ 1 (s) = R ′ + R ′2 + 4 R ′ s 2 (21) = R ′ 2 1 + 1 + 4 sR ′ (22) ≤ R ′ 2 1 + 1 + 4 2sR ′ (23) = R ′ + 1 s . (24)
Now, calling K q (R ′ ) the quantity 1 -q q-1 (1 -R ′ ), we compute:

γ(s) = q -1 q 1 -1 - q q -1 (1 -µ 1 (s)) (25) ≥ q -1 q 1 -1 - q q -1 1 -R ′ - 1 s (26) = q -1 q 1 -K q (R ′ ) + q q -1 1 s (27) = q -1 q 1 -K q (R ′ ) 1 + q q -1 1 s 1 K q (R ′ ) (28) ≥ q -1 q 1 -K q (R ′ ) 1 + 1 2 q q -1 1 s 1 K q (R ′ ) (29) = q -1 q 1 -K q (R ′ ) -K q (R ′ ) 1 2 q q -1 1 s 1 K q (R ′ ) (30) = q -1 q 1 -K q (R ′ ) - 1 2 1 s K q (R ′ ) (31) = τ - 1 2s K q (R ′ ) (32) = τ 1 - 1 2sτ K q (R ′ ) (33)
Thus, to reach a relative radius γ = (1 -ε)τ , it is enough to take

s = 1 2ετ K q (R ′ ) = O( 1 ε ). ( 34
)

RR n°7490

The most expensive computational step in these kinds of list-decoding algorithms is the interpolation step, while root-finding is surprisingly cheaper [START_REF] Augot | A Hensel lifting to replace factorization in list decoding of algebraic-geometric and Reed-Solomon codes[END_REF][START_REF] Roth | Efficient decoding of Reed-Solomon codes beyond half the minimum distance[END_REF]. This is the reason why we focus on the complexity of this step. We assume the use of the so-called Koetter algorithm [START_REF] Kötter | On Algebraic Decoding of Algebraic-Geometric and Cyclic Codes[END_REF] (see for instance [START_REF] Peter | Efficient Interpolation in the Guruswami-Sudan Algorithm[END_REF][START_REF] Koetter | The Re-Encoding Transformation in Algebraic List-Decoding of Reed-Solomon Codes[END_REF] for a recent exposition), to compute the complexity of our method. It is in general admitted that this algorithm, which also may help in various interpolation problems, has complexity O(lC 2 ), where l is the Y -degree of the Q(X, Y ) polynomial, and C is the number of linear equations given by the interpolation constraints. It can be seen as an instance of the Buchberger-Möller problem [START_REF] Möller | The construction of multivariate polynomials with preassigned zeros[END_REF].

Corollary 5.7. The proposed list-decoding runs in

O( 1 ε -5 n 2 ) ( 35
)
field operations to list-decode up to (1 -ε)τ • n errors, where the constant in the big-O depends only on q and the pseudo-rate R ′ .

Proof. Assume that we would like to decode up to nγ = n(1 -ε)τ . The number of equations given by the interpolation conditions can be seen to be O(ns 2 ) (see Equation ( 13)). Now, the list size ℓ is bounded above by the Y -degree of the interpolation polynomial Q(X, Y ), which is at most

sn((1 -γ) 2 + γ 2 q-1 ) k -1 = O(s), (36)
for fixed R ′ = k-1 n . Fitting s = O( 1 ε ), we conclude that this method runs in O(n 2 ε -5 ).

Regarding the Root-Finding step, one can use [START_REF] Roth | Efficient decoding of Reed-Solomon codes beyond half the minimum distance[END_REF], where an algorithm of complexity O(ℓ 3 k 2 ) is proposed, assuming q is small. Indeed, classical bivariate factorisation or root finding algorithms rely on a univariate root-finding step, which is not deterministic polynomially in the size of its input, when q grows. But our interest is for small q, i.e. 2 or 3, and we get O(s 3 n 2 ), which is less than the cost of the interpolation step.

Corollary 5.8. To reach the non relative q-ary Johnson radius:

q -1 q n 1 -1 - q q -1 d GRS n -1 , it is enough to have s = O( 1 n ). Then, the number of field operations, is O(n 7 ),
where the constant in the big-O only depends on q and R ′ .

Proof. It is enough to consider that

q -1 q n 1 -1 - q q -1 d GRS n -1 = nτ (1 -ε), with ε = O( 1 n ).
Generic list-decoding Bernstein Binary list-decoding

n -n(n -2t) -1 n -n(n -2t -2) 1 2 n -n(n -4t -2 -1
Table 1: Comparison of the claimed decoding radii in terms of t, the degree of the square-free polynomial G(X) using to construct the Goppa code.

Application to classical binary Goppa codes

The most obvious application of this algorithm is the binary Goppa codes defined with a square-free polynomial G (we do not detail the result for the general q-ary case, which is less relevant in practice). Indeed, since we have

Γ 2 (L, G) = Γ 2 (L, G 2 ),
both codes benefit at least from the dimension of Γ 2 (L, G) and the distance of Γ 2 (L, G 2 ). Thus, if deg G = t, we have the decoding radii given in Table 1. In addition, we compare in Table 2 the different decoding radii for practical values.

Algorithm 2 List-decoding of binary Goppa codes Require: L = (α 1 , . . . , α n ) A Goppa polynomial G, square-free The corresponding Goppa code C = Γ 2 (L, G)

The associated evaluation map ev The relative decoding radius γ = (1 -ε)τ

The received word y ∈ F n q 1: View Γ 2 (L, G) as Γ 2 (L, G 2 ) 2: Consider the Generalised Reed-Solomon code GRS q m (L, B, k) above Γ 2 (L, G 2 ) 3: Use Algorithm 1 to find all the codewords at distance γn of y

A The number of unknowns

B The number of interpolation constraints

The following proposition can be found in any book of computer algebra, for instance [START_REF] Cox | Ideals, Varieties and Algorithms[END_REF].

s i + 1 2 . ( 45
)

Figure 2 :

 2 Figure 2: Behaviour of the µ(γ) function, for γ ∈ [0, 1], with q = 2.

Figure 3 :

 3 Figure 3: Comparison of the relative error capacities of different decoding algorithm for binary alternant codes -This applies to binary square-free Goppa codes.

Proposition A. 1 .

 1 Let Q(X, Y ) ∈ F[X, Y ] be a bivariate polynomial such that wdeg 1,k-1 Q(X, Y ) < D. Then, the number N k-1,D of nonzero coefficients of Q(X, Y ) is larger than or equal to Let us write Q(X, Y ) = ℓ i=0

  with deg Q j (X) < D -(k -1)j, and ℓ maximal such that (k -1)ℓ < D. Then N k-1,D =

Proposition B. 1 .

 1 Let Q(X, Y ) ∈ F[X, Y ] be a bivariate polynomial. The number of terms of degree at most s in Q(X, Y ) is s+1 2 . Corollary B.2. The condition mult(Q(X, Y )), (a, b)) ≥ s imposes s+1 2 linear equations on the coefficients of Q(X, Y ). Let (a i , b i ) ∈ F 2 be points and s i ∈ N be multiplicities, i ∈ [1, n]. Then the number of linear equations imposed by the conditions mult(Q(X, Y ), (a i , b i )) ≥ s i , i ∈ [1, n],(44)is n i=1

  Patterson's algorithm is designed to decode up to t errors, and to list-decode further, Bernstein reuses the information obtained by an unsuccessful application of Patterson's algorithm in a smart way. It is also the approach used by Wu[START_REF] Wu | New list decoding algorithms for Reed-Solomon and BCH codes[END_REF] in his algorithm for list-decoding Reed-Solomon and BCH codes, where the Berlekamp-Massey algorithm is considered instead of Patterson's algorithm. Notice that Wu can reach the binary Johnson bound τ 2 (δ), using very particular properties of Berlekamp-Massey algorithm for decoding binary BCH codes

Table 2 :

 2 Comparison of the error capacities of different decoding algorithms for square-free binary Goppa codes, with respect to the length n, the dimension k, and the degree t of G(X).

	RR n°7490

Q i Y i ,

RR n°7490