🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.protocols.iso
Article #1655

Re: Looking for IEEE 802.3 (LLC) CRC Generating Software

#1655
From: Christian Huitema
Date: Fri, 26 May 1989 07:19
22 lines
1310 bytes
The method that you refer to is quite clear. You have to compute the
rest of the division of a polynom by a generator, say D32.

Most hardware implement it with shift register technics:
let	P(n) = a n bits polynom,
	P(n+1) = x.P(n) + a(n+1),
	R(n) = P(n) [D32]
then	R(n+1) = x.R(n) + a(n+1) [D32]
If the polynom is well formed, the latter can be computed by looking for a 
x**31 component in R(n):
	if exists x**31 in R(n),
	then:	R(n+1) = (x.(R(n) - x**31) + a(n+1))^R32
		where	R32 = x**32 [D32],
	else	R(n+1) = x.R(n) + a(n+1).
That can be wired with a shift register + xor operation.

The software algorithm basically does the same, but operates on octets
instead of single bits. Instead of xoring R32, one xors R[x], where
R[x] is the remainder of an 8 bits polynoms x, times X**32, by D32.
Computation is trivial.

	
Technical Details
Message-ID: <8905260720.AA28540@jerry.inria.fr>
Path: arc1-ca.pugleaf.net!utzoo!attcan!uunet!cs.utexas.edu!tut.cis.ohio-state.edu!ucbvax!MIRSA.INRIA.FR!Christian.Huitema
References: <ADNAN.89May24092053@sgtech.UUCP>

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!attcan!uunet!cs.utexas.edu!tut.cis.ohio-state.edu!ucbvax!MIRSA.INRIA.FR!Christian.Huitema
From: Christian.Huitema@MIRSA.INRIA.FR (Christian Huitema)
Newsgroups: comp.protocols.iso
Subject: Re: Looking for IEEE 802.3 (LLC) CRC Generating Software
Message-ID: <8905260720.AA28540@jerry.inria.fr>
Date: 26 May 89 07:19:59 GMT
References: <ADNAN.89May24092053@sgtech.UUCP>
Sender: daemon@ucbvax.BERKELEY.EDU
Organization: The Internet
Lines: 22