Soft-decision Decoding of Chinese Remainder Codes

Similar documents
Self-Testing Polynomial Functions Efficiently and over Rational Domains

On Irreducible Polynomial Remainder Codes

List Decoding of Reed Solomon Codes

Margin Maximizing Loss Functions

Solving Systems of Modular Equations in One Variable: How Many RSA-Encrypted Messages Does Eve Need to Know?

Randomized Simultaneous Messages: Solution of a Problem of Yao in Communication Complexity

2012 IEEE International Symposium on Information Theory Proceedings

An Improved Quantum Fourier Transform Algorithm and Applications

Block vs. Stream cipher

A Combinatorial Bound on the List Size

Lecture 6: Expander Codes

: Error Correcting Codes. October 2017 Lecture 1

Shortest Vector Problem (1982; Lenstra, Lenstra, Lovasz)

Lecture 3: Error Correcting Codes

1. Introduction to commutative rings and fields

1. Introduction to commutative rings and fields

Algebraic Codes for Error Control

Chapter 7. Error Control Coding. 7.1 Historical background. Mikael Olofsson 2005

Applications of Discrete Mathematics to the Analysis of Algorithms

1 Shortest Vector Problem

1 Adeles over Q. 1.1 Absolute values

Error Correcting Codes Questions Pool

Improved Decoding of Reed Solomon and Algebraic-Geometry Codes. Venkatesan Guruswami and Madhu Sudan /99$ IEEE

Lecture 12: November 6, 2017

On the NP-Hardness of Bounded Distance Decoding of Reed-Solomon Codes

Lecture 19 : Reed-Muller, Concatenation Codes & Decoding problem

1: Introduction to Lattices

Chapter 2. Error Correcting Codes. 2.1 Basic Notions

Efficient Bounded Distance Decoders for Barnes-Wall Lattices

Computers and Mathematics with Applications

CSE 206A: Lattice Algorithms and Applications Spring Minkowski s theorem. Instructor: Daniele Micciancio

Limits to List Decoding Random Codes

Citation Osaka Journal of Mathematics. 43(2)

MATH3302. Coding and Cryptography. Coding Theory

Codes for Partially Stuck-at Memory Cells

Error-Correcting Codes

CHAPTER 0 PRELIMINARY MATERIAL. Paul Vojta. University of California, Berkeley. 18 February 1998

And for polynomials with coefficients in F 2 = Z/2 Euclidean algorithm for gcd s Concept of equality mod M(x) Extended Euclid for inverses mod M(x)

On the List-Decodability of Random Linear Codes

Notes 10: List Decoding Reed-Solomon Codes and Concatenated codes

Lecture 4: Proof of Shannon s theorem and an explicit code

Algebraic Soft-Decision Decoding of Reed Solomon Codes

Computing Error Distance of Reed-Solomon Codes

Lecture 12. Block Diagram

Orthogonal Arrays & Codes

Modern Algebra Prof. Manindra Agrawal Department of Computer Science and Engineering Indian Institute of Technology, Kanpur

Algebraic Geometry Codes. Shelly Manber. Linear Codes. Algebraic Geometry Codes. Example: Hermitian. Shelly Manber. Codes. Decoding.

On Linear Subspace Codes Closed under Intersection

Sector-Disk Codes and Partial MDS Codes with up to Three Global Parities

DS-GA 1002 Lecture notes 0 Fall Linear Algebra. These notes provide a review of basic concepts in linear algebra.

Linear Codes, Target Function Classes, and Network Computing Capacity

Locally Dense Codes. Daniele Micciancio. August 26, 2013

4488 IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 54, NO. 10, OCTOBER /$ IEEE

chapter 11 ALGEBRAIC SYSTEMS GOALS

Introduction to Arithmetic Geometry Fall 2013 Lecture #18 11/07/2013

CSE 206A: Lattice Algorithms and Applications Winter The dual lattice. Instructor: Daniele Micciancio

Support weight enumerators and coset weight distributions of isodual codes

CS264: Beyond Worst-Case Analysis Lecture #11: LP Decoding

Finding small factors of integers. Speed of the number-field sieve. D. J. Bernstein University of Illinois at Chicago

Preliminaries and Complexity Theory

The cocycle lattice of binary matroids

Reed-Solomon code. P(n + 2k)

CSE 206A: Lattice Algorithms and Applications Spring Basis Reduction. Instructor: Daniele Micciancio

List Decoding Algorithms for Certain Concatenated Codes

ACO Comprehensive Exam March 17 and 18, Computability, Complexity and Algorithms

Quantum algorithms for computing short discrete logarithms and factoring RSA integers

IP = PSPACE using Error Correcting Codes

Error-Correcting Codes:

Polynomials, Ideals, and Gröbner Bases

Guess & Check Codes for Deletions, Insertions, and Synchronization

Math 210B. Artin Rees and completions

Lecture notes on coding theory

On Urquhart s C Logic

Decomposing Bent Functions

Today. Wrapup of Polynomials...and modular arithmetic. Coutability and Uncountability.

Maximum Distance Separable Symbol-Pair Codes

On Solving Ambiguity Resolution with Robust Chinese Remainder Theorem for Multiple Numbers

EE 229B ERROR CONTROL CODING Spring 2005

The Complexity of the Matroid-Greedoid Partition Problem

Lecture 2: Vector Spaces, Metric Spaces

Permanent is hard to compute even on a good day

Lecture 7 September 24

Sampling Contingency Tables

Low Rate Is Insufficient for Local Testability

THESIS. Presented in Partial Fulfillment of the Requirements for the Degree Master of Science in the Graduate School of The Ohio State University

On Syndrome Decoding of Chinese Remainder Codes

Berlekamp-Massey decoding of RS code

NOTES ON FINITE FIELDS

Deterministic Approximation Algorithms for the Nearest Codeword Problem

Lecture 28: Generalized Minimum Distance Decoding

Construction of Barnes-Wall Lattices from Linear Codes over Rings

Decoding Reed-Muller codes over product sets

MODULAR ARITHMETIC KEITH CONRAD

Linear-algebraic list decoding for variants of Reed-Solomon codes

Lecture 4: Codes based on Concatenation

CONVEX OPTIMIZATION OVER POSITIVE POLYNOMIALS AND FILTER DESIGN. Y. Genin, Y. Hachez, Yu. Nesterov, P. Van Dooren

