ChronoMath, une chronologie des MATHÉMATIQUES
à l'usage des professeurs de mathématiques, des étudiants et des élèves des lycées & collèges

Calcul d'une clé RIB (Relevé d'Identité Bancaire)    niveau Ter SpéMath       
      
Outil : congruences |  » calcul de la clé de contrôle de votre identifiant INSEE/Carte vitale

Afin d'identifier votre compte bancaire, les banques françaises et étrangères utilisent un code alphanumérique (lettres et chiffres) dont  la composition peut varier d'un pays à l'autre, le principe restant le même : il s'agit du RIB, Relevé d'Identité Bancaire. Un identifiant semblable utilisant les mêmes caractères et chiffres, regroupés par quatre et précédé d'un code indiquant le pays hébergeant la banque est l'IBAN, International Bank Account Number.

RIB - Identifiant national de compte

 ETABLISSEMENT  
15038
 GUICHET  
01209
 N° COMPTE  
1341531M025
 CLE RIB  
93

 IBAN - Identifiant international de compte  
FR50 1503 8012 0913 4153 1A02 572

Nous nous intéressons ici au RIB, identifiant à 23 caractères, dont les deux derniers constituent la clé de vérification du relevé :

Sa valeur, objet d'étude de cet page, permettra le contrôle du code des 21 caractères qui la précédent. Concernant les lettres éventuelles présentes dans le RIB, la convention suivante est utilisée pour leur codage numérique :

 A - J    B - K - S    C - L - T    D - M - U    E - N - V    F - W    G - P - X    H - Q - Y    I - R - Z  
1 2 3 4 5 6 7 8 9

En France (23 caractères, le n° de compte peut posséder des lettres) :

   Lorsqu'un nouveau client demande la création d'un compte, on lui attribue un n° de compte N. Les nombres E et G ne dépendent que de la banque. Afin de créer la clé RIB permettant le contrôle informatique de l'adéquation entre le client et son opération bancaire, les organismes bancaires ont mis en place l'algorithme de calcul suivant :

Tout d'abord, remplacer toute lettre par son code numérique : dans le cas proposé, le M sera remplacé par 4. Dans l'exemple donné, le code numérique du RIB devient : R = 15038012091341531402593. Ce nombre à 23 chiffres dépasse la capacité de calculs des ordinateurs courants. Il s'interprète comme :

 ETABLISSEMENT  
E

 GUICHET  
G

 N° COMPTE  
N

 CLE RIB  
C

 Remarque  
x x x x x 0 0 0 0 0  0 0 0 0 0 0 0 0 0 0 0   00 E suvi de
18 zéros
+ x x x x x 0 0 0 0 0 0 0 0 0 0 0 00 G suivi de
13 zéros
  + x x x x x x x x x x x   00 N suivi de
2 zéros
    + x x clé à 2
chiffres

Questions :   

a) R est un nombre écrit en base 10. Découper R en l'écrivant sous la forme :

R = E × 10i + G × 10j + N × 10k + C où i, j et k sont des entiers à déterminer

b) Résoudre la congruence x∈N, R ≡ x [97] en fonction de E, G et N et C.

c) Par convention, la clé RIB C est définie de sorte que R soit divisible par 97 et C soit un entier de l'intervalle [1,97]. En déduire que la clé RIB définie par :

C = 97 - (89E - 15G - 3N)

est l'unique entier vérifiant ces conditions.

   Le choix de 97, plus grand nombre premier inférieur à 100, permet d'obtenir le plus grand nombre de clés distinctes à 2 chiffres, quitte à rajouter un zéro à gauche si C s'avère inférieur à 10. Le choix d'un nombre pair ou de tout autre nombre composé diminuerait le nombre de restes distincts dans la mesure où le code INSEE serait divisible par un tel nombre. Par exemple, un choix de 75 =15 × 5 comme modulo sèmerait la pagaille dans le contrôle de la clé car un RIB comme 150380120913415314025, divisible par 25, réduit le modulo à 3 vu que 150380120913415314025 ∧ 75 = 25.

d) Vérifier la valeur 93 de la clé RIB de l'exemple donné.

 i  La correspondance de la clé est nécessaire mais non suffisante pour éviter des erreurs lors de la saisie d'un n° de compte. Voir note in fine.

Si vous séchez après avoir bien cherché :  ››››


© Serge Mehl - www.chronomath.com

 

 




 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Solution :

a) R = E × 1018 + G × 1013 + N × 100 + C

b) Remarquons tout d'abord que 100 ≡ 3 [97]. Donc :

Par conséquent : x ≡ 89E + 15G + 3N + C  [97].

Remarque :    

On peut choisir x de façon unique dans l'intervalle [0,96] en tant que reste de la division euclidienne de 89E + 15G + 3N + C par 97.

c) R sera divisible par 97 si et seulement si x ≡ 0  [97], soit C = - 89E - 15G - 3N  [97] ou bien, modulo 97 :

C = 97 - 89E - 15G - 3N

et la remarque ci-dessus permet de choisir C = 97 - x, avec 0 ≤ x ≤ 96. Or :

  0 ≤ x ≤ 96  ⇔  - 96 ≤ - x ≤ 0    ⇔  1 ≤ 97 - x ≤ 1  ⇔  1 ≤ C ≤ 97

d) Par division euclidienne, on obtient facilement :

E = 15038 ≡ 3 [97], G = 1209 ≡ 45 [97], N = 13415314025 ≡ 43 [97]

Par conséquent 89E + 15G + 3N = 1071 ≡ 4 [97]. On en déduit la clé RIB : C = 97 - 4 = 93.

    La correspondance de la clé est nécessaire mais non suffisante pour éviter des erreurs lors de la saisie d'un n° de compte bancaire car, par exemple, dans le code guichet, si on tape 1112 au lieu de 1209 par inadvertance, vu que 1209 - 1112 = 97, on aura encore G ≡ 45 [97]... Mais se tromper d'un chiffre dans un nombre de 5 chiffres (cas plus probable) ne crée cependant pas une différence multiple de 97. On peut aussi taper des chiffres erronés un peu partout et fabriquer sans le vouloir des multiples de 97. Mais, bon...

Script de calcul en ligne (lien externe) :  ››››


© Serge Mehl - www.chronomath.com