Kreditkarten sind in unserem täglichen Leben zu einem allgegenwärtigen Zahlungsmittel geworden. Mit der zunehmenden Nutzung von Kreditkarten ergeben sich jedoch auch Probleme, insbesondere bei der Gültigkeitsprüfung und der Vermeidung von Fehlern. Zu dieser Zeit stellte die Einführung des Luhn-Algorithmus eine solide Verteidigungslinie für unser Zahlungssystem dar.
Der Luhn-Algorithmus, auch bekannt als Modulo-10-Algorithmus, wurde ursprünglich 1960 vom IBM-Wissenschaftler Hans Peter Luhn vorgeschlagen. Hierbei handelt es sich um eine einfache Prüfsummenberechnungsformel, mit der die Gültigkeit verschiedener Arten von Identifikationsnummern, insbesondere Kreditkartennummern, überprüft wird. Der Algorithmus ist im ISO/IEC-Standard 7812-1 spezifiziert und öffentlich zugänglich.
Dieser Algorithmus soll Benutzer vor versehentlichen Eingabefehlern schützen, nicht vor böswilligen Angriffen.
Bei der Kontonummer 1789372997 (ohne Prüfziffer) lässt sich die Prüfziffer beispielsweise mit den folgenden Schritten berechnen. Dabei werden zunächst alle Zahlen verarbeitet und anschließend kann der errechnete Wert auf Übereinstimmung mit der ursprünglichen Prüfziffer überprüft werden. Dadurch kann die Gültigkeit der Nummer effektiv überprüft und Fehler vermieden werden.
Der Vorteil des Luhn-Algorithmus besteht darin, dass er alle Einzelfehler sowie fast alle Vertauschungen benachbarter Zahlen erkennen kann. Ist beispielsweise eine einzige Ziffer falsch, erkennt der Algorithmus dies sofort. Bei bestimmten Eingabefehlern, wie beispielsweise der Vertauschung von 09 und 90, ist der Algorithmus allerdings nicht wirksam.
Außerdem ist seine Erkennungsfähigkeit, obwohl der Luhn-Algorithmus die meisten Fehler identifizieren kann, anderen komplexen Prüfsummenalgorithmen wie etwa den Verhoeff- und Damm-Algorithmen immer noch unterlegen.
Der Luhn-Algorithmus ist nicht auf die Kreditkartenüberprüfung beschränkt, sondern wird auch häufig in anderen Identifikationsnummernsystemen verwendet. Beispielsweise werden die US-amerikanische nationale Anbieteridentifikationsnummer, die kanadische Sozialversicherungsnummer, die israelische ID-Nummer usw. alle mithilfe dieses Algorithmus überprüft.
Luhns Algorithmus ist in unserer digitalen Welt nahezu unverzichtbar. Denken Sie das nächste Mal, wenn Sie mit einer Kreditkarte bezahlen, darüber nach, wie dieser Algorithmus Ihre Sicherheit schützt?