Code-based post-quantum cryptography. D. J. Bernstein University of Illinois at Chicago

Error Detection and Correction: Hamming Code; Reed-Muller Code

Computing over Z, Q, K[X]

Transcription:

Soft-decision Decoding of Chinese Remainder Codes Venkatesan Guruswami Amit Sahai Ý Madhu Sudan Þ Abstract Given Ò relatively prime integers Ô Ô Ò and an integer Ò, the Chinese Remainder Code, ÊÌ É ÔÔÒ, has as its message space Å ¼ Ô, and encodes a message Ñ Å as the vector Ñ Ñ Ò, where Ñ Ñ ÑÓ Ô µ The soft-decision decoding problem for the Chinese remainder code is given as input a vector of residues Ö Ö Ö Ò, a vector of weights Û Û Ò, and an agreement parameter Ø The goal is to find all messages Ñ Å such that the weighted agreement between the encoding of Ñ and Ö (ie, È Û summed over all such that Ö Ñ ÑÓ Ô µ) is at least Ø Here we give a new algorithm for solving the softdecision problem for the ÊÌ code that works provided the agreement parameter Ø is sufficiently large We derive our algorithm by digging deeper into the algebra underlying the error-correcting algorithms and unveiling an ideal - theoretic view of decoding When all weights are equal to, we obtain the more commonly studied list decoding problem List decoding algorithms for the Chinese Remainder Code were given recently by Goldreich, Ron, and Sudan [5], and improved by Boneh [1] Their algorithms work for Ø Ô ÒÐÓ Ô Ò ÐÓ Ô and Ø Ô ÒÐÓ Ô Ò ÐÓ Ô, respectively We improve upon the algorithms above by using our soft-decision decoding algorithm with a non-trivial choice of weights, and solve the list decoding problem provided Ø Ô Ò µ, for arbitrarily small ¼ 1 Introduction Given Ò relatively prime integers Ô Ô Ò and an integer Ò, the Chinese Remainder Code, ÊÌ É ÔÔÒ, has as its message space Å ¼ Ô, and encodes a message Ñ Å as the vector Ñ Ñ Ò, where Ñ Ñ ÑÓ Ô µ The MIT Laboratory for Computer Science, 545 Technology Square, Cambridge, MA 02139 Email: venkat,amits,madhu@theorylcsmitedu Ý Supported in part by a DOD NDSEG Fellowship Þ Supported in part by an MIT-NEC Research Initiation Award, a Sloan Foundation Fellowship and NSF Career Award CCR-9875511 Chinese Remainder Code (henceforth, CRT code), also referred to as the Redundant Residue Number System code, seems to have been studied for several years now in the literature in coding theory (see [15, 9], and the references there in), and its redundancy property has been exploited often in theoretical computer science as well Mandelbaum gave a decoding algorithm for this code, correcting Ò errors 1 Recently, Goldreich, Ron, and Sudan [5] gave a list decoding algorithm for this code Formally, the list decoding problem has as its inputs a vector Ô Ô Ò, an integer (specifying the CRT code), a vector Ö Ö Ò and an agreement parameter Ø The goal is to find a list of all messages Ñ Å such that Ö Ñ ÑÓ Ô µ for at least Ø choices of Ò The notion of list decoding was proposed independently by Elias [3] and Wozencraft [17] as a relaxation to the usual notion of recovery from errors (which requires the output to be a single message) Informally, a list decoding algorithm offers a method of recovery from Ò Ø errors For the case of the CRT code, the algorithm of [5] solved the list decoding problem in poly- Õ ÐÓ ÔÒ nomial time provided Ø Ò ÐÓ Ô If Ô Ò Ç Ô µ, and Ó Òµ, then Ø can be growing as Ó Òµ and this is far better than the results achievable via standard (not list) decoding More recently, Boneh [1] reduced the requirement Ô on Ø by a factor of to be able to correct from Ò ÐÓ Ô agreements Numerous applications are also now known for the CRT list decoding problem Goldreich et al [5] describe an application to computation of the permanent on random instances, Håstad and Näslund [8] use it in constructing hardcore predicates from some (specific) one-way functions, and Boneh [1] shows consequences to the task of finding smooth numbers in short intervals While for all the applications, the original result of [5] would have sufficed (at least to derive qualitatively interesting results), they nevertheless motivate a closer look at the decoding algorithms (and if this yields an improvement in performance, so much the better) Õ ÐÓ ÔÒ 1 Mandelbaum [11] does not give a precise bound on the running time of the algorithm It is pointed out in [5] that the algorithm can have exponential running time for certain values of the Ô s It seems easier to modify the algorithm so as to correctly only Ò µ ÐÓ Ô errors in polynomial ÐÓ Ô ÐÓ ÔÒ (in Ò ÐÓ Ô Ò) time (cf [5])

