Méthode de calcul des clefs de contrôle


Une clé de contrôle est une donnée de petite taille calculée à partir d'un bloc d'informations numérique créé pour détecter les erreurs qui peuvent avoir été créées durant sa transmission ou son stockage. Le processus qui délivre la clé de contrôle est connu sous le nom d'algorithme de clé de contrôle.

Sur la base de ses objectifs de création, un très bon algorithme de clé de contrôle délivrera très probablement une valeur sensiblement distincte, peut-être avec quelques modifications apportés à l'entrée de départ. Ceci est particulièrement vrai pour les algorithmes de clés de contrôle criptographiques, qui peuvent être utilisés pour identifier de nombreux problèmes de corruption des données et pour valider l'intégrité générale des données; si la clé de contrôle calculée pour la donnée entrante correspond à la valeur sauvegardée d'une clé de contrôle précédemment numérisée, il existe une très haute probablilité pour que les données n'aient pas été modifiées ou corrompues de manière involontaire.

Plus précisément, que signifie une clé de contrôle incorrecte?

Si le calculateur IBAN vous informe que le numéro de compte bancaire que vous avez tapé contient une clé de contrôle incorrecte, il existe de nombreuses possibilités:

- Peut-être y a t'il une faute de frappe dans le code bancaire ou dans le numéro de compte bancaire que vous avez tapé. Assurez-vous de vérifier les deux. S'il y a une faute de frappe dans l'un de ces numéros, il est logique que l'IBAN résultant soit également incorrect.

- Ceci est-il un compte bancaire unique, par exemple pour accumuler des dons pour une grosse organisation, ou le compte bancaire d'un individu extrêmement spécial et puissant (fondateur de banque, politicien vital etc) ? Dans certains cas, des numéros de compte bancaires 'jolis' tels que Compte Bancaire no. 1 peuvent être utilisés à cause de leur élégance même s'ils ne correspondent pas au schéma de la clé de contrôle. De ce fait, il est possible que le numéro de compte bancaire soit correct bien qu'il contienne une clé de contrôle défectueuse.

- Il est possible que le compte bancaire aie été ouvert dans une institution bancaire plus tard rachetée par une autre banque. Dans ces cas, c'est la raison pour laquelle le numéro de compte reste le même, mais la méthode de clé de contrôle est modifiée.

- Peut-être avez-vous trouvé une bévue dans votre logiciel de vérification des clés de contrôle. Ceci est probable si vous êtes certain d'avoir tapé le numéro de compte bancaire correct qui est assigné à un individu normal, ce qui assure que la seconde possibilité ne s'applique pas.

- Même s'il affiche une clé de contrôle défectueuse, le calculateur IBAN calculera un IBAN, précisément à cause de la deuxième possibilité ci-dessus. Cependant, vous devrez ensuite tout de même vérifier si vous aviez bien tapé le numéro de compte bancaire correct pour éviter de vous retrouver avec une IBAN incorrect. Vérifier un numéro de compte bancaire et calculer un IBAN sont deux étapes indépendantes.

La cle IBAN et sa methode de calcul

Créer un IBAN artificiel, composé du code du pays (norme ISO 3166) : FR pour la France1 ou MC pour Monaco, suivi de « 00 » et du « code RIB » (sans caractères autres qu’alphanumériques).

Exemple : le « code RIB » français 11749 00001 00023146704 38 devient FR001174900001 00023146704 38.

Déplacer les 4 premiers caractères de l’IBAN vers la droite du numéro.

Exemple 1174900001 00023146704 38 FR00

Convertir les lettres en chiffres, conformément à la table de conversion ci-dessous.

Exemple : 1174900001 00023146704 38 152700

Table de conversion
A B C D E F G H I J K L M
10 11 12 13 14 15 16 17 18 19 20 21 22

N O P Q R S T U V W X Y Z
23 24 25 26 27 28 29 30 31 32 33 34 35

Appliquer le MOD 97-10 (cf. ISO 7604).
Calculer le modulo 97 et retrancher le reste de 98. Si le résultat comporte un seul chiffre, insérer un zéro devant.
Insérer le résultat ainsi obtenu à la position 3 de l’IBAN artificiel créé dans l’étape préalable (en remplacement des deux zéros).

Exemple : 98-22=76, d’où IBAN = FR76 1174 9000 0100 0231 4670 438

Note pour la mise en œuvre des calculs modulo 97
Pour des raisons de précision, il est recommandé d’utiliser des nombres entiers et non des nombres à virgule flottante. Si l’IBAN est trop long pour effectuer le calcul en une seule fois, le calcul pourra être scindé en calculs successifs de restes, effectués sur des nombres entiers d’une longueur compatible avec le matériel utilisé (à titre d’exemple, un nombre entier signé comportant 32 bits représente un maximum de 9 chiffres).

Exemple sur 9 chiffres pour le numéro 510007547061111462

1. Calculer le modulo 97 des 9 premiers chiffres du numéro considéré.
Exemple : modulo 97 de 510007547 = 74.

2. Recomposer, en partant du reste, un nouveau nombre de 9 chiffres et calculer son modulo 97.
Exemple : modulo 97 de 740611114 = 12.

3. Répéter l’étape précédente jusqu’à ce que tous les chiffres de l’IBAN considéré aient été traités.
Exemple : modulo 97 de 1262 = 1.

Ce résultat est identique au reste de la division de 510007547061111462 par 97.