Open System Services Shell and Utilities Reference Manual (G06.28+, H06.05+)
cksum(1) OSS Shell and Utilities Reference Manual
NAME
cksum - Displays the checksum and byte count of a file
SYNOPSIS
cksum [file ...]
DESCRIPTION
The cksum command reads the files specified by the file argument and calculates a 32-bit check-
sum Cyclic Redundancy Check (CRC) and the byte count for each file. If no files are specified,
the standard input file is read. The checksum, number of bytes, and filename are written to the
standard output file. If standard input is used, no pathname is printed.
The cksum command can be used to compare a suspect file copied or communicated over noisy
transmission lines against an exact copy of a trusted file. The comparison made by the cksum
command may not be cryptographically secure; however, it is unlikely that an accidentally dam-
aged file will produce the same checksum as the original file.
The checksum of a program can change. The first time a program is executed after the system is
cold loaded, external references are resolved. This changes the contents of the program file and
hence its contents.
The cksum command uses a different algorithm than the sum command to calculate the 32-bit
checksum CRC. The cksum command uses a CRC algorithm based on the Ethernet standard
frame check. In addition, the sum block count is an octet count in cksum.
The CRC checksum is obtained in the following way:
The encoding is defined by the generating polynomial:
G(x)=x
32
+ x
26
+ x
23
+ x
22
+ x
16
+ x
12
+ x
11
+ x
10
+ x
8
+ x
7
+ x
5
+ x
4
+ x
2
+ x +1
Mathematically, the CRC value corresponding to a given file is defined by the following pro-
cedure:
1. The n bits to be evaluated are considered to be the coefficients of a mod 2 polynomial
M(x) of degree n-1. These n bits are the bits from the file, with the most significant bit
being the most significant bit of the first octet of the file and the last bit being the least
significant bit of the last octet, padded with zero bits (if necessary) to achieve an integral
number of octets, followed by one or more octets representing the length of the file as a
binary value, least significant octet first. The smallest number of octets capable of
representing this integer is used.
2. M(x) is multiplied by x
32
(that is, shifted left 32 bits) and divided by G(x) using mod 2
division, producing a remainder R(x) of degree less than or equal to 31.
3. The coefficients of R(x) are considered to be a 32-bit sequence.
4. The bit sequence is complemented and the result is the CRC.
EXAMPLES
To display the checksum and the size, in bytes, of file1 and file2,enter:
cksum file1 file2
3995432187 1390 file1
3266927833 20912 file2
This output shows that the checksum of the file1 file is 3995432187 and it contains 1390 bytes,
and that the checksum of the file2 file is 3266927833 and it contains 20912 bytes.
2−50 Hewlett-Packard Company 527188-007