One weakness common to all the known algorithmic results on CRT decoding is their poor(er) performance if the primes are varying significantly in size This can cause the algorithm of Mandelbaum [11] to take exponential time, while it degrades the number of errors that the algorithms of Goldreich et al [5], or Boneh [1] can correct This weakness, in turn, highlights an eccentricity of the CRT code: Its alphabet size is not uniform, and so the contribution of an error is not independent of its location Viewed differently, if the residue of a message Ñ is known correctly modulo a small prime, then this provides less information than if the residue of Ñ is known correctly modulo a large prime The first coordinate of the code provides only ÐÓ Ô bits of information about the message, while the last coordinate provides ÐÓ Ô Ò bits of information However when we treat the code as a combinatorial object, all coordinates are declared to be equally important The distortion in translating between the two measures of importance of the coordinates leads to a degradation in performance of the code and this explains the common occurrence of the quantity ÐÓ Ô Ò ÐÓ Ô At first glance, this loss in performance seems inevitable After all we are distorting the natural weighting of the code and so the algorithmic results should suffer However, a closer look reveals that this distortion has already been accounted for when estimating the distance of the code It then follows that the code does have distance greater than Ò in the uniform weighting; and thus it should be possible to correct Ò µ errors unambiguously Similarly, some standard results on the combinatorics of list decoding imply that the output size of the list decoding problem is bounded by a polynomial in Ò if Ø Ô Ò However, the algebra of known decoding algorithms defer to the natural weighting of the alphabets of the CRT code To overcome this limitation, one needs algorithms to decode the CRT code under the uniform weighting, or more generally, some arbitrary user-specified weighting, of the coordinates of the code Our Results We first consider the combinatorial implications of the question of reweighting the coordinates of a code in a general setting (and not just the CRT code) Say we have a code of Ò-letter strings, with its natural weight vector «««Ò, where «is a non-negative real representing the natural importance of the -th coordinate of the code (For the CRT code «ÐÓ Ô ) Say the code has distance «under this weighting (ie for any two codewords Ü Ý È, Ü Ý ««) Now suppose we wish to impose our own weighting Ò on the alphabets (typically, our weighting would be the uniform one), and wish to study the code under this weighting We first prove some combinatorial results giving some lower bound on Ø, such that if the weight of agreement under the -weighting is at least Ø, then the size of the output of the list decoder is bounded by a polynomial in Ò (See Theorem 1 and its Corollaries) Next we consider the task of recovering the list of all such codewords in polynomial time, for the CRT code In general, there are few algorithms in the literature on coding theory where the natural weighting of the code (usually the uniform one) can be overcome by a user-imposed weighting; and this is exactly what we wish to do in this case Two known exceptions to this are the Generalized Minimum Distance (GMD) decoding algorithm of Forney [4], and the weighted version of the Reed-Solomon decoding algorithm of Guruswami and Sudan [6] These two algorithms form the starting points for our algorithmic results Our first algorithmic result (Theorem 2) applies the GMD algorithm of Forney [4] to the task of decoding the CRT code under the uniform weighting We show how to combine this result with the results of Mandelbaum [11, 12] and Goldreich et al [5] to obtain the first polynomial time algorithm which decodes the CRT code up to half the minimum distance of the code (ie, recovering from up to Ò µ errors) We stress that no polynomial time algorithm was known for this task prior to our result, since the run time of Mandelbaum s algorithm [11, 12] to correct up to Ò µ errors, was not always polynomial in Ò ÐÓ Ô Ò (see [5] for a discussion) Our algorithm can actually recover from a number of errors which is less than half the weighted minimum distance for any set of positive weights imposed on the codeword positions Technically, this part of the paper is simple the main contribution of this part may be viewed as highlighting the role of GMD decoding in the task of decoding the CRT code Our second algorithmic result extends the weighted list decoding algorithm of Guruswami and Sudan [6] to the case of the CRT code As a consequence we show how to solve the weighted list decoding problem for an arbitrary choice of the vector, as long as the -weighted error matches the combinatorial bound of Theorem 1 This result is shown in Corollary 4 to Theorem 4 We then show how to choose the weight vector (and this part turns out to be a non-trivial guess) so that we get a solution to the uniform list decoding problem for the CRT code, for Ø Ô Ò µ, for a tolerance parameter ¼ as small as we seek In fact, weö can efficiently list decode as long as Ø È ÑÒÒÔ Ò µ È ÐÓ Ô Ò Ó ÐÓ Ô Theorem 3 is the technical centerpoint of this paper It is proven by creating an ideal -lic view of error-correcting codes and the decoding problem This view captures all known algebraic codes, including Reed-Solomon codes and the more general algebraic-geometric codes, as well as number-theoretic codes such as the CRT code Further, we present a decoding algorithm in the same framework that unifies the algebra of most of the known list decoding algorithms including those in [16, 14, 6, 5, 1], and most im-

portant for us, the weighted list decoding algorithm of [6] The resulting abstraction reduces the decoding problem to a number of elementary algorithmic problems on the underlying ideals In the case of the CRT code, these problems turn out to be well-solved problems on integer lattices, such as the problems of computing the sum and the intersection of given lattices, or finding short vectors in them, and thereby solves the weighted list decoding problem for the CRT code The unified algebraic framework emerging from this study may be of independent interest Organization We begin by describing combinatorial bounds on the radius up to which we are guaranteed to have a small number of codewords for a general code which has varying weights (and varying alphabet sizes) on its various coordinates In Section 3 we describe and analyze a soft-decision algorithm for decoding CRT codes, and also prove our main algorithmic result (Theorem 3) Our algorithm is motivated and founded upon an ideal-theoretic view of existing decoding algorithms [6, 5, 1] for redundantresidue codes like the Reed-Solomon and Chinese Remainder codes, which we ferret out and describe as an Appendix (Appendix A) We then get specific results for interesting weightings of the coordinates by non-trivial choice of weights in the main algorithm 2 Combinatorial Bounds Theorem 1 Let be a code of length Ò with the th symbol coming from an alphabet of size Õ Let the distance «of the code be measured according to a weighting vector «ie, for any two distinct codewords, È ««(assume each «without loss of generality) For a weighting vector and a received word Ý, define the ball Ý Ï µ to consist of all strings Þ (in the space Õ Õ Õ Ò ) such that È Ý Þ Ï Then, for all Ý, the ball Ý µ has at most codewords from provided: Õ µ (All sums are for Ò) «È È ««Õ µ «Õ µ«««we prove this bound by generalizing the method of [7], which was used to establish a similar bound in the special case where «is the all vector, and ¼ Ò, and all Õ s are equal The details of the proof are quite technical, and may be found in the full version of the paper When equals «or is the all s vector, we can get the following Corollaries: Corollary 1 When «in the above Theorem, then there are at most a polynomial (in Ò È «) many codewords in any ball Ý «µ provided ««ØÓØ Õ «ØÓØ «ØÓØ «, where «ØÓØ È Ò «Corollary 2 If for all, ie, the distance of the received word from codewords is measured using the Hamming distance, then there are at most a polynomial in Ò many codewords in a Hamming ball of radius provided Ò Ö «ØÓØ «ÈÒ «We will see that for the case of CRT codes, we can essentially match the bounds of Theorem (1) (in the limit of large alphabet sizes) and Corollaries 1 and 2 algorithmically 3 Algorithms for decoding CRT codes In this section, we discuss efficient decoding algorithms for the CRT code As stated above, we consider a sequence Ô Ô Ô Ò of relatively prime integers and an integer Ò Let Ã É Ô ; Æ É Ò Ô We associate to each integer Ñ ¼ à the sequence Ñ Ñ Ñ Ò µ, where Ñ Ñ ÑÓ Ô We will abuse notation and refer to both this sequence and Ñ as a codeword We consider a received word to be a sequence Ö Ö Ö Ò of integers with ¼ Ö Ô for each from to Ò By the Chinese Remainder Theorem, each such sequence corresponds to a unique nonnegative integer Ö Æ For a given sequence of weights Û Û Û Ò, we say the Û-weighted agreement (or simple weighted agreement when the weighting we are referring to is clear) between È a codeword Ñ Ã and a received word Ö Æ is Û, where if Ñ Ö, and ¼ otherwise In this section, we present two efficient decoding algorithms For any sequence of positive weights, the first one efficiently (in near-quadratic time) recovers the unique codeword Ñ Ã with highest -weighted Hamming agreement with a received word Ö, as long as there is a codeword whose -weighted Hamming distance from Ö is less than half the -weighted minimum distance of the code codeword modulo at least Ò µ positions This is accomplished by adapting the method of Forney, introduced for Reed-Solomon codes in [4], to CRT codes Note that in particular this gives the first efficient algorithm to correct from Ò µ errors (ie, decode up to half the minimum distance) for the CRT code In the second (which is our main) decoding algorithm, the goal is to efficiently find a list of all codewords Ñ Ã such that Ñ and the received word Ö have sufficient weighted agreement In particular, we are able to give an efficient list decoding algorithm which outputs all codewords

