Prüfsumme
In der Informationstechnik ist eine Prüfsumme (englisch checksum) ein Wert, mit dem die Integrität von Daten überprüft werden kann.
Grundsätzlich ist eine Prüfsumme ein Wert, der aus den Ausgangsdaten berechnet wurde und in der Lage ist, bestimmte Fehler in den Daten zu erkennen. Je nachdem wie komplex die Berechnungsvorschrift für die Prüfsumme ist, können mehrere Fehler erkannt oder auch korrigiert werden.
Prüfsummen werden typischerweise dazu verwendet, um zu plausibilisieren, dass zwei Datensätze übereinstimmen oder ein einziger Datensatz in sich konsistent ist. Sie haben verschiedene Anwendungsgebiete:
- Datenübertragung: Die aus den Ausgangsdaten errechnete Prüfsumme wird vom Sender mit den Daten übertragen. Der Empfänger berechnet nun aus den empfangenen Daten nach dem gleichen Verfahren die Prüfsumme und vergleicht diese mit der übertragenen Prüfsumme des Senders. Unterscheiden sich beide Prüfsummen, so liegt ein Übertragungsfehler vor. Sind die beiden Prüfsummen identisch, so ist die Nachricht wahrscheinlich korrekt übertragen worden.
- Datensicherung: Hier wird die Prüfsumme der Daten vor dem Speichern mit der Prüfsumme der Daten nach dem Wiederauslesen verglichen.
- Manuelle Dateneingabe: Wenn Daten von Hand eingegeben werden, ist die Prüfsumme Bestandteil der Eingabe, um Eingabefehler zu erkennen.
- Datenintegrität: Besondere kryptographische Hashfunktionen wie etwa die Methode SHA-256 werden angewendet, wenn sichergestellt werden soll, dass Daten seit der Errechnung der Prüfsumme nicht verändert wurden.
Einfache Verfahren
Ein einfaches Beispiel für eine Prüfsumme ist die Quersumme oder das Paritätsbit. Allerdings werden mit diesen Verfahren beispielsweise keine „Zahlendreher“ erkannt. Fletcher’s Checksum ist etwas schwerer zu berechnen, bietet aber auch größere Sicherheit.
Prüfsummenverfahren, die mit einem gewichteten Mittelwert der Daten arbeiten, sind recht sicher gegenüber zufälligen Veränderungen, etwa Zeichenvertauschungen, -verdopplungen oder -auslassungen. Sie werden beispielsweise angewendet bei der ISBN (International Standard Book Number) und bei den EAN-Codes.
Komplexere Verfahren
Der Begriff „Prüfsumme“ wird auch für aufwendigere Prüfverfahren verwendet, die komplexere Berechnungen anstelle der einfachen Aufsummierung der Datenwerte vornehmen, so beispielsweise für die zyklische Redundanzprüfung (englisch CRC). Eine zyklische Redundanzprüfung verwendet statt einfacher Addition eine Polynomdivision und ist im Allgemeinen effektiver bei der Erkennung von Zufallsfehlern als eine primitive Prüfsumme.
Obwohl eine herkömmliche Prüfsumme nützlich ist, um vor unbeabsichtigten Änderungen zu schützen, bietet sie keine Sicherheit gegenüber beabsichtigten Datenänderungen (Manipulation), da sie trivial zu umgehen ist. Es ist deshalb oft notwendig, anstelle eines einfachen Prüfsummenverfahrens kryptografisch stärkere Algorithmen, wie Einweg-Hash-Funktionen (z. B. den Secure Hash Algorithm), zu verwenden. Diese stellen weiterhin die Grundlage elektronischer Unterschriften dar.
Siehe auch
- Prüfsummen sind Bestandteil der meisten Fehlerkorrekturverfahren.
- Mathematisches Modell vieler Prüfsummen ist die Diedergruppe.
- Prüfziffer
- Hashfunktion
- ISO/IEC 7064 – internationale Norm für Prüfzeichensysteme