Formule de Luhn

Dans ce numéro d'immatriculation de wagon, le chiffre « 8 » après le tiret est calculé par la formule de Luhn à partir des onze chiffres précédents.

En mathématiques, et plus précisément en arithmétique modulaire, la formule de Luhn est utilisée pour ses applications en cryptologie. L’algorithme de Luhn, ou code de Luhn, ou encore formule de Luhn est aussi appelé algorithme « modulo 10 » ou « mod 10 ». C'est une formule simple de somme de contrôle utilisée pour valider divers numéros de comptes, comme les numéros de cartes bancaires, les numéros d'assurance sociale canadiens, les numéros IMEI des téléphones mobiles ou les numéros SIRET.

Elle fut développée dans les années 1960 par un ingénieur allemand chez IBM, Hans Peter Luhn, comme méthode de validation d'identification de nombres. Sa notoriété provient principalement de son adoption par les compagnies de cartes de crédit peu après sa création.

L'algorithme fait partie du domaine public et est largement répandu aujourd'hui. Il n'a pas été conçu pour être une fonction de hachage sécurisée cryptologiquement ; il protège contre les erreurs aléatoires, pas contre les attaques. La plupart des cartes de crédit et beaucoup de numéros d'identification gouvernementaux utilisent l'algorithme comme un moyen simple de distinguer les nombres valides dans des collections de chiffres aléatoires.

Explications informelles

La formule génère un chiffre de vérification, qui est généralement annexé à un numéro d'identité partiel pour générer un identifiant complet. Cet identifiant (numéro complet : numéro partiel et son chiffre de vérification) est soumis à l'algorithme suivant pour vérifier sa validité :

  1. On démarre avec le dernier chiffre (à droite) et on se déplace vers la gauche, en doublant la valeur de tous les chiffres de rang pair : le dernier (c'est-à-dire la clef) est traité en 1er, il n'est pas doublé, l'avant-dernier (2e) sera doublé. Si le double d'un chiffre dépasse 9, on le remplace par la somme de ses chiffres. Ainsi, sur les positions paires, les chiffres (0;1;2;3;4;5;6;7;8;9) deviennent (0;2;4;6;8;1;3;5;7;9)
    Par exemple, 1 111 devient 2 121, tandis que 8 763 devient 7 733 (car 2×6=12, et 1+2=3 ; 2×8=16, et 1+6=7) ;
  2. On additionne ensemble tous les chiffres du nombre ainsi obtenu. Par exemple, 1111 devient 2121 dont la somme donne 6 (2+1+2+1) ; tandis que 8763 devient 7733 et 7+7+3+3 donne alors 20 ;
  3. Si le total est un multiple de 10 (le chiffre des unités est un zéro), alors le nombre est valide, en accord avec la formule de Luhn. Sinon il est invalide. Ainsi, 1 111 n'est pas valide (comme montré ci-dessus, il aboutit à 6), tandis que 8 763 est valide (comme montré ci-dessus, il aboutit à 20). Pas du tout ( 1111 est égal à 4 et 8763 est égal à 24) donc l'algorithme est faux.

Pour déterminer le chiffre de contrôle ajouté à la fin du numéro :

  • calculer la somme comme décrit ci-dessus, deux cas de figure se présentent alors :
  1. Si la somme est un multiple de 10, le chiffre de contrôle final est égal à 0 ;
  2. Si la somme n'est pas un multiple de 10, modifier le dernier chiffre pour obtenir un multiple de 10, soit 10 - (somme % 10)somme % 10 désigne le reste de la division entière de la somme calculée par 10 (ce qui revient à ne garder que le chiffre des unités).

Exemple.

  • Soit le numéro 54321x à calculer (x désignant le chiffre de contrôle à calculer).
  • Pour x = 0, la vérification de 543210 donne la somme 0 + 2 + 2 + 6 + 4 + 1 = 15 non multiple de 10 (le chiffre des unités est 5).
  • On corrige le dernier chiffre : x = 10 - 5 = 5
  • Pour x = 5, la vérification de 543215 donne la somme 5 + 2 + 2 + 6 + 4 + 1 = 20 multiple de 10.

Algorithme

Description

L'algorithme procède en trois étapes.

  1. L'algorithme multiplie par deux un chiffre sur deux, en commençant par l'avant dernier et en se déplaçant de droite à gauche. Si le double d'un chiffre est plus grand que neuf (par exemple 2 × 8 = 16), alors il faut le ramener à un chiffre entre 1 et 9 en prenant son reste dans la division euclidienne par 9. Pour cela, il y a deux manières de faire (pour un résultat identique) :
    1. Soit on additionne les chiffres composant le double. Dans l'exemple du chiffre 8, 2 × 8 = 16, puis on additionne les chiffres 1 + 6 = 7.
    2. Soit on soustrait 9 au double. Avec le même exemple, 16 − 9 = 7.
  2. La somme de tous les chiffres obtenus est effectuée.
  3. Le résultat est divisé par 10. Si le reste de la division est égal à zéro, alors le nombre original est valide.

Exemple

Considérons l'identification du nombre 972-487-086. La première étape consiste à doubler un chiffre sur deux en partant de l'avant-dernier jusqu'au début, et de faire la somme de tous les chiffres, doublés ou non (si un chiffre est supérieur à 9, on retranche 9, d'où la 3e ligne). Le tableau suivant montre cette étape (les lignes colorées indiquent les chiffres doublés) :