Ñ Ã which agree with Ö modulo at least Ô Ò µ positions (for any, with the running time of the algorithm depending polynomially in ) 31 GMD decoding for CRT codes For integers Ò and relatively prime integers Ô Ô Ô Ò, and any integer, Ò, Goldreich, Ron, and Sudan [5] gave a near-linear time algorithm to compute the unique integer Ñ, if any, that satisfies ÐÓ Ô ÐÓ Ô ÐÓ Ô where is defined in the usual way: if Ñ Ö ÑÓ Ô µ and ¼ otherwise Note that the above algorithm decodes up to half the minimum Û-weighted distance (ÐÓ Æõ) for the natural weighting Û ÐÓ Ô of the CRT code Using this algorithm as the basic algorithm and running a GMD style algorithm similar to Forney [4], we are able to perform such a decoding for any choice of weights Ò To prove this we show a more general result Suppose we have an arbitrary code of blocklength Ò We show how to use a decoding algorithm designed for any weighting «to produce È one that works for the desired weighting Define Ò «««where «is «-weighted distance of the code, so that «is the maximum «-weighted agreement between two distinct codewords of ; is defined similarly We are now ready to state and prove the main result of this section: Theorem 2 Let «ÊÒ be positive real vectors such that ««Ò «Ò Suppose we have a polynomial time algorithm Ð «that given a received word Ö Ö Ö Ò and an index ( Ò), can find the unique codeword, if any, whose «-weighted agreement with Ö in the first codeword positions is more than (1) È ««Then, for any vector of positive reals Ò, there is a polynomial time algorithm Ð that given a received word Ö Ö Ò, outputs the unique codeword, if any, whose -weighted agreement with Ö is at least È Ò ÑÜ, and moreover the run-time of Ð is at most Ç Òµ times that of Ð «Corollary 3 For the CRT code with parameters Ò Ô Ô Ô Ò µ, for any received word Ö Ö Ö Ö Ò µ, there is a polynomial time (in fact near-quadratic time) algorithm to find the unique codeword Ñ Ñ Ñ, Ñ Ò µ, if any, that agrees with Ö in at least Ò positions Proof: By Equation (1) we have a near-linear time decoding algorithm for the weighting «ÐÓ Ô and «ÐÓ Ã (where Ã Ô Ô Ô ) By Theorem 2 applied to being the all-ones vector, we have and thus we can find the unique codeword Ñ that agrees with Ö in at least Ò µ places For any constant, we can also correct Ò additional errors by simply erasing symbols for all possible choices of positions and then running the above decoding algorithm In particular, this implies that we can find the unique codeword with agreement at least Ò µ with Ö in polynomial time Proof of Theorem 2: Recall that the codeword positions are ordered so that ««Ò «Ò Define µ Ò ÑÜ Ü (2) È Ü¼ Ò «Ü «Note that under the condition Ü ¼ Ò, the above would just define ; we relax the condition to Ü ¼ Ò in the above to define Clearly ÑÜ We will present an algorithm to find the unique codeword, if any, that satisfies Ò Ò (where if Ö and ¼ otherwise), and this will imply the claimed result (since ÑÜ ) We now assume such a exists, for, otherwise, there is nothing to prove The algorithm Ð will simply run Ð «for all values of, Ò, and pick the closest codeword among the (at most Ò) codewords which the runs of Ð «returns If this algorithm fails to find the codeword that satisfies Condition (3), then we must have, by the hypothesis of the Theorem, for every, Ò, Let Ü È Ò «Ü «(3) ««(4) ¼ ¼ be a vector such that «(here ¼ ) Denote by the last position where Ü (ie, Ü and Ü ) By our definition (2) È Ü (in fact by the ordering of the codeword positions it is easy to see that È Ü though we will not need this) Now for, «È Ò «Ü È «Ü Also, for, we have the obvious inequality È «È «È «Ü Combining these with Equation (4) we obtain the following uniform condition that holds for all, Ò: «««Ü (5)

