La manière la plus classique de chiffrer des messages consiste à remplacer une lettre par une autre, en utilisant un alphabet désordonné. C'est un chiffre monoalphabétique. Par exemple, on pourrait utiliser la grille de chiffrement ci-dessous:
| Clair | 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 |
| Chiffré | B | T | U | E | Q | V | Z | A | R | W | G | O | N | C | L | K | J | S | X | D | M | H | P | I | F | Y |
En français, combien y a-t-il d'alphabets désordonnés ?
Un inconvénient est qu'il est difficile, à moins d'avoir une mémoire remarquable, de se souvenir de la grille de chiffrement. Pour pouvoir la reconstituer rapidement, on peut utiliser comme moyen mnémotechnique un mot-clef. Les lettres le composant seront mises dans la deuxième ligne de la grille dans l'ordre d'apparition, après avoir supprimé les doublons. On ajoutera ensuite les lettres n'apparaissant pas dans le mot-clef par ordre alphabétique.
Une deuxième méthode consiste à écrire la clef puis, en dessous, les autres lettres de l'alphabet, par ordre alphabétique. On lit ensuite les lettres colonne par colonne. Par exemple la clef MAISON donne la table suivante:
| M | A | I | S | O | N |
| B | C | D | E | F | G |
| H | J | K | L | P | Q |
| R | T | U | V | W | X |
| Y | Z |
On obtient ainsi l'alphabet de chiffrement suivant:
| Clair | 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 |
| Chiffré | M | B | H | R | Y | A | C | J | T | Z | I | D | K | U | S | E | L | V | O | F | P | W | N | G | Q | X |
Le petit programme javascript ci-dessous vous permettra de chiffrer/déchiffrer un message avec un alphabet désordonné, qui peut être construit de manière horizontale ou verticale. Écrivez votre texte et le mot-clef, tous deux sans accents (au besoin prétraitez le texte), puis cliquez sur un bouton en face du type de construction souhaité.
Ecrivez
un programme Python qui crée une table de chiffrement (construction horizontale)
à partir d'une clef (mot ou phrase). Solution.