N° INSEE et division euclidienne

Saviez-vous que le n° INSEE (ou n° de sécurité sociale, ou n° NIR) fait intervenir la bonne vieille division euclidienne? Il s’agit de la clef de contrôle, les deux derniers chiffres isolés après le numéro à treize chiffres proprement dit. Prenons un numéro INSEE  (numéro fictif que j’ai inventé puisqu’il comporte un treizième mois):

1 62 13 45 044 056

Faisons la division euclidienne par 97 de ce nombre de 13 chiffres (tableau Excel):

1 621 345 044 056 = 16 714 897 361 * 97 + 39

La clef de contrôle (deux derniers chiffres) est égale à 97 moins ce reste, soit 97 – 39 = 58; le numéro complet est donc:

1 62 13 45 044 056   58

Pourquoi 97? parce que c’est le plus grand nombre premier inférieur à 100 (les restes de division seront toujours à deux chiffres).

 

Essayez avec votre numéro INSEE!

(si besoin est téléchargez un petit tableau Excel pour vérifier)

 

C’est un code détecteur d’erreur (les deux derniers chiffres peuvent permettre de voir s’il y a une erreur dans le numéro INSEE lui-même); c’est une partie des codes correcteurs d’erreur, branche des mathématiques au service de l’informatique et de l’internet: certains codes peuvent non seulement détecter une erreur (un 0 qui est devenu 1 ou l’inverse) dans une suite de bits 0 ou 1, mais savoir sur quel bit cet erreur porte, et donc le rectifier puisque le choix est binaire.

7 comments for “N° INSEE et division euclidienne

  1. Jean-Marie Cour
    19 mars 2007 at 00:27

    1. pourquoi utiliser come code d’erreur du numero INSEE 97 moins le reste plutôt que le reste lui-même ?
    2. pourquoi prendre comme diviseur 97, nombre premier, plutôt que n’imorte quel nombre inférieur à 100 ?

  2. Cour
    21 mars 2007 at 01:53

    je ne comprends toujours pas bien. Supposons que le numero INSEE soit à cinq chiffres. Si le diviseur est 97, il y a 927 nombres dont le reste de la division par 97 est 12. Si le diviseur est 99, il n’y a plus que 909 nombres dont le reste de la division par 99 est 12. Il me semble donc que 99 est plus discriminant que 97 ..???

  3. 24 mars 2007 at 02:41

    À la question 1 de Jean-Marie Cour, on pourrait avancer l’idée que la différence avec 97 évite une clé égale à zéro, puisque le reste est strictement inférieur à 97. Mais pourquoi vouloir éviter une clé égale à zéro ? Euh… Pour éviter que l’absence de clé ne soit assimilé à une clé nulle, dans certaine configuration de saisie ?

    Je m’étais posé la même question 2. Et votre éclaircissement Alexandre me laisse encore perplexe.En divisant par 97, on s’interdit les clés 98 et 99. Donc si on utilisait 99 à la place de 97, le pouvoir discriminant de la clé serait amélioré de 2% environ, non ?

    Je ne comprends pas très bien l’avantage procuré par l’usage d’un nombre premier…

  4. Alexandre Moatti
    6 mai 2007 at 09:46

    Pour C. Guyeux qui a bien voulu référencer ce post dans son site (http://perso.orange.fr/christophe.guyeux/Maths/CodesCorrecteurs/insee.xml) une réponse sur les deux derniers groupes de trois chiffres pour lesquels il se demande ce qu’ils sgnifient. L’avant dernier groupe de trois chiffres est, à ma connaissance, le numéro de la commune dans le département de naissance, et le dernier groupe est le numéro d’ordre de votre naissance sur le registre d’état civil  le mois de votre naissance.

  5. 1 janvier 2008 at 03:21

    On retrouve également cette clé de contrôle dans d’autres codes (SIREN, SIRET, TVA intracommunautaire) et sur la plupart des codes barre.

    A mon avis, le fait de choisir le plus grand nombre premier inférieur à 100 permet de résoudre ce genre de problème : « Compléter le numéro INSEE : 1 75 11 3 x 162 235 68 »

    Réponse à la fin de ce pdf : http://euler.ac-versailles.fr/webMathematica/reflexionpro/journees_premiere/arithmetiqueTL/arithmetiqueL.pdf

  6. 27 avril 2008 at 00:25

    Bonjour,

    je vous invite à consulter mon fil, en cours sur les-mathematiques.net, à l’adresse suivante :
    http://les-mathematiques.u-strasbg.fr/phorum5/read.php?2,439164

    Si l’on considère les deux types d’erreurs les plus fréquentes :
    – échanger deux chiffres de son numéro de sécu
    – se tromper sur un chiffre de son numéro de sécu

    alors le choix de 97 est un mauvais choix.

    En effet, il laisse passer 74 erreurs non detectées (clé inchangée malgré l’erreur)

    Il existe 5 nombres qui détecteront SYSTEMATIQUEMENT ces deux types d’erreurs :
    27,54,63,81,99

    Pourquoi avoir choisi l’un d’eux ? Mystère…

    Sébastien Dumortier.

  7. truc
    14 février 2010 at 07:44

    et pourquoi pas98 ou99???mais c’est un très bon blog!!!

Comments are closed.