Вы не говорите, что вы пытаетесь защитить.
CRC часто используется во встроенных системах для проверки случайного повреждения данных, а не для предотвращения злонамеренной модификации системы. Примеры мест, где может быть полезен CRC, - это проверка образа EPROM во время инициализации системы для защиты от повреждения встроенного программного обеспечения. Системный загрузчик вычислит CRC для кода приложения и сравнит его с сохраненным значением, прежде чем разрешить выполнение кода. Это защищает от возможности случайного повреждения программы или неудачной загрузки.
Аналогичным образом можно также использовать CRC для защиты данных конфигурации, хранящихся во FLASH или EEPROM. Если CRC неверен, данные можно пометить как недействительные и использовать набор данных по умолчанию или резервный набор данных. CRC может быть недействительным из-за сбоя устройства или если пользователь отключил питание во время обновления хранилища данных конфигурации.
Были комментарии, что хэш обеспечивает большую вероятность обнаружения повреждения, чем CRC с множественными битовыми ошибками. Это верно, и решение о том, следует ли использовать 16- или 32-битный CRC, будет зависеть от последствий безопасности для поврежденного блока данных и от того, сможете ли вы оправдать вероятность 1 к 2 ^ 16 или 2 ^ 32 ошибочно объявлен блок данных действительным.
Многие устройства имеют встроенный генератор CRC для стандартных алгоритмов. Серия MSP430F5X из Техаса имеет аппаратную реализацию стандарта CRC-CCITT.