CRC test vectors for CRC16 (CCITT)

crc
Jason S picture Jason S · Dec 16, 2009 · Viewed 20.3k times · Source

Does anyone know of some CRC test vectors for CRC16-CCITT?

I do not have a CRC implementation I can trust and either need to test someone's implementation or my own. (For CRC32, I use the PNG code as the gold standard, as it's a reputable reference implementation.)

(this site's CRC calculator looks useful but I need to verify correctness somehow)


UPDATE: The above CRC calculator looks useful but it takes only ascii, no way to enter hex. --- it's very awkward to enter hex input, though. (ASCII 12 in hex can be entered as %31%32, so you can't just copy+paste a long string of hexadecimal bytes; also the % character doesn't seem to have an escape)

I have verified this online calculator, which takes hex inputs, against the Boost test vectors for CRC16, CRC16-CCITT, and CRC32.

Answer

Laserallan picture Laserallan · Dec 16, 2009

Boost has a nice CRC implementation you can test against. As far as I know it's possible to configure it for CRC16. http://www.boost.org/doc/libs/1_41_0/libs/crc/index.html

There seems to be an example of how to set it up to simulate CCITT on this page: http://www.boost.org/doc/libs/1_41_0/libs/crc/crc.html