Challenge 2017 - Cryptanalyse de CBC2.

Qui saura retrouver l'extrait d'un texte classique de littérature Française à partir du chiffré fourni sachant que l'on a utilisé l'agorithme CBC2 (Christophe BORELLY's Cipher 2) ?

Fichier à cryptanalyser : txt.cbc2
(SHA1 : c7adb5e992ec250bf0ed5fb6eb4df44f5e155231)

La fonction de chiffrement de CBC2 est la suivante :

void cipher(char *tab,int len) {
  int i,j;
  for (j=0;j<2;j++) {
    for (i=0;i<len;i++) {
      int k=nextRand()%len;
      swapChar(tab,i,k);
    }
  }
}

Il s'agit en fait d'une permutation aléatoire de caractères. Le générateur pseudo-aléatoire de la fonction nextRand() est obtenu avec un LFSR de GALOIS de 16 bits.

Par exemple, le fichier de 3 lignes et 65 caractères (26+1+26+1+10+1) suivant :

abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ
0123456789

Peut se retrouver par défaut chiffré ainsi :

QcbANRjFypEn3JvxClh9turHL
UfYzVd4G0goM7WsIiB
mOeP6S81wXZa5kq2DT
K