Le chiffre affine
Principe
Le chiffre affine est une variante du chiffre de César, très pratique à mettre en oeuvre sur un ordinateur car il se réduit à des calculs sur des nombres entiers. On commence par remplacer chaque lettre par son ordre dans l'alphabet, auquel, pour des raisons techniques, on enlève 1 : A devient 0, B devient 1,..., Z devient 25. On choisit ensuite deux nombres entiers $a$ et $b$ qui sont la clé de chiffrement. Le nombre $x$ est alors codé par $y=ax+b$. Ce nombre n'étant pas forcément compris entre 0 et 25, on prend son reste $r$ dans la division par 26. Et ce nombre $r$ est à son tour remplacé par la lettre qui lui correspond.
Ainsi, dans le chiffre affine, une lettre est toujours remplacée par la même lettre : il s'agit bien d'un chiffrement par substitution mono-alphabétique.Exemple
On souhaite coder le mot ELECTION avec le choix a=3, b=5.
Message initial | E | L | E | C | T | I | O | N |
Étape 1 : en nombres | 4 | 11 | 4 | 2 | 19 | 8 | 14 | 13 |
Étape 2 : après chiffrement | 17 | 38 | 17 | 11 | 62 | 29 | 47 | 44 |
Étape 3 : réduction modulo 26 | 17 | 12 | 17 | 11 | 10 | 3 | 21 | 18 |
Message chiffré | R | M | R | L | K | D | V | S |
- Étape 1 : On remplace les lettres par leur nombre associé : 4,11,4,2,19,8,14,13.
- Étape 2 : On calcule pour chaque nombre $ax+b$ : Par exemple, pour le premier nombre x1=4, on obtient y1=17. De même, y2=38, y3=17, y4=11, y5=62, y6=29, y7=47, y8=44.
- Étape 3 : On prend les restes dans la division par 26, et on trouve : z1=17, z2=12, z3=17, z4=11, z5=10, z6=3, z7=21, z8=18.
- Étape 4 : On retranscrit en lettres, remplaçant 17 par R, etc… On trouve RMRLK DVS.
- la lettre A est remplacée par 0, chiffrée en 2*0+3=3, c'est-à-dire que A est chiffrée par D.
- la lettre N est remplacée par 13, chiffrée en 2*13+3=29, dont le reste dans la division par 26 est 3 : N est également remplacé par D.
Déchiffrement
Pour déchiffrer un message, il faut procéder de la même façon. On commence par transcrire le message en nombres.
Pour chaque nombre, on doit inverser la relation $y=ax+b$ (ici, on connait $y$ et on doit retrouver $x$).
On a envie de poser $x=\frac1a y-\frac ba$. C'est presque cela, sauf que l'on fait de l'arithmétique modulo 26.
Ce qui remplace $\frac 1a$, c'est l'inverse de $a$ modulo 26, autrement dit un entier $a'$ tel que, lorsqu'on fait
le produit $aa'$, on trouve un entier de la forme $1+26k$. On sait qu'un tel entier existe dès que la condition précédente
(2 ne divise pas a, 13 ne divise pas a) est vérifiée. Par exemple, pour $a=3$, on peut choisir $a'=9$ car 9×3=1+26.
Cette valeur de a déterminée, on a alors $x=a'y-a'b$, qu'on retranscrit en une lettre comme pour l'algorithme de chiffrement.
En pratique
Chiffrons donc nos messages par le chiffre affine :
Consulter aussi