Prev    Up    Next  

5.2 Byteweise Verarbeitung

Nimmt man wieder an, daß M(x)  die zu sichernde Nachricht ist, dann wird bei der Bildung des CRC  {M (x)} = R(x)  folgende Restklassendivision durchgeführt

       k
R(x)= x M (x) mod G(x).

Es wird also der Polynomrest R (x)  so bestimmt, daß

xkM (x)= F(x)G(x)+ R(x)

unter der Nebenbedingung R(x)< G (x)  erfüllt ist. Nimmt man zur Nachricht M (x)  nun ein weiteres Byte B(x)  hinzu, bildet also einen neue Nachricht

M′(x)= x8M (x)+ B (x),

dann gilt für den zugehörigen CRC-Rest  ′           ′
R(x)= CRC  {M (x)} :

pict

Zerlegt man jetzt R(x)  so in zwei Teile R(x)= xk−8R1(x)+ R0(x)  , daß dessen höherwertiger Teil R1(x)  durch 8 Bit und der niederwertige Teil R0(x)  entsprechend durch k − 8  Bit repräsentiert wird, dann gilt

x8R0(x) mod G(x)= x8R0(x)

und Gleichung 7 vereinfacht sich zu:

pict

Für die durch 8   Bit darstellbaren 256 Werte ist es grundsätzlich kein Problem den CRC-Rest vorauszuberechnen und auf dieser Grundlage den Term CRC  {R1(x)+ B(x)} über einen Tabellenzugriff sehr schnell zu ermitteln.