Cyclic_Redundancy_Check

Cyclic Redundancy Check thường viết tắt là CRC, là thuật ngữ tiếng Anh trong kỹ thuật số (tạm dịch "Kiểm dư chu trình"), là phương pháp kiểm tra và phát hiện lỗi, được sử dụng trong các mạng số và thiết bị lưu trữ để phát hiện sự thay đổi tình cờ đối với dữ liệu được truyền đi hay lưu trữ.CRC là một loại hàm băm dùng để phát sinh giá trị kiểm thử cho chuỗi bit, các gói tin vận chuyển qua mạng hay một khối nhỏ của tệp dữ liệu. Giá trị của CRC được tính toán và đính kèm vào dữ liệu trước khi dữ liệu được truyền đi hay lưu trữ. Khi dữ liệu được sử dụng, nó sẽ được kiểm thử bằng cách sinh ra mã CRC và so khớp với mã CRC trong dữ liệu. CRC rất phổ biến, vì nó rất đơn giản để lắp đặt trong các máy tính sử dụng hệ cơ số nhị phân, dễ dàng phân tích tính đúng, và rất phù hợp để dò các lỗi gây ra bởi nhiễu trong khi truyền dữ liệu.CRC do W. Wesley Peterson phát triển năm 1961.[1] Thời kỳ đó phương tiện lưu dữ liệu chủ yếu là băng ghi 9 đường (9 track tape) với 8 đường cho 8 bit dữ liệu của 1 byte và 1 cho bit chẵn lẻ. Dữ liệu ghi được chia khối (block) với kết thúc khối là byte CRC (CRC 8 bit). Ngày nay CRC có thể lập với 8, 16 hay 32 bit cho khối, và được vận chuyển cùng với bit chẵn lẻ để kiểm tra và phát hiện lỗi.