Me revoilà donc, après quelques mois d'absence. Plusieurs choses aujourd'hui :

Solution du code secret du FBI : 

Je vous avais promis la solution pour janvier 2009, et c'est donc avec un peu de retard que je vous explique la solution :

Tout d'abord il nous faut des caractères dont nous pouvons être certains de leur correspondance, en supposant que "chaque caractère est remplacé par un unique d'autre" (bijection). On repère aisément la syntaxe inhabituelle à la 5e ligne, le slash ( / ), les points et l'absence d'espace me fait penser à une URL. "YYY" signifie donc sûrement "WWW" !

On est donc maintenant à peu près sûr que c'est une byjection, et on peut construire une table de conversion :
CodéVrai
A?
B?
...
YW
...
Z?
(Note : Ce code est déclaré "simple", donc je suppose que c'est une transformation au niveau du numéro de la lettre dans l'alphabet, de plus la ponctuation est inchangée)
Maintenant il faut comprendre le système de traduction.
J'ai d'abord pensé que c'était un simple décalage alphabétique, par exemple un décalage "+5" transforme A et F (n°1 dans l'alphabet => n°1+5), etc...
Si Y(25) => W(23), alors c'est un décalage de -2. Cependant on obtient pour le premier mot : "TDURBJAQUT". A moins que le FBI se soit mis à parler un étrange dialecte afghano-lapon, je pense que notre méthode est mauvaise. (perspicace, hein ?)
Après quelques autres tests (notamment des décalages du type +(Nx5) où +(10+2*N) où N est le numéro de la lettre codée, je me suis dit "bon, apparemment, y'à pas de logique, on va bourrinner un peu". Juste un peu.

Pour ça on prend la table de conversion et on essaie de trouver la correspondance de chaque caractère.
Tout d'abord, on a un nom de site en "WWW.???.???". Mmhh... En trois lettres, avec une extension en trois lettres aussi, je dirais... mmmh... "FBI.GOV" !!
Eh oui, c'est plutôt évident.
On obtient donc des correspondances supplémentaires. Pour ne pas galérer, je me suis fait un petit script PHP :
[php]
<?php
header("Content-Type: text/plain");
$chaine_codee = "VFWTDLCSWV. YD NSLMIJFWEJFD GSW SL NIJNQBLM FOBV EJFDVF DLNIGTFBSL. KBVBF YYY.AHB.MSK/NSCDC.OFZ FS EDF WV QLSY SA GSWI VWNNDVV.";
$chaine_decodee = strtr ( $chaine_codee , "ABCDEFGHIJKLMNOPQRSTUVWXYZ" ,
"FIDELTYBRAVNGCH_K_OP_SU_WM" );
echo $chaine_decodee;
?>

On a donc la traduction instantanée du texte codé grâce à la table de conversion. A partir de là, on entre la table déjà trouvée et on obtient _______O__. W_ _O_G________ _O_ O_ _____I_G __I_ ______ _______IO_. VI_I_ WWW.FBI.GOV/_O___.___ _O ___ __ __OW OF _O__ _______.
Pas très glorieux. Mais c'est un bon début : à partir de là on essaye à tatons, et assez facilement grâce à la table de conversion.
Par exemple à la fin on a "__OW OF _O__ _______" qui correspond peut-être à "__OW OF YOUR _______".
Houba houba hop hop :
__U____OU_. W_ _O_GR__U____ YOU O_ _R___I_G __I_ ______ ___RY__IO_. VI_I_ WWW.FBI.GOV/_O___.___ _O ___ U_ __OW OF YOUR _U_____.
On observe un autre "YOU" qui est apparu, donc on avait sûrement raison.
Si il y a une URL et juste devant VI_I_, alors c'est peut-être "VISIT" ? Vérification :
STU____OUS. W_ _O_GR_TU__T_ YOU O_ _R___I_G T_IS __T_ST ___RY_TIO_. VISIT WWW.FBI.GOV/_O___._T_ TO __T US __OW OF YOUR SU___SS.
Yeah !
Je vois un "CONGRATULATE" et la fin de l'URL en "HTM" :
STU_EN_OUS. WE CONGRATULATE YOU ON CRAC_ING THIS LATEST ENCRY_TION. VISIT WWW.FBI.GOV/CO_E_.HTM TO LET US _NOW OF YOUR SUCCESS.
"CRACKING", "ENCRYPTION", "KNOW"
STUPEN_OUS. WE CONGRATULATE YOU ON CRACKING THIS LATEST ENCRYPTION. VISIT WWW.FBI.GOV/CO_E_.HTM TO LET US KNOW OF YOUR SUCCESS.
"STUPENDOUS" (sûrement) et ... CO_E_ a deux fois la même lettre qui nous est donnée par STUPENDOUS (ou réciproquement =D) : CODED !

Et le FBI nous dit donc :
STUPENDOUS. WE CONGRATULATE YOU ON CRACKING THIS LATEST ENCRYPTION. VISIT WWW.FBI.GOV/CODED.HTM TO LET US KNOW OF YOUR SUCCESS.

C'était pas si difficile, non ?
Par contre le "THIS LATEST ENCRYPTION" me fait franchement marrer.
Vous pouvez aussi aller visiter la page sus-citée (rappelez vous que le jeu a été proposé en octobre si j'ai bonne mémoire)...
Voilà, fini !

Indisponibilité du site

Le site a été indisponible cette dernière semaine, indisponibilité due à un crash du serveur de BDD (le fichier de BDD InnoDB a été corrompu). L'ennui c'est que Dotclear (le blog) utilise InnoDB, donc mes bases de données ont due être restaurées par un backup. Encore un gros merci à Olympe Network, formidable hébergeur gratuit et sans publicité =D pour le service qu'il fournissent.

TPE : Le Piratage Informatique

Je passe bientôt les TPE (classe de Première), et nous avons choisi le piratage informatique comme thème. Je posterais ici l'intégralité des travaux une fois que tout sera fini =D