CPR-nummer

Et **CPR-nummer**, også kalt et **personnummer**, er et entydig identifikasjonsnummer som alle som står i Det Centrale Personregister (CPR) er utstyrt med. Det ble innført i Danmark 2. april 1968 og på Grønland 1. mai 1972.

## Oppbyggingen av CPR-nummer
Et CPR-nummer består av i alt ti sifre, som regel skrevet med en bindestrek mellom de første seks og de siste fire sifrene. De første seks sifrene er bygd opp slik:
* Siffer 1 og 2 angir hvilken dato i måneden personen er født på
* Siffer 3 og 4 angir hvilken måned personen er født i
* Siffer 5 og 6 angir med et tosifret årstall året personen er født i
* Siffer 7 angir hvilket århundre personen er født i (se tabell nedenfor)
* Siffer 8 og 9 er et løpenummer
* Siffer 10 angir dels kjønnet på den person nummeret tilhører, dels virker det som kontrollsiffer. Er sifferet et partall er det tale om en kvinne/pike, er det odde tilhører nummeret en mann/gutt

Det har vært planlagt siden juni 2006 at denne oppbygningen av CPR-nummeret skal endres, og i oktober 2007 ble det første av de nye CPR-numrene utstedt.

Første personnummer uten modulus-11-kontroll ble tildelt den 1. oktober 2007, til en mann med et CPR-nummer som begynte med 010165. CPR-registeret oppfordrer derfor alle brukere av personnumre til å endre IT-systemene sine slik at de ikke inneholder modulus-kontrollen.

## Adoptert i perioden 1976 til 1984
Utenlandske adopterte barn fikk i perioden 1976–1984 alle et personnummer med tallet 10 eller 11 som 7 og 8 siffer. Innenriksminister Britta Schall Holberg ga i 1984 tillatelse til at folk med disse CPR-numre kunne få et nytt.

## Under eller over 100 år
Med kun to sifre for årstallet kan man ikke alene på datoen i et personnummer skjelne mellom fødselsdatoen på et barn på et par år, og en person som er akkurat 100 år eldre. Men årstalsifrene (siffer 5 og 6) kombinert med det første siffer i løpenummeret (siffer 7) gir en entydig identifikasjon av århundret jevnfør nedenstående tabell: 

## Kontrollsiffer (det gamle CPR-nummer)
Det siste siffer er et kontrollsiffer som beregnes ut fra de forutgående ni sifre etter den såkalte modulus 11-metode med vektene 2, 3, 4, 5, 6 og 7. Dette har især betydning i IT-systemer hvor det skal *inntastes* personnummer, fordi det gir mulighet for å kontrollere det inntastede nummer for tastefeil.

Kontrollsifferet betyr at det er kun ca. 540 personnumre til rådighet for hver dato. Derfor er man begynt å erstatte kontrollsifferet med et vilkårlig siffer for å øke kapasiteten i systemet. Det første CPR-nummer med et «ugyldig» kontrollsiffer ble utstedt i oktober 2007.

### Beregning av kontrollsiffer
Kontrollsifferet beregnes ved å gange hvert av de første ni sifre med et tall etter dette skjema:

Summen av de ni produktene og kontrollsifferet skal til sammen være delelig med elleve. Derfor kan kontrollsifferet finnes ved å dele summen av de ni produktene med elleve. Hvis divisjonen går opp, er kontrollsifferet null, og ellers er det elleve minus divisjonsresten. Gir divisjonen resten én, kan det pågjeldende løpenummer (siffer 7-9) ikke anvendes, fordi kontrollsifferet derved ville bli tosifret (ti), hvilket ikke er mulig.

### Kontroll av personnummer
Når det skal kontrolleres om et oppgitt CPR-nummer er korrekt, utføres følgende beregning:

De ti produktene legges sammen og divideres med elleve. Hvis divisjonen gir resten null (divisjonen går opp), er personnummeret korrekt.

Sikkerheten i metoden er ca. 97-99 prosent. Når den ikke er 100 prosent skyldes det at vektene 2, 3 og 4 gjenbrukes i systemet, således at det ved ombytting av tall med samme vekt vil bli beregnet samme produktsum. Derfor kan en kontrollberegning i sjeldne tilfelle godkjenne et galt personnummer.

### Eksempel på kontrollberegning av personnummer
Som eksempel brukes en mann som er født 21. oktober 1862. Personnummeret er 211062-5629. Første tall 2 ganges med 4, lik 8. Neste tall 1 ganges med 3, lik 3, og så videre. Alle gangestykker legges sammen og gir 110. 110 moduleres med 11 og gir 0 i restverdi, og personnummeret er kontrollert til å være korrekt.

## Referanser