MOD 10 - homebeaver/ungueltig GitHub Wiki

MOD 10 Prüfzeichensystem

Der bekannteste Vertreter dieses Systems ist der LUHN-Algorithmus.

Allgemein kann man die Algorithmen dieses Systems so beschreiben.

Eine Nummer mit Prüfziffer ist eine Folge von n Ziffern und einer Prüfziffer

$${Z_n \ldots Z_4 Z_3 Z_2 Z_1 \color{blue}p}$$

Die Nummer ist korrekt, wenn der Modulo 10 Wert der gewichteten Quersumme $${\color{blue}p}$$

$${ \left( \sum_{i=1}^n G_i \cdot Z_i \right) \space {mod} \space 10 = \color{blue}p }$$

Dabei ist $${ G_i }$$ die Gewichtung von $${ Z_i }$$.

Quersumme

Ist die Gewichtung konstant $${ G_i = 1}$$, so entspricht die Summe der Quersumme der Nummer.

einfacher Fälle

Eine andere einfache Variante mit $${ G_i = i }$$ wird für CAS-Nummern (für chemische Stoffe) verwendet. Ähnlich ist die Berechnung der Prüfziffer für IMO-Schiffsnummern mit $${ G_i = i + 1 }$$.

trivialer Fall

Ist $${ G_i = 10^{i-1}}$$, so ist die Nummer der Wert der Ziffernfolge und $${ {Z} \space {mod} \space 10 = \color{blue}p }$$. Für numerische Zeichenfolgen ist der Fall uninteressant, denn $${ \color{blue}p \color{black} = Z_1 }$$.

LUHN

Beim erwähnten LUHN-Algorithmus alterniert die Gewichtung. Für ungerade $${ i }$$ ist $${ G_i = 1}$$, bei Geraden ist $${ G_i = 2}$$.

andere Gewichtungen

731

Die Gewichte werden von links nach rechts angegeben: $${ G_n = 7 }$$, $${ G_{n-1} = 3 }$$, $${ G_{n-2} = 1}$$ und wird dann wiederholt $${ G_{n-3} = 7 , G_{n-4} = 3 , G_{n-5} = 1}$$.

Der ICAO-Standard gilt für viele Reisedokumente. Auch die Nummern der deutschen Ausweise nutzen dieses Verfahren.

371

Ähnlich! Die Gewichte werden aber von rechts nach links angegeben: $${ G_1 = 3 }$$, $${ G_2 = 7 }$$, $${ G_3 = 1}$$. Für die anderen Ziffern werden die Gewichte wiederholt $${ G_4 = 3 , G_5 = 7 , G_6 = 1}$$ usw.

Dieses Verfahren wird für [ABA RTN]] und in [ESTLAND Käibemaksukohustuslase registreeri-misnumber verwendet.

9731

Dieses Verfahren wird für UNGARN közösségi adószám und für TIN_PL verwendet.

Erweiterung auf Buchstaben

Neben Ziffern kann man auch Buchstaben zulassen. Ein Code mit Prüfziffer ist dann eine Folge von n Ziffern oder Buchstaben und einer Prüfziffer

$${C_n \ldots C_4 C_3 C_2 C_1 \color{blue}p}$$

Ist $${C_i}$$ ein Buchstabe, so wird bei der Summenbildung 10 für A, 11 für B, usw. eingesetzt.