- Concerned with bit-errors (e.g., electronic noise, attenuation).
- Scheme: submit extra data-dependent error-detection bits
- Request retransmission for fault data

One error-detection bit whose value depends on the count of 1's in the input.

**Even parity**Bit selected to provide for even number of 1's in the transmission**Odd parity**

Add n bits to each block of k bits so that the n+k bits will be divisible by a predetermined number.

**Modulo 10 arithmetic (Check Digit Method)**:

Make number divisible by 9

**Modulo 2 arithmetic**:

Make the data divisible by a n+1 bits number (e.g., 101 for n=2)

Detects all single-bit errors (01101, 11101,...), and many multiple-bit errors (1101)

- The pattern of the divisor should depend on the type of expected errors
CRC-12 2 ^{12}+ 2^{11}+ 2^{3}+ 2^{2}+ 2^{1}+ 2^{0}CRC-16 2 ^{16}+ 2^{15}+ 2^{2}+ 2^{0}CRC-CCITT 2 ^{16}+ 2^{12}+ 265 + 2^{0}CRC-32 (Ethernet, FDDI,...) 2 ^{32}+ 2^{26}+ 2^{23}+ 2^{22}+ 2^{16}+ 2^{12}+ 2^{11}+ 2^{10}+ 2^{8}+ 2^{7}+ 2^{5}+ 2^{4}+ 2^{2}+ 2^{1}+ 2^{0} - The first and last bits must equal 1
- Catches all double-bits errors, if at least three 1's appear in the pattern
- Catches any odd number of errors, if pattern is divisible by 3
- Catches all burst of error shorter than the pattern