0%

Problème 59

Énoncé:

À chaque caractère sur un ordinateur est assigné un unique code, et le format préféré est l'ASCII (American Standard Code for Information Interchange). Par exemple, le A majuscule = $65$, l'asterisque ($*$) = $42$, et le k minuscule = $107$.

Une méthode de chiffrement moderne est de prendre un fichier texte, convertire les bits en ASCII, puis XOR chaque bit avec une valeur donnée, venant d'une clé secrète. L'avantage de la fonction XOR est qu'en utilisant la même clé de chiffrement sur le texte chiffré, on obtient le texte d'origine; par exemple, $65$ XOR $42 = 107$, et $107$ XOR $42 = 65$.

Pour un chiffrement incassable, la clé est de la même taille que le message non chiffré, et la clé est faite de bits aléatoires. L'utilisateur garderait le message chiffré et la clé de chiffrement à deux endroits différents, et sans chaque "moitié", il serait impossible de déchiffrer le message.

Malheuresement, cette méthode est incommode pour la plupart des utilisateurs, la méthode modifiée est alors d'utiliser un mot de passe comme clé. Si le mot de passe est plus court que le message, ce qui est propable, la clé est répété le long du message. L'équilibre pour cette méthode est d'utiliser un mot de passe suffisament long pour la sécurité, mais assez court pour s'en rappeler.

Ta tâche a été simplifiée, puisque la clé consiste en 3 caractères en miniscules. En utilisant p059_cipher.txt (clic droit et "Enregistrer le lien sous"), un fichier contenant les codes ASCII chiffrés, et le fait que le texte non chiffré doit contenir des mots anglais communs, déchiffre le message et trouve la somme des valeurs ASCII dans le texte original.

Lien du problème originel