Prüfsumme (englisch checksum, auch Checksumme) ist ein Sammelbegriff für Prüfwerte, die aus den Nutzdaten berechnet und mitgesendet oder mitgespeichert werden. Der Empfänger berechnet die Prüfsumme neu und vergleicht sie mit der übertragenen – weichen sie ab, wurden die Daten verändert. Prüfsummen sind eine einfache, schnelle Form der Fehlererkennung.
Einfache Verfahren
Die schlichteste Prüfsumme ist die Quersumme: Man addiert alle Ziffern oder Bytes einer Nachricht. Bekannt sind auch das Paritätsbit (Zählen der Einsen) und die XOR-Prüfsumme, bei der alle Datenwörter bitweise verknüpft werden. Diese Verfahren erkennen einzelne Fehler zuverlässig, scheitern aber an bestimmten Mustern – eine Quersumme bemerkt beispielsweise vertauschte Ziffern (Zahlendreher) nicht.
Robuster: Fletcher und Internet-Checksumme
Die Fletcher-Prüfsumme kombiniert zwei Summen und erkennt dadurch auch vertauschte Blöcke. Die Internet-Checksumme (RFC 1071) summiert 16-Bit-Wörter im Einerkomplement und schützt die Header von TCP, UDP und IPv4. Sie ist bewusst einfach gehalten, weil sie in jedem Router und Endgerät in Software oder Hardware laufen muss.
Prüfsummen im Alltag
- ISBN-10: gewichtete Prüfziffer als letzte Stelle
- IBAN: Prüfziffern erkennen Tippfehler bei Überweisungen
- Kreditkartennummern: Luhn-Algorithmus
- Download-Checks: MD5- und SHA-256-Werte von Dateien
Grenzen und Abgrenzung
Einfache Prüfsummen erkennen nur zufällige Fehler, nicht absichtliche Manipulation – ein Angreifer kann Daten und Prüfsumme gemeinsam verändern. Gegen absichtliche Eingriffe braucht es kryptografische Verfahren wie Hashfunktionen (zum Beispiel SHA-256) oder Message Authentication Codes. Für die reine Übertragungssicherung in Netzen ist dagegen die Zyklische Redundanzprüfung (CRC) der Standard – eine besonders leistungsfähige Prüfsumme, die auch Bündelfehler erkennt, die einfache Summen übersehen.
Verwandte Grundlagen: Fehlererkennung, Zyklische Redundanzprüfung (CRC), Hashfunktion, SHA-256.