Luhn-Formel (Modulo 10)
Der Luhn-Algorithmus, auch Modulo 10 oder Modulo-10-Algorithmus genannt, ist eine einfache mathematische Formel, mit der die Identifikationsnummern eines Benutzers überprüft werden können. Der ursprünglich von einer Gruppe von Mathematikern und dem deutsch-amerikanischen Informatiker Hans Peter Luhn in den 1960er Jahren entwickelte Luhn-Algorithmus wird von den meisten großen Kreditkartenunternehmen verwendet, um zu überprüfen, ob die Nummer des Karteninhabers gültig ist. Die Luhn-Formel auch zur Validierung von Sozialversicherungsnummern in Kanada und IMEI-Nummern (International Mobile Equipment Identity) verwendet.
Der Algorithmus, der öffentlich zugänglich ist und von jedermann verwendet werden kann, wurde entwickelt, um falsche Werte und einstellige Fehler zu erkennen, die möglicherweise durch Tippfehler entstanden sind, aber nicht durch spezifische bösartige Angriffe. Die verwendete mathematische Formel wird als Prüfsumme bezeichnet, die einen Wert darstellt, der die Anzahl der Bits in einer Übertragungsnachricht repräsentiert. Ähnlich wie eine Prüfsumme im Luhn-Algorithmus verwendet wird, werden Prüfsummen häufig von IT-Fachleuten eingesetzt, um größere Fehler in Datenübertragungen zu erkennen.
So funktioniert der Luhn-Algorithmus
Die Luhn-Formel wendet einige Grundrechenarten auf eine Identifikationsnummer an, um einen Wert zu berechnen, der mit der Prüfziffer übereinstimmen muss - das ist zum Beispiel die letzte Zahl, die auf der Kreditkarte erscheint. Hier sind die vier Schritte der Formel:
- Beginnen Sie in der obersten Zeile bei der zweiten Ziffer vom Ende und multiplizieren Sie von rechts nach links jede zweite Zahl in der Zeile „Ziffer“ mit zwei.
- Jetzt wird jede der in Schritt 1 übersprungenen Ziffern mit 1 multipliziert.
- Addieren Sie anschließend die Zahlen aus Schritt 1 und 2 in der Zeile „Produkt“. Wenn die Verdoppelung einer Zahl in Schritt 1 eine zweistellige Zahl ergibt, wie zum Beispiel 5 x 2 = 10, verwenden Sie die Summe jeder dieser Ziffern - 1 + 0 = 1 - wenn Sie die Summe der Produkte addieren.
Wenn die Summe der addierten Zahlen auf 0 endet, dann ist die Zahl gültig. Wenn nicht, ist sie ungültig.
Beispiele aus der Praxis für die Anwendung des Luhn-Algorithmus
Unternehmen können die Luhn-Formel verwenden, um sicherzustellen, dass eine Kreditkartennummer gültig ist, bevor sie sie zur Autorisierung senden. Kreditkartenunternehmen, darunter American Express, Visa und Mastercard, verwenden den Luhn-Algorithmus. Er überprüft keine anderen Informationen auf einer Kreditkarte, auch nicht, ob das Datum der Karte gültig ist.
Die IMEI-Nummer wird verwendet, um ein Mobiltelefon eindeutig zu identifizieren. Jedes Mobiltelefon hat einen eindeutigen 15- bis 17-stelligen Code, und die äußersten linken Ziffern enthalten Informationen über den Telefontyp. Ein IMEI-Code kann auch verwendet werden, um zu verhindern, dass ein verlegtes oder gestohlenes Telefon zum Telefonieren verwendet wird, und um jemandem, der ein gebrauchtes Telefon kauft, zu helfen, festzustellen, ob das Telefon gültig ist.
Die Luhn-Formel kann auch bei Geschenkkarten verwendet werden, bei denen ein Geschenkkartencode mit einer Zufallszahl erzeugt und mit einer Prüfsumme versehen wird. Der Geschenkkartencode wird zusammen mit den zugehörigen Daten in einer Datenbank gespeichert. Der Luhn-Algorithmus stellt sicher, dass der Geschenkkartencode, wenn er von einer Person eingegeben wurde, gültig ist und keine Fehler enthält.
Abgesehen von der Überprüfung von Kreditkartennummern und Geschenkkarten wird der Luhn-Algorithmus auch in folgenden Fällen verwendet:
- SIM-Karten-Prüfzimmer
- Kassensysteme
- Programmiersprachen und Code-Bibliotheken