Multiplying the Ø inequality above by the non-negative quantity ««for Ò (define Ò ¼ and «Ò ), and adding the resulting inequalities, we get Ò Ò Ò Ü Ò which contradicts Condition (3) Thus the codeword that satisfies (3), if any, will indeed be output by the algorithm Ð 32 The Weighted List Decoding Algorithm Our goal in this section is to efficiently find a list of all codewords Ñ Ã such that Ñ and the received word Ö have sufficient weighted agreement We note that a simple transformation makes it equivalent for us to find integers Ñ where Ñ Ã, with sufficient agreement with a received word Ö Ö Ò µ Our algorithm follows the ideal-based framework presented in Appendix A Following [5], the basic idea will be to find an integer polynomial ܵ (based on the received word Ö) with the property that all codewords that have sufficient weighted agreement with the received word are roots of the polynomial ܵ over the integers Then, by factoring ܵ and extracting all factors of the form Ü Ñµ for Ñ Ã where Ñ has sufficient weighted agreement, we could recover all sufficiently similar codewords We are able to construct such a polynomial by pursuing two objectives, which are in turn adaptations of the objectives of [16] in the context of Reed-Solomon codes: 1 To ensure that the polynomial ܵ has the property that for any integer Ñ such that Ñ Ã, if Ñ Ö ÑÓ Ô, then ѵ ¼ ÑÓ Å, for some sequence of moduli Å By the Chinese Remainder Theorem, this in turn implies that for any Ñ with Ñ Ã, we have that ѵ ¼ ÑÓ É Å µ where if Ñ Ö, and ¼ otherwise 2 To ensure that the coefficients of ܵ È ¼ Ü are sufficiently small In particular, for some integer, ensure that õ for all This in turn implies that if is the degree of ܵ, for any Ñ with Ñ Ã, we have that ѵ µ È ¼ õ By combining Objectives 1 and 2, we see that for any integer Ñ such that Ñ Ã with sufficient agreement so that É Å µ, we have that Ñ is a root of ܵ, not only modulo some number, but over the integers too, as we desired Note that the decoding condition is equivalent to È ÐÓ Å ÐÓ µ µ We show how to achieve these objectives for Å Ô Þ, for arbitrary non-negative integer sequences Þ, yielding a weighted decoding condition similar to the one in [6] for Reed-Solomon codes 33 The Main Theorem We now state and prove our main algorithmic result Theorem 3 For a CRT code with the above parameters, given a received word Ö Ö Ö Ö Ò µ with ¼ Ö Ô, and any non-negative integers and Þ for Ò, we can find in time polynomial in Ò ÐÓ Æ and È Þ, a list of all codewords Ñ that satisfy Ò Þ ÐÓ Ô ÐÓ µ ÐÓ Ã Ò Þ ÐÓ Ô (6) where if Ñ Ö and ¼ otherwise Proof: In light of the preceding discussion, our basic objective will be, given some sequence of integers Þ, to find a polynomial ܵ such that for all, Ò, the following Condition holds: (*) For all integers Ñ such that Ñ Ã, we have that Ñ Ö ÑÓ Ô implies ѵ ¼ ÑÓ Ô Þ For a fixed, consider the Þ µ polynomials Ô Ü Ö µ µ Þ Þ These certainly satisfy Condition (*) Let Á Þ ¼ be the ideal in the polynomial ring Ü generated by these Þ µ polynomials 2 In other words, Á Þ is the closure of this set of polynomials under addition, and multiplication by any polynomial It is immediate that all polynomials in Á Þ satisfy Condition (*) We now establish that there must be polynomials with Ì small coefficients that lie in the intersection 3 Ò ideal Á Á Þ, and thus satisfy Condition (*) for all : Lemma 1 For any positive integers and, if Ò Ô Þ µ õ È then there exists some degree integer non-zero polynomial ܵ Ü such that õ for all ¼ from ¼ to, and Á 2 We note that the exponentiation notation actually makes sense here, see Appendix A 3 Note that this is also the product ideal, but we will refer to it as the intersection ideal in this text to retain intuition See Appendix A for discussion

Proof: For any fixed, we will count how many possible residues any integer polynomial ܵ can have modulo Á Þ Consider the following sequence of polynomials: Let ¼ ܵ be the remainder when ܵ is divided by Ü Ö µ Þ (using the standard polynomial division algorithm) Because Ü Ö µ Þ is monic, ¼ ܵ has degree at most Þ Now add or subtract Ô Ü Ö µ Þ as many times as necessary from ¼ ܵ in order to force the coefficient of Ü Þ to be non-negative and less than Ô ; let the result be ܵ Continue this process, obtaining ܵ by adding or subtracting Ô Ü Ö µ Þ as many times as necessary from ܵ in order to force the coefficient of Ü Þ to be non-negative and less than Ô We stop at Þ Üµ, which we will call the canonical residue of ܵ modulo Á Þ The canonical residue is a degree Þ µ integer polynomial such that for all from ¼ to Þ, the coefficient of Ü is non-negative É and less than Ô Þ Þ There are thus Ô such polynomials We associate a canonical residue to ܵ µ Ô Þ É for each ideal Á Þ, yielding Ò possible sets of canonical residues Now we consider the space of degree integer polynomials ܵ È ¼ Ô Þ µ Ü such that ¼ õ for all from ¼ to There are õ µ such polynomials If É Ãµ µ Ò, then there must either be a non-zero such polynomial ܵ such that all the canonical residues vanish, in which case ܵ Á; or there must be two distinct such polynomials ܵ and ¼ ܵ such that the canonical residues are identical modulo Ô Þ µ every Á Þ In this case, the polynomial ܵ ¼ ܵ is in the intersection Á and satisfies the condition of the Lemma (Lemma 1) To establish our algorithmic result, we need only show how to find such a polynomial ܵ efficiently Note that if we consider the intersection ideal Á restricted to polynomials of degree at most, this can be seen as an integer lattice Ä of dimension µ Finding a suitable polynomial with small coefficients can therefore be seen exactly as finding a short vector in this lattice This can be accomplished using lattice basis reduction algorithms such as LLL, provided we can construct a basis for this lattice We stress that it is not necessary to explicitly write down the basis; all that we need is to be able to efficiently compute a basis We now demonstrate how to do this Explicit bases for the individual lattices Ä corresponding to the polynomials of degree at most in each Á Þ are easily obtained by considering the generating polynomials for Á Þ restricted to polynomials of degree at most : Let Þ ÑÒÞ The first Þ vectors in our basis correspond to the generating polynomials Ô Þ µ Ü Ö µ ¼ Þ from the ideal Á Þ For example, corresponding to Ô Þ Ü Ö µ, we add the vector Ö Ô Þ Ö Ô Þ Ô Þ ¼ ¼µ If Þ, then we also add vectors corresponding to the polynomials Ü Ü Ö µ Þ Þ Let Å µ be the µ by µ matrix whose rows are the vectors from this basis We observe that the integer linear combinations of these vectors correspond exactly to the set of polynomials in the ideal Á Þ of degree at most : Lemma 2 The space of polynomials corresponding to vectors in the lattice Ä is exactly the ideal Á Þ restricted to polynomials of degree at most Proof: By construction, the polynomials corresponding to integer linear combinations of the rows of Å µ are a subset of Á Þ restricted to polynomials of degree at most Let ܵ ܵ Ô Þ Üµ µ Ô Þ Ü Ö µ Þ Ü Ö µ Þ be an arbitrary polynomial of degree at most in Á Þ Since Ô Ô Ü Ö µ Þ µ Ü Ö µ Ô Ü Ö µ Þ µ, we may assume without loss of generality that the degree of ܵ is at most ¼ for each Þ (if this fails for a particular Þ, subtract the appropriate multiple of Ü Ö µ from ܵ and add the appropriate multiple of Ô to ܵ) Thus, ܵ is an integer linear combination of µ Ô Þ Ü Ö µ ¼ Þ and Ü Ü Ö µ Þ Þ, as claimed (Lemma 2) We remark that using standard techniques (see Appendix B), given bases for the (full-dimensional) lattices Ä, a basis for the intersection lattice Ä Ì Ò Ä can be computed By Lemma 2, Ä corresponds exactly to the space of polynomials in the intersection ideal Á of degree at most Let Ä ¼ be a re-scaling of the lattice Ä where Ú ¼ Ú Ú µ Ä iff Ú ¼ Ú Ãµ Ú Ãµ µ Ä ¼ We now show that applying the LLL algorithm to the lattice Ä ¼ gives us the polynomial we are looking for: Lemma 3 Let Ú ¼ be the lattice vector returned by the LLL lattice basis reduction algorithm when applied to the lattice Ä ¼, and let ܵ be the corresponding polynomial Then for any Ñ with Ñ Ã such that: Ò Ô Þ µ Ò Ô Þ µ à we have that Ñ will be an integer root of the polynomial ܵ Proof: Let ÉÒ Ô Þ µ õ Lemma 1 shows that there exists a vector Ú in Ä ¼ such that for all, we have that Ú, and so Ú Ô Thus, the LLL lattice reduction algorithm returns a vector Ú ¼

