Image_telephone

IMEI

Qu'est-ce que c'est?:
IMEI (International Mobile Equipment Identity) est un numéro de 15 chiffres qui permet d'identifier de façon unique un équipement, par exemple un smartphone ou une tablette. Pour un mobile, ce numéro est indiqué la plupart du temps au dos de l'appareil, sous la batterie. Il peut aussi être obtenu directement en entrant *#06# sur le mobile.

Remarque:
en entrant *#06#, en plus d'avoir l'IMEI, le SVN (Software Version Number) est aussi affiché sous la forme SVN 60


L'IMEI ressemble à ceci: 35774602-777376-8
Comme expliqué sur Wikipédia, le dernier chiffre (8 dans notre example) est un chiffre de vérification (CD pour Check Digit).
Q: Comment est-il calculé?
R: A l'aide de la formule de Luhn (ou algorithme modulo 10)

Explications sur la formule de Luhn à l'aide de notre exemple.
1ère étape: on double les digits situés à une position paire de l'IMEI.
Le chiffre 3 est en 1ère position, il ne subira donc pas de transformation, 3 reste donc 3.
Le chiffre 5 est en 2ème position (position paire), il va donc être multiplié par 2, on obtient 10.
Le chiffre 7 est en 3ème position, il ne subira donc pas de transformation, 7 reste donc 7.
Le chiffre 7 est en 4ème position (position paire), il va donc être multiplié par 2, on obtient 14.
etc....jusqu'au chiffre 6.
Finalement on obtient: 3 10 7 14 4 12 0 4 7 14 7 6 7 12

2ème étape: s'il y a des nombres à 2 chiffres, on additionne les 2 chiffres , de façon à n'avoir plus qu'un chiffre:
on obtient 3 1 7 5 4 3 0 4 7 5 7 6 7 3
3ème étape: on additionne les chiffres, on obtient 3+1+7+5+4+3+0+4+7+5+7+6+7+3=62
4ème étape: le nombre obtenu doit être divisible par 10, il faut donc lui ajouter 8 pour obtenir 70 qui est un multiple de 10.

Conclusion: le Check Digit vaut donc bien 8 comme affiché.
C'est exactement ce calcul que fera un ordinateur pour vérifier qu'une suite de 15 chiffres peut correspondre à un IMEI ou pas.
Evidemment, cette méthode n'est pas une méthode pour lutter contre la fraude, mais juste une méthode pour détecter les erreurs aléatoires qui peuvent se glisser par exemple lors d'une saisie.
Ceci dit, tout les opérateurs de télécommunications ont en commun un fichier contenant la liste des IMEI qui sont black listés. Par exemple, suite à un vol, le fait de black lister l'appareil va le rendre inutilisable, puisque de toute façon une vérification de l'IMEI est faite.

Remarque: la formule de Luhn n'est pas utilisé uniquement dans l'IMEI. En effet, elle est par exemple utilisée pour vérifier qu'une suite de 16 chiffres correspond à un numéro de carte bancaire.Voici certaines informations concernant les cartes bancaires actuelles, assorties d'un exemple d'utilisation de la formule de Luhn.

Source: http://en.wikipedia.org/wiki/International_Mobile_Equipment_Identity

