+3 Daumen
2,8k Aufrufe


1. Einführung

Um heutzutage Überweisungen tätigen oder Abbuchungen über das SEPA-Lastschriftverfahren autorisieren zu können, benötigt man eine sogenannte IBAN-Nummer. IBAN steht dabei für International Bank Account Number. Es handelt sich dabei also um eine international gültige Identifikationsnummer für Bankkonten.Wenn diese falsch eingegeben wird, dann hat das ggf. weitreichende Konsequenzen auf die Zahlungsabwicklung. Deshalb hat man in der IBAN selbst einen Mechanismus integriert, mit dem man prüfen kann, ob eine IBAN korrekt ist - die sogenannte Prüfziffer.
2. Aufbau einer IBAN

Eine IBAN ist (in Deutschland) ein 22-stelliger Code, der sich folgendermaßen zusammensetzt:- Die ersten beiden Stellen sind der sogenannte Ländercode. In Deutschland lautet dieser "DE".- An den Stellen 3 und 4 ist die Prüfziffer gespeichert.- Nach der Prüfziffer folgt eine 8-stellige Bankleitzahl.- Zum Schluss folgt eine 10-stellige Kontonummer.
Eine Besonderheit bei der Kontonummer ist, dass sie zwar 10-stellig sein muss, einige Banken aber auch Kontonummern, die weniger als 10 Stellen haben, führen. Für den Algorithmus werden in diesem Fall später so lange führende Nullen ergänzt, bis die Kontonummer 10 Stellen hat.

3. Algorithmus zur Berechnung der Prüfziffer

Eingabe: Ländercode, Bankleitzahl und Kontonummer

Ausgabe: Prüfziffer der IBAN1. Übersetze den Ländercode in eine Zahl. Da man mit Buchstaben keine arithmetischen Operationen durchführen kann, verwendet verwendet man A=10, B=11, C=12, ..., W=32 usw..

1. Jede Stelle des Ländercodes wird damit übersetzt.

2. Fülle die Kontonummer mit führenden Nullen auf 10 Stellen auf.

3. Schreibe die Bankleitzahl, die Kontonummer und den übersetzten Ländercode zusammen mit "00" für den fehlenden Prüfcode in dieser Reihenfolge hintereinander.

4. Berechne den Rest, der bei der ganzzahligen Division der in Schritt 3 gebildeten Zahl durch 97 entsteht (rechne also modulo 97).

5. Ziehe das Ergebnis aus Schritt 4 von 98 ab. Wenn das Ergebnis kleiner als 10 ist, dann ergänze eine führende Null.

Mit Schritt 5 endet der Algorithmus und du erhältst als Ergebnis die Prüfziffer.

4. Beispiel
Wir berechnen für das fiktive Konto 1234567890 der Deutschen Bundesbank schrittweise die Prüfziffer, die in der IBAN stehen würde. Die Bankleitzahl der Deutschen Bundesbank lautet 10000000.

1. Der Ländercode DE wird mit D=13 und E=14 zu 1314 übersetzt.

2. Da die Kontonummer bereits 10 Stellen besitzt, müssen keine führenden Nullen ergänzt werden.

3. Wenn man die Bankleitzahl, die Kontonummer und den übersetzten Ländercode zusammen mit "00" in dieser Reihenfolge aufschreibt, erhält man die Zahl, mit der im nächsten Schritt weitergerechnet wird: 100000001234567890131400.

4. Wenn man die Zahl aus Schritt 3 modulo 97 rechnet (also den Rest der ganzzahligen Division durch 97 sucht), erhält man als Ergebnis 75.

5. Das Ergebnis aus Schritt 4 wird nun von 98 abgezogen und man erhält 98-75=23. Da 23 nicht kleiner als 10 ist, wird keine führende 0 ergänzt. Die Prüfziffer lautet also 23.

Wenn man nun die dazugehörige IBAN haben möchte, nimmt man den Ländercode, schreibt dahinter die Prüfziffer, die Bankleitzahl und die Kontonummer (ohne führende Nullen). Das Ergebnis lautet: DE23100000001234567890

5. Gültigkeit einer IBAN prüfen

Du kannst natürlich auch den umgekehrten Weg gehen und von einer vorgegebenen IBAN überprüfen, ob diese korrekt berechnet wurde. Nehmen wir dafür das Konto mit der IBAN DE33100000003333333333.