Ä ¼ which is at most a factor of times larger: Ú ¼ Ô Hence, Ú ¼ Ô µ Ú ¼ µ This corresponds to a polynomial ܵ such that for all integers Ñ with Ñ Ã, we have that ѵ µ ; on the other hand, of course, ܵ Á, so by construction ѵ ¼ ÑÓ É ÔÞ µ The Lemma follows (Lemma 3) Thus, we see that under the condition prescribed by the Theorem, we can efficiently find a polynomial whose set of roots contains all codewords with sufficient weighted agreement with the received word, and the decoding can then be completed by finding all integer roots of this polynomial using the polynomial time algorithm for factoring polynomials in Ü from [10] (Theorem 3) For easy reference, we summarize in Figure 1 the main steps of the algorithm from the above proof of Theorem 3 We now present an alternative algorithmic proof of Theorem 3, in which we translate the ideal-based reasoning given above directly into an explicit lattice Alternative Proof (of Theorem 3): As in the original proof, we will seek to find a polynomial ܵ, with coefficients that are bounded in size and with degree at most, such that for all, Ò, the following Condition holds: (*) For all integers Ñ such that Ñ Ã, we have that Ñ Ö ÑÓ Ô implies ѵ ¼ ÑÓ Ô Þ Here, we present an alternative method to find such polynomials Recall the definitions of the ideals Á Þ and the intersection ideal Á from the original proof, to provide intuition for our construction We build an explicit lattice Ä in which all polynomials (of degree at most ) are represented, but where we also represent, for each ideal Á Þ, the possible translates of these polynomials by elements of the ideal (again restricted to degree at most ) Thus, polynomials that are present in all the ideals Á Þ can be translated to ¼ in each of the ideals We constrain all non-zero translations to contribute a very large factor to the norm of the corresponding vector Thus, we obtain a lattice Ä in which all polynomials are represented (by many vectors), but in which polynomials outside the intersection ideal Á must be represented by very long vectors, whereas polynomials inside the ideal Á have one representative vector (where the polynomial has been translated to ¼ for each ideal) that is quite short Thus, the construction essentially mimics the steps of the proof of Lemma 1 to give this implicit representation, allowing us to extract small polynomials in the intersection ideal Á Let us now describe the lattice Ä formally, by presenting an explicit basis The lattice Ä will have Ò µ µ dimensions, conceptually separated into Ò blocks of components each We represent the basis vectors by the rows of the following matrix, described modularly: ¼ ¼ ¼ ¼ ÕÅ Òµ ¼ ¼ ÕÅ Ò µ ¼ ¼ ÕÅ µ ¼ ¼ ÕÁ µ ÕÁ µ ÕÁ µ (7) Above, all component matrices are µ by µ Let ÉÒ Ô Þ µ õ Above, Õ Ô Ò µ µ The matrix Á µ simply represents the µ by µ identity matrix The matrix is an identity matrix with each diagonal entry scaled as shown: ¼ ¼ ¼ ¼ à ¼ ¼ ¼ õ Thus, the last basis vectors correspond to the polynomials Ü Ü Ü These vectors are broken up into Ò µ blocks of µ dimensions each: the first block measures how large the polynomial can be when evaluated on an integer of magnitude at most õ; the remaining Ò blocks are each used to measure the residue of the polynomial modulo the ideals Á Þ Á Ò ÞÒ In order to measure this residue, we need to have other vectors in our lattice that allow us to reduce this residue by the generators of the ideals The matrices Å µ, as defined in the original proof, serve this purpose Recall that the rows of the matrix Å µ correspond to the generating polynomials of the ideal Á Þ restricted to polynomials of degree at most Note, however, that in our proof, we will only need that the polynomials corresponding to integer linear combinations of the rows of Å µ satisfy Condition (*) we do not need to refer to the ideals themselves: Now, for any polynomial ܵ of degree at most, we can mimic the steps of the proof of Lemma 1 by adding and subtracting integer multiples of the polynomials represented by the rows of Å µ for each Thus, for any polynomial ܵ of degree at most, there exists a vector Ú Ä such that for all between and Ò, in the th block of Ú there is one of at most Ô Þ µ vectors Hence, (again mimicking the proof of Lemma 1), if we consider all polynomials ܵ of degree at most such that ¼ õ for all, we must find either a corresponding vector Ú Ä with all ¼ s beyond the first coordinates, or two vectors Ú µ and Ú µ such that all coordinates beyond the first agree In the second case, Ú Ú µ Ú µ will have the property that Ú for all between and, and

