Article View: alt.security.pgp
Article #189Re: What is Checksum, CRC and MD5 hash???
From: Nick Maclaren
Date: Thu, 14 Dec 1995 00:00
Date: Thu, 14 Dec 1995 00:00
44 lines
3362 bytes
3362 bytes
In article <4ao8sv$nr@titan.saturn.net>, halflife@saturn.net (Brian Mitchell) writes: |> Kevin Curry (curryk@cnwl.igs.net) wrote: |> |> : All this time using computers and I never really asked. Hummm!!!! |> |> : What is Checksum, Cyclic Redundancy Check and a MD5 Hash Function? |> |> Well, there is a file called 'everything you allways wanted to know |> about crcs but were afraid to ask' which might be helpful. I have it around |> here. They are all hash functions, with md5 being the best of the three. |> Checksums are nearly useless nowadays, check xmodem source for simple |> checksum code. CRC code is commonly available, and there is a rfc with md5 |> code in it I think, although i'm not possitive. Checksums as such (i.e. BSD or System V sum) have always been an indication of the incompetence of their authors. They fail to detect many of the most common forms of transmission errors (e.g. missing or inserted nulls), and this has been known since the early days of electric communication. And by that, I mean the telegraph. Single bit checksums are useful in hardware, but anything higher should use a hash function of some sort. CRCs are similar to Gray codes and are near-optimal for the detection of certain types of single bit error, such as is common in very low-level networking (e.g. dialup). They have minimal advantages over 'random' hash functions for the detection of file corruption. MD5 etc. are cryptographic hash functions and are supposedly secure against a deliberate attack (as distinct from accidental corruption), unlike checksums, CRCs etc. But they are very little better against accidental corruption than a 'random' hash function of the same size. On cus.cam.ac.uk in /pub/software/programs/checksum, you will find a highly portable C program that calculates BSD and System V checksums (for comparison), a very simple arithmetic hash function, the POSIX.2 CRC and MD5. Nick Maclaren, University of Cambridge Computer Laboratory, New Museums Site, Pembroke Street, Cambridge CB2 3QG, England. Email: nmm1@cam.ac.uk Tel.: +44 1223 334761 Fax: +44 1223 334679
Technical Details
Message-ID:
<4aotr7$1tt@lyra.csx.cam.ac.uk>Path:
arc1-ca.pugleaf.net!unknown!not-for-mailReferences:
<4aj5d1$r5v@nntp.igs.net> <4ao8sv$nr@titan.saturn.net>Show Full Headers
Complete Article Headers
X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 115914,6fde8c59366160eb X-Google-Attributes: gid115914,public X-Google-Thread: f7536,6fde8c59366160eb X-Google-Attributes: gidf7536,public X-Google-Thread: fcd68,6fde8c59366160eb X-Google-Attributes: gidfcd68,public X-Google-Thread: f6126,2858973aa00a1ec9 X-Google-Attributes: gidf6126,public X-Google-Thread: f8b5f,6fde8c59366160eb X-Google-Attributes: gidf8b5f,public X-Google-Thread: 10db24,6fde8c59366160eb X-Google-Attributes: gid10db24,public X-Google-Thread: 10304d,6fde8c59366160eb X-Google-Attributes: gid10304d,public X-Google-Thread: 112044,6fde8c59366160eb X-Google-Attributes: gid112044,public From: nmm1@cus.cam.ac.uk (Nick Maclaren) Subject: Re: What is Checksum, CRC and MD5 hash??? Date: 1995/12/14 Message-ID: <4aotr7$1tt@lyra.csx.cam.ac.uk> X-Deja-AN: 121917908 distribution: inet references: <4aj5d1$r5v@nntp.igs.net> <4ao8sv$nr@titan.saturn.net> organization: University of Cambridge, England newsgroups: alt.security.pgp,alt.industrial.computing,alt.comp.virus,cern.computing,comp.ai.edu,comp.arch.arithmetic,comp.compression,comp.edu,comp.hardware,comp.org.decus,comp.org.ieee,comp.programming