Formule de Luhn

Définition - Que signifie la formule de Luhn?

La formule de Luhn est une formule de somme de contrôle simple qui est utilisée dans la validation de divers numéros d'identification tels que les numéros de carte de crédit, les numéros de sécurité sociale, les numéros IMEI et bien d'autres. L'algorithme valide le numéro par rapport à un chiffre de contrôle inclus dans le numéro lui-même, généralement le dernier chiffre. La formule de Luhn est maintenant dans le domaine public et est largement utilisée dans diverses industries et spécifiée dans l'ISO / CEI 7812-1.

La formule de Luhn est également connue sous le nom d'algorithme de Luhn, d'algorithme de module 10 ou d'algorithme de mod 10.

Definir Tech explique Luhn Formula

La formule de Luhn a été conçue par Hans Peter Luhn, un scientifique d'IBM, qui a déposé un brevet pour la formule en 1954, qui a été accordée en 1960. La formule n'a pas été conçue pour être une fonction de hachage cryptographiquement sécurisée, mais plutôt comme un moyen simple de protéger contre les erreurs accidentelles lors de la création de numéros d'identification uniques. De nombreux organismes gouvernementaux et institutions privées ont utilisé la formule pour distinguer les numéros valides des numéros mal saisis, incorrects ou simplement frauduleux.

La formule est utilisée pour vérifier une série de nombres en vérifiant qu'un chiffre de contrôle inclus est correct. Ce chiffre de contrôle est généralement associé à un numéro partiel afin de le compléter.

Le processus suivant est la génération du chiffre de contrôle:

  1. En partant du chiffre le plus à droite, doublez la valeur de chaque deuxième chiffre.
  2. Si le produit résultant de la première étape est supérieur à 9, ajoutez les deux chiffres (par exemple, 5 × 3 = 15, 1 + 5 = 6). Si le résultat est 9 ou moins, conservez le nombre.
  3. Prenez la somme de tous les chiffres.
  4. Multipliez la somme par 9 et prenez le "modulo 10" de la somme; le résultat est le chiffre de contrôle.

Exemple: série numérique 927638965

9

2

7

6

3

8

9

6

5 est le chiffre de contrôle

9

4

7

12

3

16

9

12

9

4

7

3

3

7

9

3

somme = 45; 45 × 9 = 405 (mod 10) = 5

Afin de vérifier que le numéro est valide, suivez simplement l'algorithme en excluant le chiffre de contrôle, et si le même résultat est obtenu que le chiffre de contrôle, alors le numéro est valide selon la formule de Luhn. Cependant, cet algorithme n'est pas très fiable et ne peut détecter que des erreurs à un chiffre et des transpositions de nombres adjacents, à l'exception de la transposition de la séquence à deux chiffres 09 à 90. Des algorithmes plus compliqués comme l'algorithme de Verhoeff et l'algorithme Damm sont capables pour détecter plus d'erreurs de transcription.