]> git.donarmstrong.com Git - deb_pkgs/scowl.git/blob - r/enable/CHECKSUM.DOC
[svn-inject] Installing original source of scowl
[deb_pkgs/scowl.git] / r / enable / CHECKSUM.DOC
1                         THE "CHECKSUM" PROGRAM\r
2 ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ\r
3 \r
4 A "checksum" is a uniquely generated file signature, a sort of digital\r
5 certificate of authenticity for that file. It is a number calculated\r
6 from the very contents of the file. Changing a single character in the\r
7 file results in a different checksum. This makes it easy to determine\r
8 whether a file has been tampered with or altered.\r
9 \r
10 A generic checksum utility might work by assigning each character (letter)\r
11 in the tested file a numerical value according to its relative position in\r
12 the alphabet. If we were to give 'a' a value of 1, then 'b' would be 2,\r
13 'c' would be 3... and finally 'z' would become 26. Finding the sum of\r
14 all the numbers associated with the characters in a word file would\r
15 yield a ridiculously large number, so, at periodic intervals, one could\r
16 divide the running total by a cleverly chosen "magic number" and only\r
17 keep the remainder. Throw in an additional factor to distinguish adjacent\r
18 characters from one another, so that a transposition of letters makes a\r
19 difference in the final total. To increase security, output the checksum\r
20 in hexadecimal, or base 16 notation, so that the letters 'a' through\r
21 'f' stand for the decimal numbers 10 through 15.  Simple, yet effective.\r
22 \r
23 For all you technical types, this is nothing more than a simple "hashing"\r
24 algorithm, nevertheless, it serves its purpose by detecting most instances\r
25 of tampering and alteration in files\r
26 \r
27 The first release of ENABLE used a checksum utility written by one\r
28 of the maintainers of that list. That particular checksum program\r
29 had a clever hack to return the same checksum for both the DOS and\r
30 UNIX versions of an otherwise identical list. In the interests of\r
31 increased security, the original checksum program will no longer be\r
32 distributed with ENABLE. Users of the ENABLE list wishing to verify\r
33 that their copy of the list is pristine are now urged to download the\r
34 "MD5 Command Line Message Digest Utility", written by Ron Rivest\r
35 (of RSA fame) from http://www.fourmilab.ch/md5/. The "md5.zip"\r
36 file from that site contains both a 32-bit Windows binary and the\r
37 source code for a UNIX build. The md5 signature for the WORD.LST\r
38 file in ENABLE2K is B175518814B6B8787CFE34C7BB8705B6 (if the file is\r
39 converted to UNIX format, with the CR's removed, the md5 signature is\r
40 E942E9E884090D2BDB02265864882231).  The maintainers of the ENABLE list\r
41 regret that they can offer no assistance in using "md5".\r
42 \r
43 Those interesting in delving more deeply into the subject of file security\r
44 may obtain Phil Zimmerman's "PGP" program. It is considerably more secure,\r
45 if more complex, than even the excellent md5 package. The excellent book,\r
46 PGP: PRETTY GOOD PRIVACY, by Simon Garfinkel (O'Reilly & Associates,\r
47 Inc., ISBN 1-56592-098-8), gives in depth coverage on the subject.\r
48 \r
49 \r
50                                  M\Cooper\r
51                                 PO Box 237\r
52                        St. David, AZ  85630-0237\r
53                         thegrendel@theriver.com\r
54                http://personal.riverusers.com/~thegrendel/\r