1 van 1

Waarom extra bewerking bij controlegetal RRN?

Geplaatst: vr 28 aug 2015, 14:30
door Back2Basics
Het Belgische RijksRegisterNummer RRN, te vergelijken met het Nederlandse BurgerServiceNummer BSN, heeft op de laatste 2 posities een controlegetal A. Dat controlegetal A wordt verkregen door een restgetal B van 97 af te trekken; het verschil tussen B en 97 wordt bepaald, en vormt A.
 
 
Ter info:
Het RRN bestaat uit drie delen:
- je geboortedatum (YYMMDD),
- aangevuld met een 3-cijferig volgnummer CCC. Dat volgnummer is even voor vrouwen, en oneven voor mannen
- gecompleteerd met het 2-cijferige controlegetal A
 
De eerste twee delen vormen een nummer N: YYMMDDCCC. Het restgetal B wordt verkregen door het nummer N modulo 97 te nemen.
 
Voorbeeld uit Wikipedia:
Is een man geboren op 18 mei 1993, en hij heeft volgnummer 223 op die dag, dan is zijn nummer 93051822361. Immers, 930518223 gedeeld door 97 is 9592971 + 36. Het verschil van 97 en de rest levert 97 - 36 = 61 op.
 
Hierin is A=61 en B=36.
 
Waarom wordt deze extra stap gedaan? Mijn gevoel zegt dat het getal B net zoveel waarde heeft, of net zo sterk is, of net zo significant is als A. Weet iemand daar iets over?

Re: Waarom extra bewerking bij controlegetal RRN?

Geplaatst: vr 28 aug 2015, 16:04
door Benm
Dit is vergelijkbaar met de checksum van IBANs, als je daarop zoekt vind je meer informatie over de motivatie voor dit systeem. Die 97 min modulo-97 oplossing zorgt er grofweg voor dat de checkdigits niet kunnen overlappen: zou je het niet doen dan zouden bijv 02 en 99 beide geldige checkdigits zijn voor bepaalde gevallen.

Re: Waarom extra bewerking bij controlegetal RRN?

Geplaatst: vr 04 sep 2015, 13:28
door Math-E-Mad-X
Benm schreef: Die 97 min modulo-97 oplossing zorgt er grofweg voor dat de checkdigits niet kunnen overlappen: zou je het niet doen dan zouden bijv 02 en 99 beide geldige checkdigits zijn voor bepaalde gevallen.
 
Deze uitleg snap ik niet. B is sowieso altijd kleiner dan 97, dus 99 kan nooit een geldige checkdigit zijn.

Re: Waarom extra bewerking bij controlegetal RRN?

Geplaatst: za 05 sep 2015, 03:01
door Benm
Tenzij je natuurlijk een typfout maakt in de checkdigits. Bovendien voorkomt het de triviale oplossing voor het geval 000..0000 dat bij een simpele modulo oplossing valide zou zijn, maar in dit geval dus 000..0097 moet zijn om te valideren.

Overigens zitten er wel meer eigenaardigheden in dergelijk checksums, denk bijvoorbeeld aan credit card nummers. Die van visa kaarten is zo gekozen dat 1111 1111 1111 1111 niet valideert, maar 4111 1111 1111 111 wel. Voor mastercard is het validerende voorbeeld 5555 5555 5555 4444.