Path: utzoo!attcan!uunet!mcvax!hp4nl!bebux!henk From: henk@bebux.UUCP (Henk Dijkstra) Newsgroups: comp.sys.ibm.pc Subject: Re: CRC checksums Keywords: CRC checksums computation algorithms Message-ID: <1528@bebux.UUCP> Date: 12 Jan 89 21:18:03 GMT References: <5303@phoenix.Princeton.EDU> Reply-To: henk@bebux.UUCP (Henk Dijkstra) Organization: Betronic B.V. AMSTERDAM Netherlands Lines: 31 In article <5303@phoenix.Princeton.EDU> jwbirdsa@phoenix.Princeton.EDU (James Webster Birdsall) writes: > > Can somebody either tell me or point me to references on how to >compute a CRC checksum for a block of characters? Fast algorithms would >be much appreciated. :-) > Thanks... Here is an Outline: * This is a parallel CRC-computing function * For a 8-bit CRC you could use a generator polynome of: X8 + X4 + X3 + 1 * Or 19H (X4+X3+1) X8=carry. * START: CRC-Reg = 0 LOOP: shift left CRC-Reg for 1 position Was the MSB of CRC-Reg clear? (Carry=0?) THEN EXOR CRC-Reg with Polynome (19H) EXOR CRC-Reg with memory cell Was last memory cell done? NO increment memory pointer by 1 and goto LOOP: YES CRC now in CRC-Reg. From: D.Leisengang; Signaturanalyse in der Datenverarbeitung. -- Henk Dijkstra : BETRONIC B.V. USENET : henk@bebux.UUCP : PO-box 4317 ..!hp4nl!bebux!henk : 1009 AH AMSTERDAM, NL VOICE : (+31) 20 6652251 --------------------------------------------------------------------------------