List Decode Ö Þ Þ Þ Ò µ 1 Let Á Þ be the set of polynomials that are integer linear combinations of Ô Ü Öµ Þ µ Þ Ì Ò 2 Compute a basis for the lattice Ä of all degree polynomials belonging to ÁÞ 3 Scale this lattice by multiplying the th coordinate by õ to produce the lattice Ä ¼ 4 Run LLL to find a short vector Ú ¼ in Ä ¼ ; let it correspond to a degree polynomial ܵ Ü 5 Find all integer roots Ñ of ܵ (for example, by factoring ܵ over Ü using [10]) 6 For each root Ñ with Ñ Ã, define the vector Ò µ by if Ñ Ö ÑÓÔ µ, and ¼ otherwise Output Ñ if satisfies Condition (6) ¼ Figure 1 The list decoding algorithm Ú ¼ for all Thus, by construction, Ú will be, for each, an integer linear combination of the rows of Å µ, and therefore correspond to a polynomial satisfying Condition (*) for all Hence, there exists a lattice vector Ú Ä such that Ú Ô We use the LLL lattice basis reduction algorithm to find a short vector Ú ¼ in this lattice Ä The standard analysis of LLL would only guarantee that Ú ¼ is within a Ò µ µ µ factor of the shortest vector, but because of the special structure of the lattice Ä, we show that LLL returns a vector that is within a factor of the shortest vector: Lemma 4 When the LLL algorithm is applied to the lattice Ä above, the first basis vector returned by LLL is such that ĵ, where ĵ is the norm of the shortest nonzero vector in Ä Proof: Let Ò Ò µ µ be the dimension of the lattice Ä We will refer to standard facts about LLL-reduced bases and shortest vectors in a lattice, which can be found for example in Section 26 of Cohen [2] We recall two basic facts Let Ò be the orthogonalization of the LLL-reduced basis Ò returned by the algorithm In other words, is defined inductively to Then we have: equal È 1 For any such that Ò, we have that µ 2 ĵ ÑÒ Ò These two facts together imply that Ò µ ĵ We show that in fact: ĵ, which when combined with the first ÑÒ fact, establishes the Lemma Recall that Ä is constructed so that any non-zero entry of a lattice vector beyond the first µ coordinates must have magnitude at least Õ Ô Ò We know that a vector in Ä exists that has norm at most Ô We thus know already that Ò Äµ Õ Ò µ Hence, can be non-zero only in the first coordinates On the other hand, at least one of the basis vectors must have a non-zero component beyond the first coordinates by linear independence Let be the first vector to have a non-zero component in some coordinate Ø (by the previous statement, ) Then Õ, and by construction of orthogonalization, it must be that Õ as well, since must also have a non-zero component in coordinate Ø Now, for all, we have that: µ Õ Ò µ Thus, ÑÒ ÑÒ, and the Ò Lemma is established (Lemma 4) Thus, the polynomial corresponding to the vector returned by the LLL lattice basis reduction algorithm has the property we seek: Lemma 5 Let Ú ¼ be the lattice vector returned by the LLL lattice basis reduction algorithm when applied to the lattice Ä, and let ܵ be the corresponding polynomial Then for any Ñ with Ñ Ã such that: Ò Ô Þ µ Ò Ô Þ µ à we have that Ñ will be an integer root of the polynomial ܵ Proof: By Ô the existence of a vector in the lattice with norm at most and Lemma 4, we have that Ú ¼ Ô Hence, Ú ¼ Ô µ Ú ¼ µ This corresponds to a polynomial ܵ such that for all integers Ñ with Ñ Ã, we have that ѵ µ On the other hand, since Ú ¼ is ¼ in all coordinates beyond the first, the corresponding polynomial ܵ satisfies Condition (*), and so ѵ ¼ ÑÓ É ÔÞ µ The Lemma follows (Lemma 3)

Thus, we see that under the condition prescribed by the Theorem, we can efficiently find a polynomial whose set of roots contains all codewords with sufficient weighted agreement with the received word, and the decoding can then be completed by finding all integer roots of this polynomial using the polynomial time algorithm for factoring polynomials in Ü from [10] (Theorem 3) 34 Decoding for Interesting Weightings We now get specific results for the CRT code for interesting choice of weights on the coordinate positions through an appropriate choice of parameters (like Þ ) in Theorem 3 We begin by stating a version of Theorem 3 with arbitrary (not necessarily integer) values of Þ This result is not difficult and involves scaling the weights by a large integer and then taking ceilings to convert them to integer weights; a formal proof can be found in the full version of the paper Theorem 4 For list decoding of CRT codes, for any tolerance parameter ¼, and non-negative reals Þ, given a received word Ö, we can in time polynomial in Ò ÐÓ Æ and, find a list of all codewords such that Ò Þ ÐÓ Ô ÚÙ Ù Ø Ò ÐÓ Ã Þ ÐÓ Ô ÞÑÜ (8) Corollary 4 For list decoding of CRT codes, for any tolerance parameter ¼, and non-negative real weights, given a received word Ö, we can, in time polynomial in Ò ÐÓ Æ and, find a list of all codewords whose - weighted agreement with Ö satisfies: Ò ÚÙ Ù Ø ÐÓ Ã Ò ÑÜ ÐÓ Ô ÐÓ Ô Note that the above Corollary implies that, in the limit of large Ô, we can decode up to (essentially) the combinatorial bound of Theorem 1 with «ÐÓ Ô and «ÐÓ Æõ Let us now collect further results for the usual uniform weighting of the codeword positions, ie, for all Theorem 5 For list decoding of CRT codes, for any ¼, we can in time polynomial in Ò ÐÓ Æ and, find a list of all codewords which agree with a received word in Ø places provided Ø Ô Ò µ Proof: Let us apply Theorem 4 with Þ ÐÓ Ô for, Þ ÐÓ Ô for Ò, and ¼ ÐÓ Ô This gives that we can decode whenever the number of agreements Ø is at least ÚÙ ÐÓ Ã Ù Ø Ò ÐÓ Ã ÐÓ Ô ÐÓ ÐÓ Ã Ô ÐÓ Ô ¼ Define ÐÓ Ã ÐÓ Ô ; clearly ¼ Since ÐÓ Ô ÐÓ Ô for Ô Ò, the above condition is met whenever Ø µ Ò µ Now, a simple application of Cauchy-Schwartz shows Ô µ Ò µ Ô Ò µ, and thus our decoding algorithm works whenever Ø Ô Ò µ Theorem 6 For list decoding of CRT codes, for any ¼, we can in time polynomial in Ò ÐÓ Æ and, find a list of all codewords which agree with a received word in Ø places provided Ø Ö ÈÒ ÐÓ Ã ÐÓ Ô Proof: This follows from Corollary 4 with for Ò Note that the above matches the combinatorial bound of Corollary 2 The bounds in Theorem 5 and Theorem 6 are incomparable in general Acknowledgments We thank Dan Boneh for informing us of his work [1] and making a copy of his paper available on his homepage We thank Daniele Micciancio for useful discussions on Lattices and pointers to [13] References [1] D Boneh Finding Smooth integers in short intervals using CRT decoding Proc of STOC 2000, to appear [2] H Cohen A Course in Computational Algebraic Number Theory Springer Verlag, Berlin-Heidelberg, 1993 [3] P ELIAS List decoding for noisy channels Wescon Convention Record, Part 2, Institute of Radio Engineers (now IEEE), pp 94-104, 1957 [4] G D Forney Generalized Minimum distance decoding IEEE Trans on Information Theory, Vol 12 (1966), pp 125-131 [5] O Goldreich, D Ron and M Sudan Chinese Remaindering with errors IEEE Trans on Information Theory, to appear Preliminary version appeared in Proc of 31st STOC, 1999, pp 225-234 [6] V Guruswami and M Sudan Improved decoding of Reed- Solomon and Algebraic-geometric codes IEEE Trans on Information Theory, 45 (1999), pp 1757-1767 Preliminary version appeared in Proc of FOCS 98 [7] V Guruswami and M Sudan List decoding algorithms for certain concatenated codes Proc of STOC 2000, to appear [8] J Håstad and M Näslund The security of all RSA and Discrete Log bits Proc of 39th FOCS, 1998, pp 510-519 [9] H Krishna, B Krishna, K Y Lin and J D Sun Computational Number Theory and Digital Signal Processing: Fast algorithms and error control techniques Boca Raton, FL: CRC, 1994

