Le chiffre affine est un chiffre de substitution simple. Il est placé ici dans le cours car on peut le voir comme la version unidimensionnelle du chiffre de Hill.
L'idée est d'utiliser comme fonction de chiffrage une fonction affine du type y = ax + b, où a et b sont des constantes, et où x et y sont des nombres correspondant aux lettres de l'alphabet selon le tableau ci-dessous:
| Lettre | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z |
| Nombre | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 |
Evidemment, pour que la lettre chiffrée (y) soit encore un nombre entre 0 et 25, on travaillera modulo 26.
La vraie formule sera donc y = (ax + b) mod 26.
On peut remarquer que si a=1, alors on retrouve le chiffre de César et b est le décalage.
On remarquera aussi que si b=0, alors "a" est toujours chiffré "A".
Entrez un texte non accentué (au besoin prétraitez le texte).
Quelle est la formule pour déchiffrer un message, connaissant a et b ?
Vous avez sans doute remarqué que a ne peut pas prendre
n'importe quelle valeur. Essayez de chiffrer et déchiffrer avec les valeurs
a=2, 4 et 13 (avec b=0) pour voir les résultats. Pouvez-vous expliquer
les étranges phénomènes que vous observez?
Pour vous aider à répondre, téléchargez le fichier ci-dessous qui vous permettra de construire un tableau dans un tableur (Excel de Microsoft Office, ou Calc de OpenOffice) contenant les résultats de y = ax mod 26: