Løber vi tør for CPR numre?
For nylig kunne man læse i nyhederne, at der er risiko for, at vi løber tør for CPR numre i 2057. Det skyldes bl.a. den måde man kontrollerer CPR-numrene. Det er meget vigtigt, at man har en sikker metode til at sikre sig, at et CPR-nummer er korrekt. Ellers ville det være alt for nemt at lave fejl.
Indtil 2007 benyttede man modulus 11-metoden til at kontrollere CPR-numrene. Efter 2007 er der oprettet CPR-numre, der ikke har modulus 11, fordi metoden resulterede i, at der ikke ville være nok ledige CPR-numre. Det betyder, at nogle personer har oplevet, at indtaste deres CPR-nummer korrekt, men har fået en fejlmeddelelse, da deres CPR nummer ikke har modulus 11.
Grunden til, at man holdt op med at benytte modulus 11, var, at der kun var ca. 540 numre til rådighed på hver dato. Det betyder, at med modulus 11 er der 19.512.900 CPR-numre i alt. I 2008, da CPR-nummeret fyldte 40 år, var der allerede brugt næsten ni millioner CPR numre. Derfor valgte man at skifte til at nyt system, for at sikre, at der er CPR-numre længere ude i fremtiden.
Men hvad er modulus 11?
Modulus 11
Når man har en række tal, i dette tilfælde et CPR-nummer, tildeles hvert tal en "vægt". Man starter med 10. tal i CPR nummeret, og går så mod venstre. Vægtene er tallene 1-7. Hvis man har flere end 7 tal, starter man forfra ved 2. Hvis vi forestiller os et CPR-nummer på formen \( abcdef-ghij\), tildeler man vægtene således:
$$ 4a+3b+2c+7d+6e+5f+4g+3h+2i+j $$
Når vægtene er tildelt, finder man kontrolcifferet ved at finde summen af alle produkterne (gangestykkerne) og dividerer den med 11. Hvis tallet går op, og der ikke er en rest ved divisionen, er CPR nummeret korrekt. Hvis tallet ikke går op, og der er en rest ved divisionen, er kontrolcifferet 11 minus resten. Resten må ikke være lig med 1, da man jo ville få et tocifret tal.
Sådan har vi regnet det ud
Modulus 11 kan benyttes på alle talrækker, der indeholder 10 tal, hvilket CPR nummeret netop gør. Vi kan prøve at teste et opfundet CPR nummer, således
CPR | 2 | 4 | 0 | 2 | 7 | 6 | 2 | 3 | 1 | 9 |
Vægt | 4 | 3 | 2 | 7 | 6 | 5 | 4 | 3 | 2 | 1 |
Nu finder vi produkterne, og herefter summen af hvert tal:
$$ 2 \cdot 4 + 4 \cdot 3 + 0 \cdot 2 +2 \cdot 7+ 6\cdot5 + 2 \cdot 4 + 3 \cdot 3 + 1 \cdot 2 + 9\cdot 1 = 92 $$
Summen af produkterne er altså 92. Det skal vi dele med 11
$$ \frac{92}{11} = 8, \, \text{R}=4 $$
Hvor "R" er resten, som er fire, da 11 går otte gange op i 92 (11·8=88, 92-88=4). Så kan vi trække fire fra 11, 11-4=7. Vi har nu kontrolleret, om det CPR-nummer vi opfandt ovenfor er et rigtigt CPR-nummer, hvilket det ikke er, da det sidste ciffer skulle have været syv, eller summen skulle gå op i 11.
For at finde ud af hvor mange CPR-numre, der i alt kan laves med modulus 11, har vi ganget antallet af CPR-numre pr. dato med antallet af år. Fødselsdato i CPR-nummeret angives som DDMMÅÅ, hvilket betyder, at der er 100 mulige år. Det samlede antal findes derfor som
$$ 540\, \mathrm{numre/dato} \cdot 365,25\, \mathrm{datoer/år} \cdot 100\,\mathrm{år} = 19.723.500\, \mathrm{numre} $$