Question: why xor is used in crc?
Answer: Just that instead of subtraction, we use XOR here. In each step, a copy of the divisor (or data) is XORed with the k bits of the dividend (or key). The result of the XOR operation (remainder) is (n-1) bits, which is used for the next step after 1 extra bit is pulled down to make it n bits long.