Re,
essayons de voir les choses sur un autre angle pour comprendre ce qu'il se passe.
Considérons les fichiers comme du simple texte, disons un roman, ou une nouvelle, peu importe. Ce texte a un sens, et s'il a un sens, c'est qu'il est écrit dans une langue (ici le nom de l'algorithme). Sauf que la langue est compliquée, puisque la même langue peut avoir des formes différentes. Les formes différentes se traduisent par une règle d'écriture différente définie par un mot (ici le mot de passe).
Maintenant, voyez le processus de chiffrement/déchiffrement comme une simple traduction vers un autre langue. Il évident que pour traduire le fichier de langue A à la langue B, il faut connaître la langue A et les règles qui la régissent pour pouvoir la comprendre. Et il en va de même pour l'étape inverse.
Prenons l'exemple suivant :
Code : Tout sélectionner
Texte initial : Je suis du texte.
traduireVersLangue : Répète syllabe.
grammaireLangue : Feu
---- processus de traduction ---
Ajouter "Feu" à chaque mot." -> FeuJe Feusuis Feuun Feutexte.
Obtention du texte traduit : FeuJe Feusuis Feuun Feutexte.
Maintenant, si vous voulez retraduire la langue vers le français, vous êtes OBLIGÉ de vous souvenir à la fois de la langue mais aussi de sa grammaire.
Car si la ça peut paraître trivial, remplacez les caractères par de l'hexa et vous verrez que c'est assez compliqué de retrouver le texte sans en connaître les paramètres de chiffrement.
Je ne vais donc pas parler de méthodes avancées, mais retenez que pour déchiffrer un texte, il faut connaître l'algo et le mot de passe utilisé.
EDIT : Hop-là, je me permets un p'tit coup de pub pour recommander un livre super comme introduction à la cryptographie, présentant la cryptographie, ses enjeux etc... avec des p'tits exercices de cryptanalyse bref. Je l'ai emprunté à la BU et j'ai ADORÉ. Donc si jamais ça vous tente, je le recommande :
Cryptologie & Codage : Comprendre les codes secrets - Pierre Vigoureux.
Étudiant en 2ème année de Licence Informatique.