La formule de Luhn utilisée pour vérifier la validité d'un numéro de carte bancaire
Les secrets des numéros de Carte Bancaire
Un numéro de carte bancaire n'est pas un numéro donné au hasard. Chaque chiffre a une fonction et peut donner de nombreux renseignements complémentaires sur le type de carte, la banque etc... Un "algorithme" basé sur la clé de Luhn permet également de vérifier la validité d'un numéro de carte et donc d'une CB.
Un numéro de Carte Bancaire (CB) est composé de 4 groupes de 4 chiffres, soit 16 chiffres en tout.
Notons par exemple ABCD EFGH IJKL MNOP où chaque lettre correspond a un chiffre.
Avec cette notation on aura:
A : le premier chiffre désigne le type de carte (Américan Express (3), Visa (4), MasterCard (5), Discover (6))
BCD, BCDE, BCDEF : numéro de votre banque (BNP, Crédit Lyonnais (maintenant LCL), Crédit Agricole, Caisse d'épargne ect...). La longueur de ce numéro est variable selon l'organisme banquaire.
Les numéros qui suivent le numéro de votre banque jusqu'au O compris, sont les numéros composant votre numéro de carte, il est choisi grace à un algorithme bien gardé.
Le dernier chiffre (P) correspond à la clef de Luhn qui permet de vérifier la validité de la carte.
Les banques distribuent généralement un seul type de carte, on peut donc considérer que les 4, 5 ou 6 premiers numéros sont fixes et ne varie qu'en fonction de l'organisme banquaire. Voici une liste des numéros ABCD avec le type de carte et le nom de la banque correspondante au numéro.

Tableau de correspondances
Numéro ABCD Type de carte Banque/Emetteur
4970 Visa La Poste
4972 Visa Crédit Lyonnais (LCL)
4973 Visa Société Générale
4974 Visa BNP Parisbas
4975 Visa La Bred (Banque Populaire)
4976 Visa Sofinco
4978 Visa Caisse d'Epargne
5131 MasterCard Crédit agricole
5612 MasterCard Crédit agricole
5132 MasterCard Crédit Mutuel
5032 MasterCard Accord Finances
5016 MasterCard Finedis
37203 American Express
372407 American Express
372861 American Express
373227 American Express
513 Eurocard Eurocard France
5294 Eurocard Eurocard France
5295 Eurocard Eurocard France
541325 Eurocard Eurocard Suisse
540054 Eurocard Eurocard Benelux
541327 Eurocard Eurocard Benelux
544327 Eurocard Eurocard Benelux
541303 Eurocard Eurocard Danemark
541330 Eurocard Eurocard Pays-Bas
541333 Eurocard Eurocard International
544333 Eurocard Eurocard International
545333 Eurocard Eurocard International
546333 Eurocard Eurocard International

Vérifier la validité d'un numéro de Carte Bancaire :

Maintenant que nous avons vu comment était composé un numéro de carte bancaire, nous allons voir comment vérifier la validité d'un numéro de carte.
La méthode suivante permet de vérifier la validité mais pas l'existence d'un numéro de carte bancaire.
Un numéro de carte est composé de 16 chiffres, pour la suite on va nommer chaque chiffre par sa position.
Pour vérifier la validité du numéro, vous allez multiplier un chiffre sur deux du numéro de carte par 2 en commençant par le premier. Vous allez donc multiplier les nombres 1, 3, 5, 7, 9, 11, 13 et 15 par 2. Si le résutat de la mutliplication par 2 est supérieur à 9, on va soustraire 9 (le résultat doit etre modulo 9). Pour les nombres restants (2, 4, 6, 8, 10, 12, 14, 16), on ne va rien faire et les laisser comme ils sont. On va maintenant additionner tous les chiffres obtenus (ceux qui ont été laissé comme ils sont et ceux qui ont été multipliés par 2 modulo 9).
Si la somme obtenue est un multiple de 10 (50, 60, 70, 80, 90 ect..) alors le numéro de carte est valide.

On va prendre pour exemple le numéro 4610 4173 2710 5821.

4 x 2 = 8
6
1 x 2 = 2
0

4 x 2 = 8
1
7 x 2 = 14 , 14 étant supérieur à 9, on soustrait 9. 14 - 9 = 5 (ca équivaut à 7 x 2 = 5 [9])
3

2 x 2 = 4
7
1 x 2 = 2
0

5 x 2 = 10 , 10 > 9 donc on fait 10 - 9 = 1 et on garde le chiffre 1
8
2 x 2 = 4
1

On additionne tous les chiffres obtenus : 8 + 6 + 2 + 0 + 8 + 1 + 5 + 3 + 4 + 7 + 2 + 0 + 1 + 8 + 4 + 1 = 60
60 étant un multiple de 10, le numéro de carte est valide.
Calculer la clé de Luhn :
La clé de Luhn permet de vérifier la validité du numéro de carte. Un numéro de carte est sous la forme ABCD EFGH IJKL MNOP, la clé de Luhn est le chiffre P.
On peut calculer ce chiffre P grace aux 15 autres chiffres ABCD EFGH IJKL MNO.
Multipliez un chiffre sur deux par 2 en comencant par A. Si le résultat est plus grand que 9, soustrayez 9.
Remplacez A par le nouveau résultat.
Faites le même calcul avec C, E, G, I, K , M et O.
Laissez les chiffres B, D, F, H, J, L, N comme ils sont.
Calculez la somme de A+B+C+D+E+F+G+H+I+J+K+L+M+N+O que l'on va appeller S.
Prenez le reste de S dans la division euclidienne par 10 (ne conservez que le chiffre des unités de S).
Vous obtiendrez P en faisant 10 - S.
P est la clé de Luhn de votre numéro de carte bleu (c'est le dernier numéro).