Du kannst an der IBAN ablesen, dass 33 die Prüfziffer ist. DE ist der Ländercode, 10000000 ist die Bankleitzahl und 3333333333 ist die Kontonummer. Nun berechnen wir mit diesen Informationen die Prüfziffer und schauen, ob sie der 33 entspricht.

1. Der Ländercode DE wird mit D=13 und E=14 zu 1314 übersetzt.

2. Da die Kontonummer bereits 10 Stellen besitzt, müssen keine führenden Nullen ergänzt werden.

3. Wenn man die Bankleitzahl, die Kontonummer und den übersetzten Ländercode zusammen mit "00" in dieser Reihenfolge aufschreibt, erhält man die Zahl, mit der im nächsten Schritt weitergerechnet wird: 100000003333333333131400.

4. Wenn man die Zahl aus Schritt 3 modulo 97 rechnet (also den Rest der ganzzahligen Division durch 97 sucht), erhält man als Ergebnis 65.

5. Das Ergebnis aus Schritt 4 wird nun von 98 abgezogen und man erhält 98-65=33. Da 33 nicht kleiner als 10 ist, wird keine führende 0 ergänzt. Die Prüfziffer lautet also 33.

Da die berechnete Prüfziffer mit der Prüfziffer in der IBAN übereinstimmt, ist die IBAN formal korrekt.

Beachte: Auch wenn eine IBAN formal korrekt ist, kann sie Fehler enthalten. Z. B. könnte der Bankleitzahl keine Bank zugeordnet sein oder mehrere falsche Stellen in der IBAN trotzdem zur richtigen Prüfziffer führen.


Dieser Artikel hat 50 Bonuspunkte erhalten. Schreib auch du einen Artikel.
geschlossen: Mathe-Artikel
von Unknown
Avatar von

https://en.wikipedia.org/wiki/International_Bank_Account_Number#IBAN_formats_by_country

Schon interessant, dass ein "einheitliches System" je nach Land unterschiedlich viele Sicherheitselemente an unterschiedlichen Stellen verwendet.

Bleiben die "x = National check digits" bei deiner modulo-Rechnung unbenutzt ?

So geht die Validierung natürlich auch ;) Ich wollte hierbei aber tatsächlich erstmal auf die Ähnlichkeit zu dem Algorithmus zum Erzeugen der IBAN hinaus. Das hat didaktische Gründe ;)

@Lu Ja, der Aufbau der IBAN-Nummern ist leider (trotz des Internationalisierrungsgedankens) nicht einheitlich :/

Hat das mit länderspezifischen Sicherheitsvorschriften zu tun? Geheim ist das Generieren der IBAN-Nummern ja nicht.

Ich habe zwar keine pädagogische Ausbildung, kann das also nicht wirklich beurteilen, aber mir gefällt das Video. Es ist meiner Meinung nach sehr verständlich aufgebaut. Die beiden Beispiele sorgen für die nötige Vertiefung. Vielleicht wäre noch ein kleiner Hinweis sinnvoll gewesen, dass es je nach Land zu Abweichungen kommen kann.

@Lu Da bin ich mir nicht sicher. Ich vermute mal, dass das ähnliche Gründe wie die zigtausend Formatierungs"standard" hat :D Selbst in Deutschland ist man sich da nicht einig (mal ist die Kontonummer z. B. 10 Stellen und mal 9 oder 8 Stellen lang).

@Tschakabumba

Danke :) Ja, der Hinweis hätte noch deutlicher sein müssen ;) Ich hatte versucht das bereits über die unterschiedlichen Ländercodes zu implizieren, dass es diesbezüglich Unterschiede geben kann. Vielleicht weise ich in den Kommentaren nochmal drauf hin, danke!

Du musst ja nicht alle Länder abdecken. Ein Link zu andern Ländern aber nicht falsch.

Wenn du etwas ergänzen möchtest und das bekannt ist, vielleicht noch, wie man auf 97 gekommen ist.

@Lu Link ist schon im Kommentar zum Video ergänzt. Die 97 ist Definitionssache (vermutlich auch, weil prim) ;)

Ein anderes Problem?

Stell deine Frage

Willkommen bei der Mathelounge! Stell deine Frage einfach und kostenlos

x
Made by a lovely community