Использование полинома CRC-1 не разрешается. Размер входной последовательности 256 байт.
Название |
Полином |
нормальное / реверсивное |
CRC-1 |
x+1 |
0x1 / 0x1 |
CRC-5-EPC |
x5+x3+1 Gen 2 RFID |
0x09 / 0x12 |
CRC-5-USB |
x5+x2+1 USB token packets |
0x05 / 0x14 |
CRC-7 |
x7+x3+1 MMC, SD |
0x09 / 0x48 |
CRC-15-CAN |
x^{15}+x^{14}+x^{10}+x^{8}+x^{7}+x^{4}+x^{3}+1} |
0x4599 / 0x4CD1 |
CRC-16-IBM |
x^{16}+x^{15}+x^{2}+1 Bisync, Modbus, USB, ANSI |
0x8005 / 0xA001 |
CRC-16-CCITT |
x^{16}+x^{12}+x^{5}+1 X.25, HDLC, XMODEM, Bluetooth, SD |
0x1021 / 0x8408 |
CRC-64-ISO |
x64+x4+x3+x+1 HDLC — ISO 3309 |
0x000000000000001B / 0xD800000000000000 |
CRC-30 |
x^{30}+x^{29}+x^{21}+x^{20}+x^{15}+x^{13}+x^{12}+x^{11}+x^{8}+x^{7}+x^{6}+x^{2}+x+1 CDMA |
0x2030B9C7 / 0x38E74301 |
CRC-32-IEEE 802.3 |
x^{32}+x^{26}+x^{23}+x^{22}+x^{16}+x^{12}+x^{11}+x^{10}+x^{8}+x^{7}+x^{5}+x^{4}+x^{2}+x+1 V.42, MPEG-2, PNG |
0x04C11DB7 / 0xEDB88320 |
CRC-32C (Castagnoli) |
x^{32}+x^{28}+x^{27}+x^{26}+x^{25}+x^{23}+x^{22}+x^{20}+x^{19}+x^{18}+x^{14}+x^{13}+x^{11}+x^{10}+x^{9}+x^{8}+x^{6}+1 iSCSI |
0x1EDC6F41 / 0x82F63B78 |
В таблице перечислены наиболее распространённые многочлены — генераторы CRC. На практике вычисление CRC может включать пре- и постинверсию, а также обратный порядок обработки битов. В проприетарных реализациях CRC для усложнения анализа кода применяют ненулевые начальные значения регистров.
Стандарты