avantaprs

A propos de l'auteur

  • Philémot

    Philippe Chieux, alias "Philémot", est passionné depuis l’enfance par les jeux de lettres et de logique. Depuis 5 ans, il s’est lancé dans l’expérience "Magnerama" qui vise à faire produire automatiquement par un ordinateur des jeux et des grilles à imprimer suffisamment jouables pour intéresser les internautes.
Accueil du site || Casse-tête || Cryptogrammes || Le codage par transposition
Juste à présent, nous avons surtout vu le codage par substitution, dans lequel une lettre était remplacée par une autre lettre ou un nombre.

Dans le codage par transposition, rien de tout cela. On se contente de changer l’ordre des lettres.

Dans l’absolu, sur un texte un peu long, le nombre de solution est suffisamment gigantesque pour que la solution ne soit pas évidente (pour les connaisseurs, il s’agit d’une permutationt). Pour un message de 10 caractères, il y a 3.628.800 permutations possibles. Pour 20 caractères, on arrive à 2.432.902.008.176.640.000 possibilités.

En pratique, comme il faut que le destinataire puisse décoder le message, l’arrangement n’est pas très aléatoire. Celui-ci suit une règle inversable (que l’on peut utiliser à l’envers pour décoder le message) qui est mémorisable, donc obligatoirement suffisamment simple pour permettre un décodage.

La règle utilisée pour le défi de Noël est l’un des plus simples (de son petit nom transposition à simple colonne) :

Codons par exemple la phrase :

Jeux en tête est le magazine le plus passionnant du web.

Nous allons répartir ce texte dans un tableau rectangulaire en écrivant de de haut en bas. La clé est le nombre de colonnes utilisé pour le tableau.

Prenons par exemple 4 colonnes. Il y a 56 caractères dans le texte à coder, ce qui fait 4 colonnes de 14 caractères. Si le nombre ne tombe pas juste, il suffit d’ajouter des caractères de remplissage à la fin du message.

La première étape donne :

1234
Js o
etln
u en
xl a
epn
e lt
nmu
asd
tg u
êap
tzaw
eise
nsb
eei.

Il suffit alors de lire le tableau de gauche à droite : Js oetlnu enxl a epne ltnmu asdtg uêap tzaweise nsbeei.

Pour décoder, il suffit de réécrire le message en passant à la ligne tous les 4 caractères pour reconstituer le tableau.

Pour résoudre ce genre de code, la meilleure attaque est celle du mot probable. Si on peut deviner la présence d’un ou plusieurs mots, on recherche les combinaisons permettant de retrouver ce mot en notant les écarts. Dans le défi de Noël, les deux mots probables étaient Noël (avec le « ë » très typique) et Ravachol.

Pour en savoir plus sur les codes par transposition, je vous conseille les liens suivants :

En Français : L’article dans Ars Cryptographica En anglais : l’article dans Toby’s Cryptopage

Répondre à cet article

Enregistrer au format PDF impression envoyer l'article par mail title= envoyer par mail 0 réaction
(0.77 - 1 vote)


Warning: join() expects at most 2 parameters, 4 given in /home/magneram/www/JeuxEnTete/plugins/spipBB/genie/statvisites.php on line 37

Warning: join() expects at most 2 parameters, 4 given in /home/magneram/www/JeuxEnTete/plugins/spipBB/genie/statvisites.php on line 49

Fatal error: Uncaught Error: Call to undefined function spip_unlink() in /home/magneram/www/JeuxEnTete/plugins/spipBB/genie/statvisites.php:73 Stack trace: #0 /home/magneram/www/JeuxEnTete/plugins/spipBB/genie/statvisites.php(126): calculer_visites_forums(1537950938) #1 /home/magneram/www/JeuxEnTete/plugins/spipBB/inc/statvisites.php(29): genie_statvisites(1537950938) #2 /home/magneram/www/JeuxEnTete/ecrire/inc/cron.php(114): cron_statvisites(1537950938) #3 /home/magneram/www/JeuxEnTete/ecrire/inc/utils.php(552): spip_cron() #4 /home/magneram/www/JeuxEnTete/ecrire/public.php(232): cron() #5 /home/magneram/www/JeuxEnTete/spip.php(27): include('/home/magneram/...') #6 /home/magneram/www/JeuxEnTete/index.php(5): include('/home/magneram/...') #7 {main} thrown in /home/magneram/www/JeuxEnTete/plugins/spipBB/genie/statvisites.php on line 73