Prüfziffern aus Darmstadt

Modulo-10 sollte verbessert werden

24.10.1975

MÜNCHEN - Das einfache und effektive Verfahren der Deutschen Buchgemeinschaft, Prüfziffern aus numerischen Daten zu errechnen, fand Anerkennung bei Professor Glaser von der Pennsylvania State University. Der Mathematiker hatte sich zuvor mit dem Datensicherungssystem beschäftigt, wie es von EDV-Spezialisten der Pennsylvania-Finanzbehörden entwickelt wurde, und dort in der Modulo-10-Arithmetik Fehlermöglichkeiten nachgewiesen.

Der Modulo-10

Man benützt Prüfzifferverfahren, um Verfälschungen von Daten erkennbar und korrigierbar zu machen. Diese Prüfziffern werden nach bestimmten mathematischen Verfahren aus den zu übertragenden oder zu speichernden Daten gewonnen und ihnen hinzugefügt. Am meisten verbreitet ist der so genannte "Modulo-10": Man multipliziert z. B. bei einer siebenstelligen Zahl die erste Ziffer, mit 7, die zweite mit 6, die dritte mit 5... und die letzte mit 1. Die Einerstelle der Summe der Produkte ist der "Modulo-10"; das Komplement davon auf 10 ergibt die Prüfziffer-.

Gespeichert oder übertragen wird die Zahl 83124592.

Die Prüfziffer 2 am Ende dieser Zahl hat also die Aufgabe, Übertragungsfehler der ersten sieben Ziffern erkennbar zu machen.

Durch Modulo-10 kann man Ziffernvertauschungen erkennen: Bei einer siebenstelligen Zahl die zwischen der ersten und zweiten, zweiten und drittens dritten und vierten... und zwischen der sechsten und siebten. Nicht aber, wie Professor Glaser am Beispiel der Pennsylvania-Lösung demonstrierte, zwischen der siebten und der Prüfziffer. So erhält man bei einem "Dreher" der letzten beiden Ziffern immer eine scheinbar gültige Zahl, da der Multiplikationsfaktor der Ziffer vor der Prüfziffer eine 1 ist.

Einmaleins mit Hindernissen

Aber auch die jeweilige Multiplikation (Gewichtung) mit den Faktoren 2, 4, 5, 6 und 8 ist problematisch. Wenn man die Ziffern 0 bis 9 mit den Faktoren 1 bis 9 multipliziert und die Einerstellen der Produkte betrachtet, ergibt sich folgendes Bild.

Lediglich bei den Faktoren 1, 3, 7 und 9 entstehen zehn verschiedene Einerstellen. Wird die entsprechende Ziffer also falsch übertragen, kann man an der Prüfziffer erkennen, daß ein Fehler vorliegt.

Bei den Faktoren 2, 4, 6 und 8 ergibt das Einmaleins zweimal füngleiche, nämlich gerade Einerstellen. Das Vertauschen der Ziffern 0 und 5, 1 und 6, 2 und 7, 3 und 8, 4 und 9 bleibt also unbemerkt, denn die Prüfziffernmathematik erkennt fälschlich auf "gültig".

Beim Faktor 5 schließlich schlüpfen 50 Prozent aller Fehler unbemerkt durch die Maschen des Modulo-10-Netzes. Nämlich alle jene Fälle, bei denen gerade Ziffern mit geraden oder ungerade mit ungeraden vertauscht werden.

Das "Darmstadt-System"

Das Verfahren der Deutschen Buchgemeinschaft sieht für eine siebenstellige Zahl - einfach und elegant - die Gewichtsfaktoren 2-1-2-1-2-1-2 vor. Beim Faktor 1 ergeben sich nach der Multiplikation alle Einerstellen von 0 bis 9. Wird mit dem Faktor 2 malgenommen, berücksichtigt man zusätzlich zu den Einerstellen auch die Zehnerstellen und bildet dann aus Zehner- und Einerstellen eine Ziffernsumme. Dabei entstehen ebenfalls alle zehn möglichen Dezimalziffern.

Nach Modulo-10 Ó la Darmstadt erkennt man also zunächst alle jene Fälle, bei denen eine beliebige Ziffer falsch übertragen wurde. Außerdem ist auch die Vertauschung von zwei benachbarten Stellen abgesichert, da sich dann in jedem Fall die Prüfziffer ändern würde; auch dann, wenn es sich um einen "Dreher" zwischen der siebten Ziffer und der Prüfziffer handeln sollte. Außerdem ist dieses Verfahren nicht so rechenintensiv, da die Multiplikation mit 1 nicht tatsächlich durchgeführt wird.

Selbst renommierte US-Kolumnisten - wie Alan Taylor von "Computerworld" - beschäftigen sich mit, dem "Darmstadt-System" und nennen es einen hoffnungsvollen Beitrag zur Sicherheit von Datenübertragung und -speicherung.

Überall, wo es Nummern zu erfassen und zu übertragen gibt, beschäftigen sich Systemanalytiker und Organisatoren mit zahlreichen mathematischen Prüfverfahren. Aus Damstadt kommt jetzt eine verblüffend einfache, maschinenaufwand-sparende Lösung - zugleich mit der Erkenntnis, daß das weiterverarbeitete bisherige Modulo-10-Verfahren nicht sicher ist.