Cksum
# Cksum

cksum ist ein Systemprogramm unter Unix- und unixähnlichen Betriebssystemen, das Checksummen über eine Datei oder Stream erstellen kann. Der cksum Befehl liest jede Datei, die in seinen Argumenten angegeben ist. Ohne Argument wird die Standardeingabe benutzt und die Anzahl der Bytes ermittelt.
Der cksum Befehl kann verwendet werden, um zu überprüfen, ob Dateien, die auf unzuverlässige Weise übertragen wurden, unversehrt angekommen sind. Die vom Befehl cksum berechnete CRC-Prüfsumme ist jedoch nicht kryptographisch sicher: Es schützt zwar vor einer ungewollten Beschädigung (es ist unwahrscheinlich, dass die beschädigten Daten dieselbe Prüfsumme wie die originalen Daten haben), es ist jedoch für einen Angreifer nicht schwierig, die Datei absichtlich auf eine bestimmte Weise zu manipulieren, so dass die Prüfsumme richtig aussieht, es aber nicht ist. Unix-ähnliche Systeme enthalten normalerweise andere Befehle für kryptographisch sichere Prüfsummen, wie z. B. sha256sum.

## Arbeitsweise

Der Standardbefehl cksum, wie er auf den meisten Unix-ähnlichen Betriebssystemen zu finden ist (einschließlich Linux, *BSD, macOS und Solaris), verwendet einen CRC-Algorithmus, basierend auf der Ethernet-Standard-Frame-Check, und ist daher zwischen Implementierungen interoperabel. Dies steht im Gegensatz zum Unix-Befehl sum, der nicht interoperabel und nicht kompatibel mit der CRC-32-Berechnung ist. Auf Tru64-Betriebssystemen gibt der Befehl cksum einen anderen CRC-Wert zurück, es sei denn, die Umgebungsvariable CMD_ENV ist auf xpg4 gesetzt.

## Algorithmus

cksum verwendet das Generatorpolynom 0x04C11DB7 und hängt seine Länge in Little-Endian-Darstellung an die Nachricht an.

## Beispiel

Dabei steht 4038471504 für den Prüfsummenwert und 75 für die Dateigröße von test.txt.