Improved Power Decoding of
Algebraic Geometry Codes
Abstract
Power decoding is a partial decoding paradigm for arbitrary algebraic geometry codes for decoding beyond half the minimum distance, which usually returns the unique closest codeword, but in rare cases fails to return anything. The original version decodes roughly up to the Sudan radius, while an improved version decodes up to the Johnson radius, but has so far been described only for Reed–Solomon and one-point Hermitian codes. In this paper we show how the improved version can be applied to any algebraic geometry code.
Index Terms:
Algebraic Geometry Codes, Power DecodingI Introduction
I-A Related work
Power decoding was originally proposed in [1] and [2] as a method for decoding Reed–Solomon codes beyond half the minimum distance, achieving roughly the same decoding radius as Sudan’s list decoder [3]. It is a partial unique decoder, meaning that it either returns a unique decoding solution, or declares failure. It has been demonstrated through numerical simulations that power decoding has a very low probability of failure for random errors; there are proofs of this for small parameter choices [2, 4], but the general case remains to be an open problem.
In [5] it was shown how to incorporate a multiplicity parameter into power decoding, similar to that of Guruswami–Sudan (GS) algorithm [6], thereby matching the latter’s decoding radius, called the Johnson radius. Both the original and the improved power decoding with multiplicity has been applied to one-point Hermitian codes, which belong to the large family of algebraic geometry (AG) codes that were introduced by Goppa in 1981 [7, 8]. They are a natural generalization of Reed–Solomon codes and some of their subfamilies have been shown to have minimal distance that beats the Gilbert–Varshamov bound [9].
At the heart of power decoding lies a set of “key equations”, which can be solved by linear algebra, or by faster, more structured approaches, e.g. by generalizing the Berlekamp–Massey or Euclidean algorithm, see e.g. [10, 11] and their references. This step is algebraically connected with to the “interpolation step” of the GS algorithm, which may be computed in similar complexity [12, 11].
After interpolation, the GS algorithm proceeds with a “root-finding step”, which is not required by power decoding. For Reed–Solomon and one-point Hermitian codes, root-finding is asymptotically faster than the interpolation step111Except if the code length is very short compared to the field size: a sub-routine of the root-finding step is to find -roots in polynomials. [13, 12, 14], but in hardware-implementations root-finding can take up significant circuit area [15]. For more general AG codes, the root-finding step is not widely studied, and it is unclear whether it is faster than interpolation; e.g. [16] describes root-finding for one-point codes which is not superior to performing interpolation using linear algebra. Further, both power decoding and the GS algorithm generalize to interleaved codes, and here the root-finding step is currently the bottleneck in the GS algorithm [17], and so power decoding is asymptotically faster [18].
Recently, [19] generalized the original power decoding to apply to general AG codes. Their work was principally motivated by their new variant of (the original) power decoding, called power error-locating pairs, which may be applied to attack AG-code-based cryptosystems in a setting where it seems the GS decoder can not be used.
I-B Contributions
In this paper we:
-
•
formulate improved power decoding [5] in the language of function fields and adapt it to general AG codes,
-
•
show how the resulting key equations can be solved using linear algebra, and
-
•
derive the decoding radius for the proposed method under mild assumptions on the code and verify it using numerical simulations.
The most important takeaway is that our decoding radius coincides with the one from [20] for Reed–Solomon codes and the one from [21] for one-point Hermitian codes, achieving the Johnson radius for suitable decoding parameters. Though the computational complexity of our decoder can likely be improved by replacing linear algebra with more advanced techniques, this remains outside of the scope of this paper.
Our function field modelling revolves around “using an extra place” as in Pellikaan [22], which allows controlling the “size” of functions by their pole order at . Our key equations are in the style of Gao [23], as introduced for power decoding in [4].
We present evidence supporting that our decoder achieves a decoding radius similar to the GS algorithm in two ways: we theoretically derive a radius at which the decoder will surely fail, and then we see in simulations that for fewer random errors, the decoder seems to almost always succeed. We have no theoretic bound on this failure probability, which has so far proved very challenging even in the case of Reed–Solomon codes, see e.g. [20]. On the other hand, advantages of the power decoding compared to GS algorithm include:
-
•
The power decoder is structurally simpler than the GS algorithm since it does not have a root-finding step, making it easier to implement, possibly faster, and with less footprint in hardware.
- •
-
•
Potentially apply power decoding in a more efficient message attack on AG-based cryptosystems than in [19], possibly by first reformulating it in terms of power error-locating pairs.
II Preliminaries
In this section we briefly introduce AG codes as evaluation codes and formulate the decoding problem that we wish to solve. We assume that the reader is familiar with the language of function fields, which is presented in great detail in [24].
Let be a function field having genus over a base field . Let be rational places of , and fix two divisors and with , such that . The code that we will be considering is
where is the Riemann-Roch space of . The dimension of this code is , where denotes the dimension of for any divisor ; and the code’s minimum distance is bounded from below by the designed minimum distance .
The problem that we wish to address is as follows:
Problem II.1.
Let be a message and let be the corresponding codeword. Given the received word
where is some unknown error, recover .
In the next section, in the traditional spirit of power decoding, we show how II.1 can be reformulated as a highly non-linear system of equations.
III The Key Equations
In this section we formulate the so called key equations that lie at the heart of power decoding using the language of function fields.
We begin by defining the error locator and the received word interpolator, following up with some results about their sizes.
Definition III.1.
If is the received word, then an -interpolator of degree is an element
and for .
Lemma III.2.
There exists an -interpolator with degree satisfying .
Proof.
Consider the -linear map
We are guaranteed that exists if the dimension of the image of , which is given by the rank-nullity theorem as
is . Indeed, Riemann’s theorem theorem says that
and if , then [24, Thm 1.5.17] promises that
which shows that the image of has dimension . ∎
Definition III.3.
Let , where is the set of error positions. An error locator with multiplicity and degree is an element
Lemma III.4.
For any there exists an error locator with degree at most , however, if , then no such error locator exists.
Proof.
If , then the Riemann-Roch theorem promises that
which guarantees existence of an error locator with degree at most .
If on the other hand , then must have more zeroes than poles, which is impossible. ∎
It will be convenient to define the following divisors:
for and .
The next lemma relates these divisors to , and .
Lemma III.5.
If is the sent message, is an -interpolator and is an error locator, then for it holds that
and for it holds that
Proof.
The first claim is obvious. For the second claim observe that
If , then
If on the other hand , then
∎
We are now ready to present the key equations, which express an algebraic relationship between the sent message , an -interpolator and a corresponding error locator .
Theorem III.6 (The Key Equations).
For
(1) |
Proof.
IV Solving the Key Equations
In this section we show how to solve the following problem, which is motivated by Theorem III.6 and II.1:
Problem IV.1.
Consider an instance of II.1. Fix and let be an -interpolator. Find for and for , not all zero, such that
According to Theorem III.6, if is the sent message and there exists an error locator with degree at most , then among the possible solutions of IV.1 we would find
(2) |
Since is roughly proportional to the number of errors (see Lemma III.4), this means that a solution of IV.1 of the type (2) for the smallest-possible corresponds to a codeword that is among the closest codewords to our received word.222Note that it might happen that for two errors of similar weight, the error locator degree of the one of smaller weight is larger or equal to the one of larger weight. For large enough parameter , this case becomes less likely for random errors. It might be that IV.1 for small has solutions that do not correspond to an error locator/message pair. This might happen since IV.1 poses weaker constraints on its solutions compared to (1). Previous works on (improved) power decoding indicate that such “spurious” solutions only occur with very small probability. Also our simulation results in Section VI indicate this. We will get back to types of failure in the next section.
These arguments motivate our decoding strategy: Find a solution of IV.1 for the smallest for which the problem has a solution. If we are successful, we get a solution of IV.1 of the form in (2) (or a scalar multiple thereof), where and correspond to a close codeword to . We can extract , and thus from this solution by division .
Since computational complexity is not a primary concern here, we describe in this section how to solve the problem for a fixed . The “smallest solution” can then be found by iterating from to the maximal possible value for which we expect to be able to decode.
The entire decoding strategy is outlined in Algorithm 1.
In the remainder of this section we give an explicit construction of a matrix over whose right kernel contains vectors from which solutions to IV.1 can be obtained, i.e., how to implement Lines 1 and 1 of Algorithm 1.
For any divisor let denote a vector whose entries form any -basis of such that for any two divisors and it holds that
For any let be the unique vector such that , and for any let be the matrix whose -th column is , where . It is easy to see that
In order to construct we will need a satisfactory received word interpolator which can be for example be obtained as follows: If , where , is the matrix whose -th column is
where , then , where is any solution to the linear system .
The next lemma together with the the subsequent Corollary IV.3 give an explicit construction of and show its relation to IV.1.
Lemma IV.2.
Proof.
Simply observe that
∎
Corollary IV.3 (of Lemma IV.2).
In the next section we describe the conditions under which decoding is expected to fail.
V Decoding Radius
We turn to investigating the decoding performance of the proposed decoder. Since the decoder returns at most one codeword while attempting to decode beyond half the minimum distance, it must obviously fail for certain received words. Theoretically bounding this probability seems a difficult problem even for the simplest case of Reed–Solomon codes, and only partial results are known [1, 5]. We follow the approach of several previous papers on power decoding: we derive theoretically a number of errors at which our decoder is always guaranteed to fail, and we define this to be the “decoding radius”; this name will be supported by simulations in Section VI which indicates that the decoding algorithm succeeds with high probability whenever fewer, random errors occur.
It can be seen from Algorithm 1 that our decoder declares a decoding failure if and only if there is no value of for which the matrix in Corollary IV.3 has a right kernel of -dimension exactly 1.
On the other hand, when we do not declare decoding failure, the returned message candidate must correspond to the closest codeword to the received word, as in the discussion in the preceding section.
This notion of decoding failure motivates a natural bound for when we – simply by linear algebraic arguments – would know a priori that the decoder will fail in the generic case when the smallest error locator corresponding to a codeword has degree (and not smaller), where is the distance of the codeword to the received word:
Definition V.1.
For a given code , the decoding radius of power decoding, denoted , is the greatest value of such that for , if are the row resp. column dimensions of the matrix of Lemma IV.2, then .
Since the proposed decoder will typically return no solutions (and therefore fail) when , the decoding radius tells us how many errors we should at most expect to correct.333It might succeed in rare cases in which the error locator has surprisingly low degree. Our simulation results suggest that this happens with very small probability. We reiterate that, at this point we have given no indications that the decoder should usually succeed up to errors, but we address this by simulations in Section VI.
For a given code , one may compute exactly, but since the equations involve dimensions of sequences of Riemann–Roch spaces, it seems impossible to give a general precise closed form. However, we may lower-bound these numbers using common function field tools:
Lemma V.2.
For and it holds that
and if , then
Proof.
The lower bounds on , and are given by the Riemann-Roch theorem, while the exact value of is given by [24, Thm 1.5.17] since . ∎
The next lemma gives bounds on the dimensions of .
Lemma V.3.
If , then , where
Proof.
∎
With the aid of Lemma V.3 we can deduce a lower bound on values of for which decoding must fail.
Lemma V.4.
It holds that (3) has at least two linearly independent solutions (and decoding fails) if
(4) |
Proof.
Corollary V.5.
The decoding radius as defined in Definition V.1 is given by
Remark V.6.
Remark V.7.
Although this definition of failure is convenient for theoretical analysis it means our decoder must try every sensible (sufficiently small) value of before declaring failure, which is computationally inefficient. In this paper, our primary concern is not computational complexity, but we will remark that in practice, one only needs to use the largest sensible value of : we then pick any non-zero vector in the right kernel of and check if the corresponding message is in . This is how the simulations in Section VI have been conducted.
V-A Parameter Choice & Asymptotic Behavior
The following theorem shows that the decoding radius achieves the Johnson radius asymptotically for large parameters and . It also implies a good practical choice of the parameters and .
Theorem V.8.
Define the sequence as and . Then, for , we have
Proof.
This is a special case of [21, Theorem 5]. ∎
VI Numerical Results
In this section we present Monte-Carlo simulation results of the proposed decoder for a few different AG codes in order to experimentally verify our hypothesis that Algorithm 1 corrects up to errors with high probability and fails with high probability above.
To be precise, for a given code and radius , we test the following:
-
•
Draw a random message and encode it into
-
•
Draw an error uniformly at random from the set of vectors in of Hamming weight
-
•
Decode using Algorithm 1
-
•
If the algorithm does not return a decoding failure and the returned message polynomial is exactly , then count it as success.
Note that the simulation might be unsuccessful also in cases in which Algorithm 1 returns a valid close codeword, but not the transmitted one. This is called a miscorrection, and typically occurs only rarely (see, e.g., [25] for RS codes).
The above described simulation was tested on a few one- and two-point codes over two well known function fields:
-
•
The Hermitian function field is defined by the equation
over , i.e. the finite field of cardinality . It has genus and rational places.
-
•
The Suzuki function field is defined by the equation
over , where . It has genus and rational places.
- •
Table I contains simulation results for various function field family, code, and decoder parameters. All results confirm our hypothesis.
Curve | OFR | |||||||||
---|---|---|---|---|---|---|---|---|---|---|
-
•
Code parameters . means that for some rational places and . Decoder parameters . Number of errors , + means that . Observed failure rate OFR. Each simulation was repeated at least times.
References
- [1] G. Schmidt, V. Sidorenko, and M. Bossert, “Decoding Reed-Solomon Codes Beyond Half the Minimum Distance Using Shift-Register Synthesis,” in IEEE International Symposium on Information Theory, 2006, pp. 459–463.
- [2] ——, “Syndrome Decoding of Reed-Solomon Codes Beyond Half the Minimum Distance Based on Shift-Register Synthesis,” IEEE Transactions on Information Theory, vol. 56, no. 10, pp. 5245–5252, 2010.
- [3] M. Sudan, “Decoding of Reed–Solomon Codes beyond the Error-Correction Bound,” Journal of Complexity, vol. 13, no. 1, pp. 180–193, 1997.
- [4] J. S. R. Nielsen, “Power Decoding of Reed–Solomon Codes Revisited,” in International Castle Meeting on Coding Theory and Applications, Sep. 2014. [Online]. Available: http://jsrn.dk/publications.html
- [5] J. Rosenkilde, “Power Decoding of Reed–Solomon Up to the Johnson Radius,” Advances in Mathematics of Communications, vol. 12, no. 1, pp. 81–106, Feb. 2018.
- [6] V. Guruswami and M. Sudan, “Improved Decoding of Reed–Solomon and Algebraic-Geometric Codes,” in IEEE Annual Symposium on Foundations of Computer Science, 1998, pp. 28–37.
- [7] V. D. Goppa, “Codes on algebraic curves,” Dokl. Akad. Nauk SSSR, vol. 259, no. 6, pp. 1289–1290, 1981.
- [8] ——, “Algebraico-Geometric Codes,” Izvestiya: Mathematics, vol. 21, no. 1, pp. 75–91, 1983.
- [9] M. A. Tsfasman, S. G. Vladut, and T. Zink, “Modular curves, Shimura curves, and Goppa codes, better than Varshamov-Gilbert bound,” Mathematische Nachrichten, vol. 109, no. 1, pp. 21–28, 1982.
- [10] V. Sidorenko and G. Schmidt, “A Linear Algebraic Approach to Multisequence Shift-Register Synthesis,” Problems of Information Transmission, vol. 47, no. 2, pp. 149–165, 2011.
- [11] J. Rosenkilde and A. Storjohann, “Algorithms for simultaneous Hermite–Padé approximations,” Journal of Symbolic Computation, vol. In press, Oct. 2019. [Online]. Available: http://www.sciencedirect.com/science/article/pii/S0747717119301300
- [12] M. Chowdhury, C.-P. Jeannerod, V. Neiger, E. Schost, and G. Villard, “Faster Algorithms for Multivariate Interpolation With Multiplicities and Simultaneous Polynomial Approximations,” IEEE Transactions on Information Theory, vol. 61, no. 5, pp. 2370–2387, May 2015.
- [13] V. Neiger, J. Rosenkilde, and E. Schost, “Fast Computation of the Roots of Polynomials Over the Ring of Power Series,” in International Symposium on Symbolic and Algebraic Computation, Jul. 2017. [Online]. Available: https://hal.inria.fr/hal-01457954/document
- [14] J. Nielsen and P. Beelen, “Sub-Quadratic Decoding of One-Point Hermitian Codes,” IEEE Transactions on Information Theory, vol. 61, no. 6, pp. 3225–3240, Jun. 2015.
- [15] A. Ahmed, R. Koetter, and N. R. Shanbhag, “VLSI Architectures for Soft-Decision Decoding of Reed-Solomon Codes,” IEEE Transactions on Information Theory, vol. 57, no. 2, pp. 648–667, Feb. 2011.
- [16] X.-W. Wu and P. H. Siegel, “Efficient Root-Finding Algorithm With Application to List Decoding of Algebraic-Geometric Codes,” IEEE Transactions on Information Theory, vol. 47, no. 6, pp. 2579–2587, 2001.
- [17] H. Cohn and N. Heninger, “Approximate Common Divisors via Lattices,” The Open Book Series, vol. 1, no. 1, pp. 271–293, 2013.
- [18] S. Puchinger and J. Rosenkilde né Nielsen, “Decoding of Interleaved Reed-Solomon Codes Using Improved Power Decoding,” IEEE International Symposium on Information Theory, 2017.
- [19] A. Couvreur and I. Panaccione, “Power error locating pairs,” Designs, Codes and Cryptography, vol. 88, no. 8, pp. 1561–1593, 2020.
- [20] J. Rosenkilde, “Power decoding Reed-Solomon codes up to the Johnson radius,” Advances in Mathematics of Communications, vol. 12, no. 1, p. 81, 2018.
- [21] S. Puchinger, J. Rosenkilde, and I. Bouw, “Improved Power Decoding of Interleaved One-Point Hermitian Codes,” Designs, Codes and Cryptography, vol. 87, no. 2-3, pp. 589–607, 2019.
- [22] S. C. Porter, B.-Z. Shen, and R. Pellikaan, “Decoding geometric goppa codes using an extra place,” IEEE transactions on information theory, vol. 38, no. 6, pp. 1663–1676, 1992.
- [23] S. Gao, “A New Algorithm for Decoding Reed-Solomon Codes,” in Communications, Information and Network Security, ser. The Springer International Series in Engineering and Computer Science. Springer, Jan. 2003, no. 712, pp. 55–68.
- [24] H. Stichtenoth, Algebraic Function Fields and Codes, 2nd ed. Springer, 2009.
- [25] G. Schmidt, V. R. Sidorenko, and M. Bossert, “Collaborative Decoding of Interleaved Reed–Solomon Codes and Concatenated Code Designs,” IEEE Transactions on Information Theory, vol. 55, no. 7, pp. 2991–3012, 2009.
- [26] A. Garcia and H. Stichtenoth, “On the asymptotic behaviour of some towers of function fields over finite fields,” Journal of number theory, vol. 61, no. 2, pp. 248–273, 1996.