C'est bien ce qu'il fallait trouver, et le code de transposition énoncé par Vaxos me semble assez bon, globalement, je n'ai pas vérifié toutes les lettres.
Pour obtenir le code de la lettre, voilà comment j'ai procédé :
Notons de 1 à 26 la position respective dans l'alphabet des lettres A à Z. Le B correspond à 2, le C à 3, et ainsi de suite jusqu'à 25 et 26 qui correspondent à Y et Z.
L'on va ensuite utiliser les congruences modulo 26 pour obtenir un nouvel alphabet de cryptage. C'est une notion mathématique au nom assez barbare, mais pour faire simple on dira que
"a est congru à b modulo 26" si :
b est le reste de la division euclidienne de
a par 26, c'est à dire qu'il existe
c tel que
a = 26
c +
b (on se fiche de c, l'essentiel est de savoir qu'il existe). Bien sûr, on ne manipule que des entiers.
Exemples :1 est congru à 1 modulo 26... De manière générale, tout nombre strictement inférieur à 26 est congru à lui-même modulo 26 (ce qui est assez logique).
26 est congru à 0 modulo 26 (26 = 1x26 + 0)
33 est congru à 7 modulo 26 (33 = 1x26 + 7)
79 est congru à 1 modulo 26 (79 = 3x26 + 1)
Etc...
Utilisation des congruences modulo 26 pour coderOn utilise les congruences modulo 26 car l'alphabet que nous utilisons compte 26 lettres.
Ensuite, voici la marche à suivre. Il faut prendre un nombre qui servira de multiplicateur, multiplier le chiffre associé à une lettre, prendre le reste du nombre ainsi obtenu dans la division euclidienne par 26 et l'on obtient donc un autre nombre compris entre 1 et 26. Enfin, on peut donc coder la lettre par la lettre correspondant à ce dernier nombre obtenu.
Si je prends par exemple 7 comme multiplicateur.
A est associé à 1. 1x7 = 7, 7 est congru à 7 modulo 26. A est donc codé par la 7e lettre de l'alphabet, c'est à dire G. Un G représentera désormais un A !
De la même façon, B est associé à 2, 2x7 = 14 et 14 est congru à 14 modulo 26. La 14e lettre codera dorénavant la lettre B, c'est à dire que B sera remplacé dans le crypté par N.
Mettons maintenant que l'on s'intéresse à la lettre D, associée à 4. 4x7 = 28, 28 est congru à 2 modulo 26. La 2e lettre est un B, c'est à dire que D sera remplacé par B dans le crypté.
Et ainsi de suite, jusqu'à ce que chaque lettre soit codée par une autre. Vous remarquerez que Z restera inchangé par cette transcription par les congruences. C'est bien normal, car prenez n'importe quel entier
a, la position de Z étant 26, 26
a sera toujours congru à 0 (ou 26) modulo 26.
Attention, il faut sélectionner le multiplicateur avec soin ! C'est à dire qu'il ne faut pas que 26 soit un multiple du nombre que vous choisissez pour multiplier vos positions de lettres.
Exemples : Admettons que je veuille multiplier chaque nombre, simplement, par 2. En reprenant le principe que j'ai exposé précédemment, A qui est "1" est codé par B, B est codé par D, C est codé par F... et ainsi de suite. Les choses se gâtent lorsqu'on arrive à la lettre N.
N est la lettre en 14e position dans l'alphabet, 14x2 = 28, et 28 est congru à 2 modulo 26, c'est à dire que la lettre codant N sera la 2e lettre de l'alphabet, à savoir le... B, déjà choisi pour le A, nous voici face à un sérieux ennui !
En définitiveCette transcription par les congruences modulo 26 donne rapidement un code de substitution un peu à l'image de celui de César, mais dont la répétition peut sembler plus difficile à trouver (surtout dans l'exemple avec 7 que j'ai donné). Cela dit, contrairement à ce que vous pourriez penser, cela n'exige pas d'être un génie en maths pour comprendre comment crypter avec ce genre de méthode.
Pour l'énigme que je vous ai proposé, je vous laisse deviner quel était le multiplicateur que j'avais choisi
Je vous proposerais plusieurs nouvelles énigmes, soit dans la soirée, soit demain, avec des codes de difficulté variable.