Le premier est YHQL YLGL YLFL, on devine rapidement que la transformation utilisée est une simple translation. La longueur des trois mots et le contexte historique permettent vite de trouver laquelle : x↦x+3. Le message s’obtient en utilisant la translation réciproque : x↦x−3. Il s’agit bien sûr de VENI VIDI VICI.
Pour l’autre message, on va utiliser la méthode des fréquences, ligne par ligne.
N | G | W | B | L | O | I | N | O | A | P | M | P | O | W | B | U | W | Q | M | B | B | Q | D | M | Q | P | O | I | I | G | W | V | V | L | O | I | W | B | A | |||
O | V | M | Q | P | O | A | O | P | M | Q | P | H | M | T | G | B | H | W | Z | O | T | L | G | W | Q | I | I | O | S | O | Z | P | H | O | P | G | Q | P | I | H | ||
O | A | J | O | S | Q | Z | O | O | I | H | O | B | W | O | I | H | O | N | L | M | A | O | I | H | O | V | L | O | A | J | O | I | H | O | A | L | G | A | J | O | B | I |
Commençons par un tableau comptant les lettres par lignes :
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 | Vérification |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Ligne 1 | 2 | 5 | 1 | 2 | 4 | 2 | 3 | 2 | 5 | 3 | 3 | 1 | 2 | 5 | 40 | ||||||||||||
Ligne 2 | 1 | 1 | 3 | 4 | 3 | 1 | 3 | 7 | 6 | 4 | 1 | 2 | 1 | 2 | 2 | 41 | |||||||||||
Ligne 3 | 5 | 2 | 1 | 4 | 5 | 3 | 3 | 1 | 1 | 13 | 1 | 1 | 1 | 1 | 1 | 43 | |||||||||||
Total | 8 | 8 | 1 | 6 | 8 | 12 | 3 | 6 | 7 | 3 | 25 | 9 | 8 | 2 | 2 | 1 | 4 | 8 | 3 | 124 |
Les lettres les plus utilisées en français sont dans l’ordre ESARTILUNOC, ESARINTUOL ou encore EASITNRULO selon les auteurs, je parie que le O est le E et que le I est le S. Remplaçons :
N | G | W | B | L | O | I | N | O | A | P | M | P | O | W | B | U | W | Q | M | B | B | Q | D | M | Q | P | O | I | I | G | W | V | V | L | O | I | W | B | A | |||
E | S | E | E | E | S | S | E | S | ||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
O | V | M | Q | P | O | A | O | P | M | Q | P | H | M | T | G | B | H | W | Z | O | T | L | G | W | Q | I | I | O | S | O | Z | P | H | O | P | G | Q | P | I | H | ||
E | E | E | E | S | S | E | E | E | S | |||||||||||||||||||||||||||||||||
O | A | J | O | S | Q | Z | O | O | I | H | O | B | W | O | I | H | O | N | L | M | A | O | I | H | O | V | L | O | A | J | O | I | H | O | A | L | G | A | J | O | B | I |
E | E | E | E | S | E | E | S | E | E | S | E | E | E | S | E | E | S |
Si on cherche les lettres suivantes dans l’ordre de fréquence, elles sont proches et il n’est pas facile de les distinguer. ABHPQ sont assez indistinctes.
Essayons les paires de lettres identiques, car on sait que LL, EE ou SS sont courants en français :
Paire | BB | II | VV | OO |
---|---|---|---|---|
Effectif | 1 | 2 | 1 | 1 |
Fausse piste, il n’y en a pas assez.
Cherchons alors les articles comme LE qui devraient être courant, d’ailleurs on note que HO est fréquent :
Paire | LO | NO | PO | AO | ZO | SO | HO | JO | WO |
---|---|---|---|---|---|---|---|---|---|
Effectif | 3 | 1 | 3 | 3 | 2 | 1 | 6 | 3 | 1 |
Essayons si HO est LE, soit H est L :
N | G | W | B | L | O | I | N | O | A | P | M | P | O | W | B | U | W | Q | M | B | B | Q | D | M | Q | P | O | I | I | G | W | V | V | L | O | I | W | B | A | |||
E | S | E | E | E | S | S | E | S | ||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
O | V | M | Q | P | O | A | O | P | M | Q | P | H | M | T | G | B | H | W | Z | O | T | L | G | W | Q | I | I | O | S | O | Z | P | H | O | P | G | Q | P | I | H | ||
E | E | E | L | L | E | S | S | E | E | L | E | S | L | |||||||||||||||||||||||||||||
O | A | J | O | S | Q | Z | O | O | I | H | O | B | W | O | I | H | O | N | L | M | A | O | I | H | O | V | L | O | A | J | O | I | H | O | A | L | G | A | J | O | B | I |
E | E | E | E | S | L | E | E | S | L | E | E | S | L | E | E | E | S | L | E | E | S |
Là, je ne vois pas.
En fait, l’auteur parle peu avant de transformation affine dans l’anneau , cherchons si les deux lettres trouvées au début ne permettent pas de la trouver. On a O=15, I=9 et E=5, S=19.
En fait, on cherche à trouver a et b tels que l’application affine x↦ax+b [26] envoie 5 sur 15 et 19 sur 9.
On a 5a+b=15 [26] et 19a+b=9 [26], soit par soustraction, 14a=20 [26], c’est-à-dire 7a=10 [13].
On a 14=1 [13], donc 140=10 [13] mais aussi 49=10 [13], donc soit a=20 et b=9, soit a=7 et b=6.
La première solution ne permet pas d’obtenir toutes les lettres de l’alphabet, puisque 20∧26≠1, il reste x↦7x+6 [26] qui est la fonction d’encodage. Pour trouver la fonction de décodage, remarquons que 15×7=1 [26], donc 15y=x+90 [26] et x=15y+14 [26]. Essayons :
N | G | W | B | L | O | I | N | O | A | P | M | P | O | W | B | U | W | Q | M | B | B | Q | D | M | Q | P | O | I | I | G | W | V | V | L | O | I | W | B | A | |||
P | O | U | R | L | E | S | P | E | C | T | A | T | E | U | R | Q | U | I | A | R | R | I | V | A | I | T | E | S | S | O | U | F | F | L | E | S | U | R | C | |||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
O | V | M | Q | P | O | A | O | P | M | Q | P | H | M | T | G | B | H | W | Z | O | T | L | G | W | Q | I | I | O | S | O | Z | P | H | O | P | G | Q | P | I | H | ||
E | F | A | I | T | E | C | E | T | A | I | T | D | A | B | O | R | D | U | N | E | B | L | O | U | I | S | S | E | M | E | N | T | D | E | T | O | I | T | S | D | ||
O | A | J | O | S | Q | Z | O | O | I | H | O | B | W | O | I | H | O | N | L | M | A | O | I | H | O | V | L | O | A | J | O | I | H | O | A | L | G | A | J | O | B | I |
E | C | H | E | M | I | N | E | E | S | D | E | R | U | E | S | D | E | P | L | A | C | E | S | D | E | F | L | E | C | H | E | S | D | E | C | L | O | C | H | E | R | S |
Ça marche !
Oh le canaillou qui a volontairement trafiqué la table de fréquences.
L’auteur et l’œuvre sont DQAPGBJWCGZGPBOHMSOHOBMBQI, à vous de décoder, vous avez ce qu’il faut. Si vraiment vous ne trouvez pas, compilez donc ce bout de code en C (et l’exécutable pour Linux) en utilisant gcc melange.c -o melange
. Il s’utilise en ligne de commande comme suit : echo "ALGAJOBI"|./melange 15 14
pour décoder avec le choix de a=7 et b=6, de la même manière pour encoder : echo "CLOCHERS"|./melange 6 7
et pour obtenir ça : echo "CLOCHERS"|./melange 0 1
.
Cette page expose une autre technique de codage.