Cyclic Redundancy Check(CRC) is a common technique for detecting data transmission errors. It’s a type of hash function which is used to produce a checksum a small, fixed number of bits against a block of data, such as a packet of network traffic or a block of a computer file. The checksum is used to detect errors after transmission or storage. Transmitted messages are divided into predetermined lengths that are divided by a fixed divisor.
According to the calculation, the remainder number is attached onto and sent with the message. When the message is received, the computer recalculates the remainder and compares it to the transmitted part to confirm that no changes occurred on transit. If the numbers do not match, an error is detected.
CRC checks happen every time you read the media. Many CD and DVD burning programs will include a read pass immediately after writing, to ensure that the data was written properly.
CRCs are popular because they are simple to implement in binary hardware, easy to analyze mathematically, and are particularly good at detecting common errors caused by noise in transmission channels.
A number of file transfer protocols, including Zmodem, use CRC in addition to checksum.