Choosing a CRC & specifying its requirements for field-loadable software
Cleon Rogers · 2008
Protecting and verifying, that the integrity remains intact, of data stored and exchanged in electronic systems, has been researched for decades. That data has evolved to include the embedded machine-code, previously restricted to loading at depots or in controlled environments. This paper presents tabulated information to aid in the specification of a cyclic redundancy check (CRC) code algorithm requirement, by matching it to a safety assurance level. In addition, there is a discussion about using a legacy technique to verify a field-loaded, machine-code. Bounds on shortened and/or natural block length codes for 16-bit and 32-bit CRC algorithms found in research, such as, the probability of an undetectable error for a known bit-error rate and error pattern are given. For unknown error rates, there are references to some previous research techniques.