Cyclic redundancy check
A cyclic redundancy check (usually abbreviated to CRC) is a mechanism for detecting (and sometimes repairing) errors in data. It is used to make sure that data stored in main memory, or on secondary storage, is not corrupted; and for data which is transmitted over a network (e.g. an Ethernet), to make sure that the data is not damaged in transmission. It is a more sophisticated modern successor to parity.
It consists of the output of a polynomial function applied to the values in a block of data, and then attached to the data. Depending on the particular algorithm, and the size of the stored checksum, it may be possible to repair some errors. A typical CRC might be able to repair 1-bit errors, and detecy any 2-bit error.