Chinese remaindering with errors

The Chinese remainder theorem states that a positive integer m is uniquely specified by its remainder module k relatively prime integers p/sub 1/, /spl middot//spl middot//spl middot/, p/sub k/, provided m</spl Pi//sub i=1//sup k/p/sub i/. Thus the residues of m module relatively prime integers p/sub 1/<p/sub 2/</spl middot//spl middot//spl middot/<p/sub n/ form a redundant representation of m if m</spl Pi//sub i=1//sup k/p/sub i/ and k<n. This gives a number-theoretic construction of an "error-correcting code" that has been considered often in the past. In this code a "message" (integer) m</spl Pi//sub i=1//sup k/p/sub i/ is encoded by the list of its residues module p/sub 1/, /spl middot//spl middot//spl middot/, p/sub n/. By the Chinese remainder theorem, if a codeword is corrupted in e<(n-k)/2 coordinates, then there exists a unique integer m whose corresponding codesword differs from the corrupted word in at most e places. Furthermore, Mandelbaum (1976, 1978) shows how m can be recovered efficiently given the corrupted word provided that the p/sub i/s are very close to one another. To deal with arbitrary p/sub i/s, we present a variant of his algorithm that runs in almost linear time and recovers from e<(log p/sub 1/)/(log p/sub 1/+log p/sub n/)/spl middot/(n-k) errors. Our main contribution is an efficient decoding algorithm for the case in which the error e may be larger than (n-k)/2. Specifically, given n residues r/sub 1/, /spl middot//spl middot//spl middot/, r/sub n/ and an agreement parameter t, we find a list of all integers m</spl Pi//sub i=1//sup k/p/sub i/ such that (m mod p/sub i/)=r/sub i/ for at least t values of i/spl isin/{1, /spl middot//spl middot//spl middot/, n}, provided t=/spl Omega/(/spl radic/(kn(log p/sub n//log p/sub 1/))). For n/spl Gt/k (and p/sub n//spl les/p/sub 1//sup O(1)/), the fraction of error corrected by the algorithm is almost twice that corrected by the previous work. More significantly, the algorithm recovers the message even when the amount of agreement between the "received word" and the "codeword" is much smaller than the number of errors.

[1]  Piero Maestrini,et al.  Improved decoding algorithms for arithmetic residue codes (Corresp.) , 1978, IEEE Trans. Inf. Theory.

[2]  Paul Walton Purdom,et al.  The Analysis of Algorithms , 1995 .

[3]  Ronitt Rubinfeld,et al.  Reconstructing Algebraic Functions from Mixed Data , 1998, SIAM J. Comput..

[4]  John Bloom,et al.  A modular approach to key safeguarding , 1983, IEEE Trans. Inf. Theory.

[5]  David M. Mandelbaum,et al.  On a class of arithmetic codes and a decoding algorithm (Corresp.) , 1976, IEEE Trans. Inf. Theory.

[6]  Erich Kaltofen,et al.  Polynomial Factorization 1987-1991 , 1992, LATIN.

[7]  David M. Mandelbaum Further results on decoding arithmetic residue codes (Corresp.) , 1978, IEEE Trans. Inf. Theory.

[8]  Dorothy E. Denning,et al.  Cryptography and Data Security , 1982 .

[9]  Richard M. Karp,et al.  Efficient Randomized Pattern-Matching Algorithms , 1987, IBM J. Res. Dev..

[10]  Iwan M. Duursma,et al.  Decoding codes from curves and cyclic codes , 1993 .

[11]  Piero Maestrini,et al.  Error Detection and Correction by Product Codes in Residue Number Systems , 1974, IEEE Transactions on Computers.

[12]  Venkatesan Guruswami,et al.  Improved decoding of Reed-Solomon and algebraic-geometry codes , 1999, IEEE Trans. Inf. Theory.

[13]  Elwyn R. Berlekamp,et al.  Algebraic coding theory , 1984, McGraw-Hill series in systems science.

[14]  Ronitt Rubinfeld,et al.  Learning polynomials with queries: The highly noisy case , 1995, Proceedings of IEEE 36th Annual Foundations of Computer Science.

[15]  James L. Massey,et al.  Shift-register synthesis and BCH decoding , 1969, IEEE Trans. Inf. Theory.

[16]  Eyal Kushilevitz,et al.  Communication Complexity , 1997, Adv. Comput..

[17]  Allan Borodin,et al.  The computational complexity of algebraic and numeric problems , 1975, Elsevier computer science library.

[18]  K. Y. Lin,et al.  Computational Number Theory and Digital Signal Processing: Fast Algorithms and Error Control Techniques , 1994 .

[19]  D. Spielman,et al.  Expander codes , 1996 .

[20]  Daniel A. Spielman Linear-time encodable and decodable error-correcting codes , 1996, IEEE Trans. Inf. Theory.

[21]  Elwyn R. Berlekamp Bounded distance+1 soft-decision Reed-Solomon decoding , 1996, IEEE Trans. Inf. Theory.

[22]  Michael A. Soderstrand,et al.  Residue number system arithmetic: modern applications in digital signal processing , 1986 .

[23]  Alexander Vardy,et al.  Algorithmic complexity in coding theory and the minimum distance problem , 1997, STOC '97.

[24]  Madhu Sudan,et al.  Decoding of Reed Solomon Codes beyond the Error-Correction Bound , 1997, J. Complex..

[25]  David M. Mandelbaum,et al.  Further Results on Decoding Arithmetic Residue COdeS , 1978 .

[26]  Hendrik W. Lenstra,et al.  Integer Programming with a Fixed Number of Variables , 1983, Math. Oper. Res..

[27]  Leslie G. Valiant,et al.  The Complexity of Computing the Permanent , 1979, Theor. Comput. Sci..

[28]  Bud Mishra,et al.  Algorithmic Algebra , 1993, Texts and Monographs in Computer Science.

[29]  László Lovász,et al.  Factoring polynomials with rational coefficients , 1982 .

[30]  F. MacWilliams,et al.  The Theory of Error-Correcting Codes , 1977 .

[31]  Jacobus H. van Lint,et al.  Introduction to Coding Theory , 1982 .

[32]  Amin Shokrollahi,et al.  Decoding algebraic-geometric codes beyond the error-correction bound , 1998, STOC '98.

[33]  R. W. Watson,et al.  Self-checked computation using residue arithmetic , 1966 .

[34]  Adi Shamir,et al.  How to share a secret , 1979, CACM.

[35]  W. W. Peterson,et al.  Encoding and error-correction procedures for the Bose-Chaudhuri codes , 1960, IRE Trans. Inf. Theory.

[36]  Peter Elias,et al.  List decoding for noisy channels , 1957 .

[37]  Peter Elias,et al.  Error-correcting codes for list decoding , 1991, IEEE Trans. Inf. Theory.