{"id":255,"date":"2010-10-01T21:50:17","date_gmt":"2010-10-01T19:50:17","guid":{"rendered":"http:\/\/sciencetonnante.wordpress.com\/?p=255"},"modified":"2010-10-01T21:50:17","modified_gmt":"2010-10-01T19:50:17","slug":"da-secu-code","status":"publish","type":"post","link":"https:\/\/scienceetonnante.com\/blog\/2010\/10\/01\/da-secu-code\/","title":{"rendered":"Da S\u00e9cu Code"},"content":{"rendered":"<p style=\"text-align:justify;\"><a href=\"https:\/\/scienceetonnante.com\/blog\/wp-content\/uploads\/2014\/02\/cartevitale2-1.jpg\"><img decoding=\"async\" class=\"size-medium wp-image-6198 alignright lazyload\" style=\"--smush-placeholder-width: 300px; --smush-placeholder-aspect-ratio: 300\/189;margin-left:20px;margin-right:20px;\" alt=\"CarteVitale2\" data-src=\"https:\/\/scienceetonnante.com\/blog\/wp-content\/uploads\/2014\/02\/cartevitale2-1.jpg?w=300\" width=\"300\" height=\"189\" data-srcset=\"https:\/\/scienceetonnante.com\/blog\/wp-content\/uploads\/2014\/02\/cartevitale2-1.jpg 800w, https:\/\/scienceetonnante.com\/blog\/wp-content\/uploads\/2014\/02\/cartevitale2-1-300x189.jpg 300w, https:\/\/scienceetonnante.com\/blog\/wp-content\/uploads\/2014\/02\/cartevitale2-1-768x485.jpg 768w\" data-sizes=\"(max-width: 300px) 100vw, 300px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" \/><\/a>Comme vous le savez certainement, un num\u00e9ro de s\u00e9curit\u00e9 sociale est constitu\u00e9 de 15 chiffres, qui ob\u00e9issent \u00e0 des r\u00e8gles particuli\u00e8res. Prenons par exemple le num\u00e9ro 1 37 04 76\u00a0243\u00a0484 15<\/p>\n<ul style=\"text-align:justify;\">\n<li>le premier chiffre indique le sexe, 1 pour les hommes, 2 pour les femmes<\/li>\n<li>deux chiffres pour l\u2019ann\u00e9e de naissance (1937 dans notre cas)<\/li>\n<li>deux chiffres pour le mois de naissance (avril)<\/li>\n<li>deux chiffres pour le d\u00e9partement de naissance (76)<\/li>\n<li>trois chiffres pour la commune<\/li>\n<li>trois chiffres pour le rang dans la commune<\/li>\n<li>et enfin deux chiffres, qui sont une cl\u00e9, ici 15.<\/li>\n<\/ul>\n<p style=\"text-align:justify;\">Dans ce billet,\u00a0 nous allons nous pencher sur ce concept de cl\u00e9, que l\u2019on retrouve dans de nombreux num\u00e9ros comme ceux des num\u00e9ros de comptes bancaires.<\/p>\n<h3 style=\"text-align:justify;\">La formule de la cl\u00e9<\/h3>\n<p style=\"text-align:justify;\">La cl\u00e9 est un proc\u00e9d\u00e9 de v\u00e9rification qui permet de d\u00e9tecter et, dans une certaine mesure, de corriger les erreurs dans les num\u00e9ros de ce genre. Le principe en est que les deux chiffres de la cl\u00e9 d\u00e9pendent de mani\u00e8re math\u00e9matique des 13 premiers chiffres du num\u00e9ro. Dans le cas de la s\u00e9cu, la formule math\u00e9matique est relativement simple, il s\u2019agit de<\/p>\n<p style=\"text-align:center;\">Cl\u00e9 = 97 \u2013 N modulo 97<\/p>\n<p style=\"text-align:justify;\">o\u00f9 N est le nombre form\u00e9 des 13 premiers chiffres. Pour ceux qui l\u2019auraient oubli\u00e9, l\u2019op\u00e9ration de \u00ab\u00a0modulo\u00a0\u00bb d\u00e9signe le reste de la division enti\u00e8re. Dans notre cas, si on divise 1370476243484 par 97, on obtient 14128621067 et il reste 82, donc Cl\u00e9 = 97 \u2013 82 = 15.<\/p>\n<p style=\"text-align:justify;\">A quoi cela sert-il\u00a0? Eh bien imaginons que notre individu ait mal \u00e9crit son num\u00e9ro et qu\u2019il ait fait un 4 au lieu d\u2019un 3 dans le second chiffre, il a alors \u00e9crit\u00a0: 1\u00a047 04 76\u00a0243\u00a0484 15. Alors on peut rep\u00e9rer qu\u2019il y a une erreur\u00a0: en effet la cl\u00e9 normalement associ\u00e9e \u00e0 1\u00a047 04 76\u00a0243\u00a0484 est le num\u00e9ro 10. Donc si les 13 premiers chiffres \u00e9taient corrects, la cl\u00e9 devrait \u00eatre 10, et pas 15. Il y a une incoh\u00e9rence.<\/p>\n<h3 style=\"text-align:justify;\"><strong>Corriger automatiquement les erreurs<\/strong><\/h3>\n<p style=\"text-align:justify;\">Est-il possible d\u2019aller plus loin, et de corriger automatiquement cette erreur, m\u00eame sans savoir o\u00f9 elle se situe\u00a0? Nous allons consid\u00e9rer le num\u00e9ro erron\u00e9 1\u00a047 04 76\u00a0243\u00a0484, supposer que la cl\u00e9 15 est correcte, et essayer de retrouver quelle est la faute. Pour cela, on essaye \u00e0 la main toutes les corrections possibles, en calculant \u00e0 chaque fois la cl\u00e9 que \u00e7a donnerait, jusqu\u2019\u00e0 tomber sur une substitution qui donne la cl\u00e9 correcte\u00a0: 15. Voici un exemple de ce qu\u2019on obtient en partant du num\u00e9ro erron\u00e9, et en essayant par exemple de substituer l\u2019avant-avant-dernier chiffre (4) par toutes les autres possibilit\u00e9s.<\/p>\n<pre style=\"text-align:left;padding-left:150px;\">Tentative\u00a0\u00a0\u00a0\u00a0 Cl\u00e9<\/pre>\n<pre style=\"text-align:left;padding-left:150px;\">1470476243184 19\n1470476243284 16\n1470476243384 13\n1470476243484 10\n1470476243584 7\n1470476243684 4\n1470476243784 1\n1470476243884 95\n1470476243984 92\n1470476243084 22<\/pre>\n<p style=\"text-align:justify;\">On voit qu\u2019aucune de ces tentatives de substitution ne permet de retrouver la cl\u00e9 15, donc aucune n\u2019est la bonne. Il n\u2019y a plus qu\u2019\u00e0 r\u00e9p\u00e9ter ce petit jeu de substitution avec toutes les positions, jusqu\u2019\u00e0 en trouver une qui donne la cl\u00e9 15. Si on consid\u00e8re que le premier chiffre ne peut \u00eatre que 1 ou 2, et que le quatri\u00e8me ne peut \u00eatre que 0 ou 1 (c\u2019est le premier chiffre d\u2019un mois), il y a au total 11*9+2 = 101 substitutions \u00e0 essayer. Figurez-vous que j\u2019ai fait l\u2019exercice, et que dans notre cas il n\u2019y en a qu\u2019une seule qui marche\u00a0: changer le deuxi\u00e8me chiffre (4) en 3\u00a0! Nous avons donc bien retrouv\u00e9 et corrig\u00e9 l\u2019erreur.<\/p>\n<h3 style=\"text-align:justify;\"><strong>Une formule optimis\u00e9e<\/strong><\/h3>\n<p style=\"text-align:justify;\">Dans ce cas on a bien \u00e9t\u00e9 aid\u00e9 par le fait qu\u2019il n\u2019y avait qu\u2019une seule possibilit\u00e9 de correction qui permette de retrouver la cl\u00e9 d\u2019origine. Il n&rsquo;y a donc pas d&rsquo;ambigu\u00eft\u00e9 sur la source de l&rsquo;erreur. En fait gr\u00e2ce \u00e0 la formule de la cl\u00e9, qui a \u00e9t\u00e9 bien choisie, c\u2019est tr\u00e8s souvent le cas. Cela signifie qu\u2019il est (presque) impossible de changer un chiffre dans le num\u00e9ro sans affecter la cl\u00e9, et que donc tout erreur sera rep\u00e9r\u00e9e, et pourra \u00eatre corrig\u00e9e presque sans ambigu\u00eft\u00e9. Bien entendu cela suppose 1) que l\u2019erreur ne porte pas sur la cl\u00e9 et 2) qu\u2019il n\u2019y a qu\u2019une seule erreur. Si on s\u2019autorise \u00e0 substituer deux chiffres, alors on est plus certain de rien.<\/p>\n<p style=\"text-align:justify;\">Une question que l\u2019on peut se poser concerne le choix du nombre pivot 97 dans la formule. Pour que la cl\u00e9 tienne sur 2 chiffres, il faut un pivot \u00e0 deux chiffres. En outre si on choisit un pivot P, la cl\u00e9 prendra des valeurs entre 0 et P-1, on a donc int\u00e9r\u00eat \u00e0 prendre le pivot le plus grand possible pour que la cl\u00e9 prenne le plus de valeurs possibles et minimiser les situations d\u2019ambigu\u00eft\u00e9. Si on choisit P=11 il est impossible de corriger de mani\u00e8re univoque l\u2019erreur. Mais alors pourquoi ne pas prendre 99\u00a0? Je suppose que le fait que 97 soit premier doit avoir un r\u00f4le pour disperser le plus possible les valeurs des cl\u00e9s.<\/p>\n<p style=\"text-align:justify;\">Si le pivot avait \u00e9t\u00e9 99, la cl\u00e9 \u00ab\u00a0normale\u00a0\u00bb de mon num\u00e9ro 1 37 04 76\u00a0243 484 aurait \u00e9t\u00e9 37. Si on commet l\u2019erreur pr\u00e9c\u00e9dente et qu\u2019on \u00e9crit 1 47 04\u00a076\u00a0243 484 (dont la cl\u00e9 serait normalement 27), on se rend compte qu\u2019il y a une erreur. Mais au moment de rechercher les substitutions qui redonneraient la cl\u00e9 correcte de 37, on se rend compte qu\u2019il y en a 5 qui sont possibles ! Et pas moyen de savoir quelle substitution est celle qui permet de corriger l\u2019erreur.<\/p>\n<p style=\"text-align:justify;\">En faisant divers tests num\u00e9riques, on peut se rendre compte que si le pivot n\u2019est pas premier, cette situation d\u2019ambigu\u00eft\u00e9 se produit beaucoup plus souvent\u00a0! Une id\u00e9e de d\u00e9monstration\u00a0?<\/p>\n<h4 style=\"text-align:justify;\">Cr\u00e9dits<\/h4>\n<p><a href=\"http:\/\/commons.wikimedia.org\/wiki\/File:CarteVitale2.jpg\" target=\"_blank\" rel=\"noopener\">Carte vitale<\/a>, Wikimedia Commons<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Comme vous le savez certainement, un num\u00e9ro de s\u00e9curit\u00e9 sociale est constitu\u00e9 de 15 chiffres, qui ob\u00e9issent \u00e0 des r\u00e8gles particuli\u00e8res. Prenons par exemple le num\u00e9ro 1 37 04 76\u00a0243\u00a0484 15 le premier chiffre indique le sexe, 1 pour les hommes, 2 pour les femmes deux chiffres pour l\u2019ann\u00e9e de naissance (1937 dans notre cas)<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[4],"tags":[2],"class_list":{"0":"post-255","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-mathematiques","7":"tag-arithmetique"},"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"post_mailing_queue_ids":[],"_links":{"self":[{"href":"https:\/\/scienceetonnante.com\/blog\/wp-json\/wp\/v2\/posts\/255","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/scienceetonnante.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/scienceetonnante.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/scienceetonnante.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/scienceetonnante.com\/blog\/wp-json\/wp\/v2\/comments?post=255"}],"version-history":[{"count":0,"href":"https:\/\/scienceetonnante.com\/blog\/wp-json\/wp\/v2\/posts\/255\/revisions"}],"wp:attachment":[{"href":"https:\/\/scienceetonnante.com\/blog\/wp-json\/wp\/v2\/media?parent=255"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/scienceetonnante.com\/blog\/wp-json\/wp\/v2\/categories?post=255"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/scienceetonnante.com\/blog\/wp-json\/wp\/v2\/tags?post=255"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}