[10] A K Lenstra, H W Lenstra and L Lovász Factoring polynomials with rational coefficients Mathematische Annalen, 261 (1982), pp 515-534 [11] D M Mandelbaum On a class of arithmetic codes and a decoding algorithm IEEE Trans on Information Theory, 21 (1976), pp 85-88 [12] D M Mandelbaum Further results on decoding arithmetic residue codes IEEE Trans on Information Theory, 24 (1978), pp 643-644 [13] D Micciancio Lecture notes on Lattices in Cryptography and Cryptanalysis, Fall 1999, UCSD Available at http://www-cseucsdedu/ daniele/cse291fa99html [14] M A Shokrollahi and H Wasserman List decoding of algebraic-geometric codes IEEE Trans on Information Theory, Vol 45, No 2, March 1999, pp 432-437 [15] M A Soderstrand, W K Jenkins, G A Jullien and F J Taylor Residue Number System Arithmetic: Modern Applications in Digital Signal Processing New York: IEEE Press, 1986 [16] M Sudan Decoding of Reed-Solomon codes beyond the error-correction bound Journal of Complexity, 13(1):180-193, March 1997 [17] J M Wozencraft List Decoding Quarterly Progress Report, Research Laboratory of Electronics, MIT, Vol 48 (1958), pp 90-95 A Ideals and Error-correcting codes In this section we describe a framework for studying algebraic error-correcting codes and the decoding problem in the setting of ideals in commutative rings We give a decoding algorithm in the same framework this decoding algorithm abstracts and unifies known algorithms for this task, and specializes to the algorithm given in Section 32 for CRT decoding Here we focus only on the qualitative features of codes and decoding A more quantitative version of this abstraction can be developed using norms on the underlying rings We assume the reader is familiar with the concept of commutative rings, integral domains and ideals Definition 1 (Ideal error-correcting code) An Ideal Code is given by an integral domain Ê and ideals Â Â Ò Ê The message space of is some subset Å Ê The alphabets of are given by Ê (Note that the definition is interesting only if Ê is finite) The code maps the element Å to the sequence Â Â Ò While not every linear code is an ideal code, many commonly studied ones, including Reed-Solomon codes, Algebraic-geometry codes and the CRT codes, are ideal codes Now, consider an instance of the list-decoding problem with a received vector Ö Ö Ò Informally, the algorithm of [16, 14, 6, 5, 1] cast this problem as follows: Definition 2 ( Ideal -lic list-decoding) Let ÊÜ be the ring of polynomials in Ü with coefficients from Ê Let Á Ü Ö µ  be the ideal ܵ Ü Ö µ ܵ Ô Üµ ܵ ÊÜ Ô Â Find a list of all elements of ÊÜ of the form Ü, with Ê, such that Ü Á for many values of Ò From this formulation, their algorithms (and the use of factoring there) emerge naturally (Weighted) List-decoding algorithm 1 Pick vector Þ Þ Ò appropriately 2 Find a non-zero polynomial ܵ (with small coefficients) such that É Ò ÁÞ 3 Factor and report the list of linear factors Ü Note that the notion of products of ideals is a wellstudied one When the ideals  and  are relatively prime, the product of the ideals Á Þ and Á Þ equals their intersection and this fact often leads to some quantitative improvements in the bounds; however is not critical to the correctness of the approach In specializing the algorithm above to specific cases, the following ingredients need to be added: (1) Algorithms for finding representations of intersections and products of ideals (2) Explicit notion of small and algorithms for finding small elements in the ideal (3) Choice of Þ s and a quantitative analysis of the performance of the algorithm (since a list-decoding algorithm to recover from zero errors may not be very interesting) The application to CRT decoding in Section 32 is obtained by finding and adding these ingredients B Lattice Algorithms We recall some standard techniques in the algorithmics of lattices, in particular computing the intersection of fulldimensional lattices A more formal treatment may be found in [2, 13] Let Ä be any full-dimensional lattice of dimension, with basis given by the rows of the matrix Å We define the dual Ä of the lattice Ä to be Ù Ê Ù Ú for all Ú Ä Note that the rows of Å give a basis for Ä Note also that given bases for two lattices Ä and Ä, a basis for the closure of union of the two lattices (denoted Ä Ä ) can be found efficiently using algorithms for computing the Hermite Normal Form of a generating set of vectors Now, to compute a basis for the intersection of two lattices Ä and Ä, observe that Ä Ä Ä Ä µ Therefore, by combining the facts above, one obtains an efficient algorithm for computing the intersection of fulldimensional lattices