Chiffre Somme
9 7 2 4 8 7 0 8 6
9 14 2 8 8 14 0 16 6
9 5 2 8 8 5 0 7 6 50

La somme, égale à 50, est divisée par 10 : le reste est 0, donc le nombre est valide.

Si par mégarde, deux chiffres ont été inversés, le code Luhn devient incorrect (sauf si ces deux chiffres sont 0 et 9) :

Chiffre Somme
9 2 7 4 8 7 0 8 6
9 4 7 8 8 14 0 16 6
9 4 7 8 8 5 0 7 6 54

La somme n'est pas divisible par 10 donc le nombre n'est pas valide.

Cas particulier

En France, le numéro SIRET des établissements de La Poste ne respecte pas l'algorithme de Luhn. La Poste a changé de statut en 2010[1], devenant une société anonyme. Tous les établissements de La Poste possèdent le même numéro SIREN « 356 000 000 ». Comme La Poste a de nombreux établissements et que le nombre de NIC possibles n'est pas assez étendu, la règle de contrôle du numéro SIRET a été modifiée pour cette entreprise. Lors du contrôle, il faut appliquer la vérification classique puis, si la règle classique n’est pas vérifiée, vérifier alors que la somme simple des chiffres du SIRET est un multiple de cinq (réponse officielle de l'INSEE[2]) (ex. : pour le siège de La Poste le numéro SIRET est 35600000000048. Il vérifie la formule classique mais pas l'autre règle ; pour l'établissement de Rennes de numéro SIRET 35600000009075, la règle classique échoue, mais la vérification avec l'autre règle est valide).

