Introduction to Error-Correcting Codes
Cryptography is concerned with sensitive data transmission, storage, etc., while coding theory deals with the error-prone process of data transmission across noisy channels and data storage, via clever means, so that errors that occur can be corrected. Interestingly, though their primary objectives are different, much interplay between these two areas of research has been discovered. For example, the McEliece (or, equivalently, Niederreiter) cryptosystem is a public key cryptosystem based on error-correcting codes (see [105, 112]), though it does not fall within the scope of this book. However, we will see in some of the later chapters that error-correcting codes play prominent roles in cryptographic primitives such as secret sharing schemes and authentication codes. They also constitute one of the ways in which algebraic curves enter into cryptography, through algebraic geometry codes, i.e., error-correcting codes constructed using algebraic curves. This chapter serves to provide a brief introduction to error-correcting codes. For a more comprehensive introduction to the subject, the reader may refer to .