Cryptanalyse de la transposition

Comment décrypter ça ?

La transposition est la méthode permettant de réarranger les lettres d’un message. Ici, nous allons voir comment décrypter un message brouillé par transposition.

Dans les faits, nous avons une anagramme du message. A nous de tester différentes clés pour retrouver un message clair.

Ceci est donc un exercice pour que vous puissiez vous exercer sur le thème de la transposition, mais la réponse est bien évidemment présente en fin d’article.

Le message transposé

VEESÊDUIRN UU.S NNNR ERLSE S AET E U EQS A LUCL BPPTQS ' E 
LXORASSEE'U RSEMEIAUCA ICAXNDTROSS TERLEEPRR ÛRM TAOQ EE ETIN
 OP EEA.UTQISOI'LJRAA.UTDALN(E I P)QS ATPEERÊLSII' LTEPXTE-YU
 ,VES . AI BROOP IIUVS.ÀSL MTVUUCL R E U OBSEE'IRR E 
OIEISSOSLI.UTQIÉL, ,MQ RSERE IIO ESB OS,DE PSRVI,SIAORR'OS 
ELPPEOTI'LJRP EEMUEQS AT AP EN SLA U EL E U EA V EUSEQSO P-T 
ISX EMU INOE OE E,SREAEUEMEUELO UESEE'OUCL IS.UTQIÉLVUCLTT LUD 
PSLP EEÉ IOAO EE.UTSPR R;NAUÊLASVLTCNUMPUNM SD ILSMALL URQSSQS
 ASI'LJS E U EEEI'L UCEFETO OUCL CSNUNUQF E EEICE EIPTLI IE-O 
TOOS AÀUAICTL BILEESTU ,UTQIÉSEE'EGP EEA NSEEJÉHS URUPNI'LJOED
 T UOTP M.TNH A NÉ

Information remarquable : Le message contient 632 caractères.

Les étapes du décryptage

  1. Définition de la clé
  2. Découpe du texte en fonction de la clé : on divise le texte par la clé en section
  3. Construction du tableau de lecture : Une ligne par section
  4. Reconstruction des 2 à 3 premiers mots : Lecture par colonne consécutive
  5. Analyse du texte pour arrêt ou poursuite du décryptage

Clé de transposition 2

La découpe du texte avec la clé de transposition permet d’avoir 2 sous-textes de 316 caractères chacun.

Début de la section 1
VEESÊDUIRN UU.S  NNNR ERLSE S AET E U EQS A LUCL BPPTQS
Début de la section 2
EQS AT AP EN SLA U EL E U EA V EUSEQSO P-T ISX EMU  INOE
VEESÊDUIRNUU.S
EQSATAPENSL
Tableau de reconstruction pour la clé de 2
Les 3 premiers mots construits pas lecture de colonnes successives :
VEEQESS ÊADTU IARPN

L’analyse linguistique montre clairement que la clé de 2 n’est pas correcte. Inutile d’aller plus loin.

Clé de transposition 3

La découpe du texte avec la clé de transposition permet d’avoir 3 sous-textes de 211, 211 et 210 caractères.

Début de la section 1
VEESÊDUIRN UU.S  NNNR ERLSE S AET E
Début de la section 2
MTVUUCL R E U OBSEE'IRR E OIEISSOSL
Début de la section 3
D PSLP EEÉ IOAO EE.UTSPR R;NAUÊLASV
VEESÊDUIRNUU.S
MTVUUCLREUO
DPSLPEEÉIOAO
Tableau de reconstruction pour la clé de 3
Les 3 premiers mots construits pas lecture de colonnes successives :
VMDET EVPSUSÊULDCPUL I

Comme pour la clé précédente, l’analyse linguistique montre clairement que la clé de 3 n’est pas correcte.

Clé de transposition 7

La découpe du texte avec la clé de transposition permet d’avoir 7 sous-textes ; 2 sections de 91 caractères et 90 caractères pour le reste des sections.

VEESÊDUIRNUU.S
OSSTERLEEPRRÛ
U,VES.AIBR
SBOS,DEPSRVI,
EMUINOEOE
ÊLASVLTCNUMPUNM
TLIIEOTOOSA
Tableau de reconstruction pour la clé de 7
Les premiers mots reconstruits sont :
VOUS ÊTES BELLES, MAIS VOUS ÊTES VIDES, LEUR DIT-IL ENCORE. ON 
NE PEUT PAS MOURIR POUR VOUS. BIEN SÛR, MA

Nous avons donc trouvé la clé de transposition. Voyons à présent si le reste du texte est cohérent de bout en bout. Décrypté, le message clair donne :

Vous êtes belles, mais vous êtes vides, leur dit-il encore. On ne peut pas mourir pour vous. Bien sûr, ma rose à moi, un passant ordinaire croirait qu’elle vous ressemble. Mais à elle seule elle est plus importante que vous toutes, puisque c’est elle que j’ai arrosée. Puisque c’est elle que j’ai mise sous globe. Puisque c’est elle que j’ai abritée par le paravent. Puisque c’est elle dont j’ai tué les chenilles (sauf les deux ou trois pour les papillons). Puisque c’est elle que j’ai écoutée se plaindre, ou se vanter, ou même quelquefois se taire. Puisque c’est ma rose.

Le petit prince – Chapitre XXI ; Antoine de Saint-Exupéry

Conclusion

Dans l’exemple ci-dessus, le texte n’est pas trop long et la clé n’est pas très grande. Le faire à la main est encore possible. Personnellement, j’ai utilisé un script de recomposition qui m’a permis de reconstruire le texte pour l’analyser linguistiquement, clé après clé.

Merci à notre époque moderne pour nous permettre de coder un algorithme de cryptanalyse.

Annexe – L’algorithme

//Algorithme en C#
public void DeTransposition(String texte, int cle)
{
   Console.WriteLine("Clé de transposition = " + cle);
   Console.WriteLine("Taille du message = " + texte.Length);
   //Calcul des tailles de section
   int tailleSection = texte.Length / cle;
   //calcul des tailles de section
   int[] tSection = new int[cle];
   int total = 0;
    for (int i = 0; i < tSection.Length; i++)
   {
      tSection[i] = tailleSection;
      total += tailleSection;
   }

   //Calcul de l'écart final
   int diff = texte.Length - total;

   //Agrandissement des premières sections
    for (int i = 0; i < diff; i++) tSection[i] += 1;

   //Découpe des sections
   String[] msgDec = new string[cle];
   String dTexte = texte;
   for(int i = 0 ; i < msgDec.Length ; i++)
   {
      msgDec[i] = dTexte.Substring(0, tSection[i]);
      dTexte = dTexte.Substring(tSection[i]);
   }

   Console.WriteLine("Tableau de reconstruction");
   foreach (String l in msgDec) Console.WriteLine(l);

   int index = 0;
   String tClair = "";
   while (index < msgDec[0].Length)
   {
      foreach (String section in msgDec)
         if(index < section.Length) tClair += section[index];
      index++;
   }
   Console.WriteLine();
   Console.WriteLine(tClair);
}

Tu pourrais aussi être intéressé par ces articles :

Laisse moi un commentaire !

Laisser un commentaire