Sự lựa chọn chiều dài CRC so với kích thước tập tin là chủ yếu có liên quan trong trường hợp một là nhiều khả năng có một đầu vào mà lại khác với "sửa" đầu vào bởi ba hoặc ít bit hơn để có một mà là ồ ạt khác nhau. Với hai đầu vào khác nhau rất lớn, khả năng kết hợp sai sẽ là khoảng 1/256 với hầu hết các dạng giá trị kiểm tra 8 bit (bao gồm CRC), 1/65536 với hầu hết các dạng giá trị kiểm tra 16 bit (bao gồm CRC) , vv Lợi thế của CRC đến từ việc xử lý các yếu tố đầu vào rất giống nhau.
Với CRC 8 bit có đa thức tạo ra hai khoảng thời gian 128, phần bit lỗi đơn, đôi hoặc ba trong gói ngắn hơn không bị phát hiện sẽ không là 1/256 - nó sẽ bằng không. Tương tự như vậy với CRC 16 bit của giai đoạn 32768, sử dụng gói 32768 bit hoặc ít hơn.
Nếu gói dài hơn thời gian CRC, tuy nhiên, lỗi kép bit sẽ không bị phát hiện nếu khoảng cách giữa các bit sai là bội số của khoảng thời gian CRC. Trong khi đó có thể không có vẻ giống như một kịch bản khủng khiếp, một CRC8 sẽ có phần tồi tệ hơn trong việc bắt lỗi đôi bit trong các gói tin dài hơn là bắt các lỗi "gói hoàn toàn bị xáo trộn". Nếu lỗi đôi bit là chế độ lỗi phổ biến thứ hai (sau các lỗi một bit), điều đó sẽ là xấu. Nếu bất cứ điều gì làm hỏng một số dữ liệu có khả năng làm hỏng rất nhiều dữ liệu, tuy nhiên, hành vi kém hơn của CRC với lỗi đôi bit có thể không phải là vấn đề.
Cuộc tấn công MD5 vào cuối năm 2008 là một ví dụ về sách giáo khoa về vấn đề với CRC quá thống nhất hoặc quá nhỏ: http://www.win.tue.nl/hashclash/rogue-ca/ – bzlm
CRC không phải là một thuật toán băm. Đó là một cách để xem liệu một chút đã vô tình bị đảo lộn hay không. Tôi không thấy kết nối với liên kết MD5. Tôi sẽ nhìn lại. – Robert
@bzlm MD5 không liên quan gì đến nó. CRC sẽ không chống lại các cuộc tấn công như vậy cả, chúng được sử dụng để phát hiện các lỗi ngẫu nhiên, không tấn công nguy hiểm. – starblue