En Belgique (avant l'application du standard SEPA qui ajoute « BE » et deux chiffres devant, pour former l’IBAN), les numéros de compte en banque (« BBAN »), sont vérifiés par la simple opération MODULO 97, cela veut dire que les deux derniers chiffres sont le reste de la division par 97 des autres chiffres. Ceci est également valable pour les communications dites « structurées » (12 chiffres) des virements interbancaires.

Notes et références

(en) Cet article est partiellement ou en totalité issu de l’article de Wikipédia en anglais intitulé « Luhn algorithm » (voir la liste des auteurs).
  1. « La Poste change de statut », Le Monde, .
  2. Contact Insee, « pstage-utilisateurs - [pstage-utilisateurs] Invalidité de certains SIRET de la Poste - arc », sur groupes.renater.fr (consulté le ).

Articles connexes

Liens externes

Read other articles:

Untuk kegunaan lain, lihat Pakan (disambiguasi). Sapi yang sedang makan. Pakan adalah makanan yang diberikan kepada hewan nonmanusia. Hewan-hewan yang diberi pakan biasanya merupakan hewan yang berada dalam kendali manusia dan kelangsungan hidupnya dipengaruhi oleh manusia, seperti hewan domestik atau satwa liar yang dirawat manusia. Pakan yang bersifat basah atau terdiri dari campuran bahan padat dan cair dapat disebut komboran.[1] Sebagai makhluk hidup, hewan memerlukan nutrien untu...

 

Toledo ialah kota besar di Ohio, Amerika Serikat. Kota ini dinamai menurut kota Toledo, Spanyol. Merupakan kota industri yang besar, dan memiliki banyak pabrik yang membuat barang seperti bagian mobil dan kaca. Pada 1835, sebuah konflik antara Ohio dan Michigan mulai karena pertentangan wilayah. Pada 1936, bangunan pertama yang dibuat dari kaca dibangun di sini. Tokoh terkenal dari Toledo Jamie Farr, aktor (terkenal karena memerankan tokoh Maxwell Klinger di acara TV M*A*S*H, yang juga merupa...

 

Bagian dari seriGereja Katolik menurut negara Afrika Afrika Selatan Afrika Tengah Aljazair Angola Benin Botswana Burkina Faso Burundi Chad Eritrea Eswatini Etiopia Gabon Gambia Ghana Guinea Guinea-Bissau Guinea Khatulistiwa Jibuti Kamerun Kenya Komoro Lesotho Liberia Libya Madagaskar Malawi Mali Maroko Mauritania Mauritius Mesir Mozambik Namibia Niger Nigeria Pantai Gading Republik Demokratik Kongo Republik Kongo Rwanda Sao Tome dan Principe Senegal Seychelles Sierra Leone Somalia Somaliland ...

Untuk tempat lain yang bernama sama, lihat Galur. GalurKapanewonNegara IndonesiaProvinsiDaerah Istimewa YogyakartaKabupatenKulon ProgoPemerintahan • PanewuLatnyana, S.AgPopulasi • Total- jiwaKode Kemendagri34.01.04 Kode BPS3401040 Luas- km²Desa/kelurahan7 Galur (Jawa: ꦒꦭꦸꦂ, translit. Galur) adalah sebuah kecamatan di Kabupaten Kulon Progo, Provinsi Daerah Istimewa Yogyakarta, Indonesia. Pembagian administratif Kepanewon Galur terdiri dari kalurah...

 

2022 studio album by CurrensyContinuanceStudio album by CurrensyReleasedFebruary 18, 2022GenreHip hopLength37:24LabelEMPIREProducerAlchemistCurrensy chronology Pilot Talk IV(2021) Continuance(2022) Spring Clean 2(2022) Alchemist chronology Haram(2021) Continuance(2022) The Elephant Man's Bones(2022) Continuance is the first full-length collaborative studio album by American rapper Currensy and fellow American record producer The Alchemist. It was released on February 18, 2022, through...

 

Pour les articles homonymes, voir Ardon. L'Ardon Source de l'Ardon à Laon rue des Bains avec le lavoir. Cours de l’Ardon l'Ardon sur OpenStreetMap. Caractéristiques Longueur 11,2 km [1] Bassin 134 km2 [2] Bassin collecteur la Seine Débit moyen 1,72 m3/s (Chaillevois) [2] Nombre de Strahler 4 Organisme gestionnaire Syndicat intercommunal de gestion de l'Ardon et de la moyenne Ailette Régime pluvial océanique Cours Source source · Localisation Laon · Altitude 68 m ...

Perusahaan Kereta Api Jepang TimurKantor pusat di Shinjuku, TokyoNama asli東日本旅客鉄道株式会社Nama latinHigashi-Nihon Ryokaku Tetsudō kabushiki gaishaJenisPublik (Kabushiki gaisha)Kode emiten TYO: 9020 Komponen Nikkei 225 Komponen TOPIX Large70 IndustriTransportasi relPendahuluKereta Api Nasional Jepang (JNR)Didirikan1 April 1987; 37 tahun lalu (1987-04-01) (privatisasi JNR)Kantorpusat2-2-2 Yoyogi, Shibuya, Tokyo, JepangWilayah operasiWilayah Kantō dan TōhokuPrefektur Nii...

 

No debe confundirse con Suecia. Para otros usos de este término, véase Suiza (desambiguación). Confederación SuizaSchweizerische EidgenossenschaftConfédération suisseConfederazione SvizzeraConfederaziun svizraBandera Escudo Lema: Unus pro omnibus, omnes pro uno[1]​(en latín: «Uno para todos y todos para uno») Himno: SchweizerpsalmCantique suisseSalmo SvizzeroPsalm svizzer(en alemán, francés, italiano y romanche: «Salmo suizo») ¿Problemas al reproducir este archivo? Capital...

 

Chronologies Données clés 1823 1824 1825  1826  1827 1828 1829Décennies :1790 1800 1810  1820  1830 1840 1850Siècles :XVIIe XVIIIe  XIXe  XXe XXIeMillénaires :-Ier Ier  IIe  IIIe Chronologies géographiques Afrique Afrique du Sud, Algérie, Angola, Bénin, Botswana, Burkina Faso, Burundi, Cameroun, Cap-Vert, République centrafricaine, Comores, République du Congo, République démocratique du Congo, Côte d'Ivoire, Djibouti, Égyp...

Prix Nobel de physique Le congrès Solvay, en 1911, auquel assistèrent neuf lauréats du prix Nobel de physique. Nom original Nobelpriset i fysik Description Prix récompensant une contribution majeure en physique Organisateur Académie royale des sciences de Suède Pays Suède Date de création 1901 Dernier récipiendaire Anne L'Huillier Ferenc Krausz Pierre Agostini 2023 Site officiel http://nobelprize.org modifier  Le diplôme du Prix Nobel de Physique attribué pour moitié à Pier...

 

Ben Amos Ben Amos berlatih bersama Manchester United pada 2011Informasi pribadiNama lengkap Benjamin Paul Amos[1]Tanggal lahir 10 April 1990 (umur 34)Tempat lahir Macclesfield, InggrisTinggi 1,91 m (6 ft 3 in)[2][3]Posisi bermain Penjaga GawangInformasi klubKlub saat ini Wigan AthleticNomor 12Karier junior2000–2001 Crewe Alexandra2001–2008 Manchester UnitedKarier senior*Tahun Tim Tampil (Gol)2008–2015 Manchester United 1 (0)2009 → Peterboro...

 

American geologist This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: Arnold Hague – news · newspapers · books · scholar · JSTOR (March 2013) (Learn how and when to remove this message) Arnold HagueBornDecember 3, 1840Boston, MassachusettsDiedMay 14, 1917(1917-05-14) (aged 76)Washington, D.C.Education The ...

  لمعانٍ أخرى، طالع رايموند (توضيح). رايموند   الإحداثيات 39°19′15″N 89°34′28″W / 39.3208°N 89.5744°W / 39.3208; -89.5744   [1] تقسيم إداري  البلد الولايات المتحدة[2]  التقسيم الأعلى مقاطعة مونتغومري  خصائص جغرافية  المساحة 1.32 ميل مربع  ارتفاع 639 قدم  ع�...

 

American politician (born 1966) Dan LipinskiMember of the U.S. House of Representativesfrom Illinois's 3rd districtIn officeJanuary 3, 2005 – January 3, 2021Preceded byBill LipinskiSucceeded byMarie Newman Personal detailsBornDaniel William Lipinski (1966-07-15) July 15, 1966 (age 57)Chicago, Illinois, U.S.Political partyDemocraticSpouseJudy LipinskiRelativesBill Lipinski (father)EducationNorthwestern University (BS)Stanford University (MS)Duke University (PhD) Dan...

 

Island group in the Indian Ocean Nicobar IslandsLocation of the Nicobar Islands in the Indian Ocean.GeographyLocationBay of BengalCoordinates7°05′N 93°48′E / 7.083°N 93.800°E / 7.083; 93.800ArchipelagoAndaman and Nicobar IslandsTotal islands22Major islandsCar Nicobar, Great Nicobar, Little NicobarArea1,841 km2 (711 sq mi)Highest elevation642 m (2106 ft)Highest pointMount ThullierAdministration IndiaUnion territoryAndaman ...

The ReverendNazzareno FormosaCurate of Sacred Hearts ChurchChurchRoman CatholicArchdioceseNew YorkIn office1927-1937OrdersOrdination2 August 1925Personal detailsBorn(1901-03-29)March 29, 1901Għarb, Gozo, MaltaDiedJuly 22, 1937(1937-07-22) (aged 36)New York City, United StatesBuriedSt. John Cemetery (Queens)NationalityMalteseResidence307, East 33rd Street ManhattanParentsNikol Formosa& Maria Caruana Nazzareno Formosa (29 March 1901 - 22 July 1937) was an American-Maltese Roman Cathol...

 

Amihai Mazar Amihai Ami Mazar (Ibrani: עמיחי מזר; kelahiran 1942) adalah seorang arkeolog asal Israel. Lahir di Haifa, Israel (saat itu Palestina Mandat Inggris), ia menjadi profesor di Jurusan Arkeologi Universitas Ibrani Yerusalem sejak 1994, memegang jabatan Ketua Eleazer Sukenik dalam bidang Arkeologi Israel. Mazar telah menikah, memiliki tiga anak dan tinggal di Yerusalem. Ia adalah keponakan dari Benjamin Mazar, salah satu generasi pertama dari para arkeolog pionir Israel se...

 

ثايدون بويسمعلومات عامةالتقسيم الإداري Epping Forest (en) البلد  المملكة المتحدة شبكة المواصلات مترو لندن الخطوط الخط المركزي المحطات المجاورة إيبينغ[1]على الخط: الخط المركزيباتجاه: إيبينغ — ديبدين[1]على الخط: الخط المركزيباتجاه: إيلينغ برودوي، ‏غرب روسليب الارتباطات...

County in Colorado, United States County in ColoradoClear Creek CountyCountyAlpine Hose, historic firehouse in Georgetown.Motto: Where The Old West Meets New AdventuresLocation within the U.S. state of ColoradoColorado's location within the U.S.Coordinates: 39°41′N 105°38′W / 39.69°N 105.64°W / 39.69; -105.64Country United StatesState ColoradoFoundedNovember 1, 1861Named forClear CreekSeatGeorgetownLargest cityIdaho SpringsArea • Tota...

 

Attraction at Universal Studios Florida This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: NBC Media Center – news · newspapers · books · scholar · JSTOR (November 2022) (Learn how and when to remove this message) NBC Media CenterUniversal Studios FloridaAreaHollywoodStatusOperatingOpening dateJuly 8, 2015 ...