Je suis en première avec la spécialité NSI (Numérique et Sciences de l'Informatique) et je dois rendre un projet pour bientôt. Le problème est que j'ai beau me creuser la tête mais je reste perdu et c'est frustrant.
Voilà le sujet (projet 1 et 3. Le 1 est nécessaire pour faire le 3):
Projet 1: chiffre de César
Écrire une fonction cesar():
- recevant comme arguments une chaîne de caractère clair et un nombre clé compris entre 0 et 25;
-renvoyant chiffre la chaîne de caractère chiffré à l'aide de César.
Écrire le programme permettant d'utiliser et de tester cette fonction. Choisir (et expliquer les choix) comment traiter les espaces, les signes de ponctuation et les chiffres. Même question pour la casse (majuscule/minuscule)
Projet 3: attaque chiffre de César par cryptanalyse statistique
Écrire une fonction cesar_cs():
-recevant comme arguments une chaîne de caractère chiffre dont on sait qu'il s'agit d'un texte en français chiffré par l'algorithme de César (clé inconnue);
-renvoyant un tableau contenant les fréquences d'utilisation de chacune des lettres de l'alphabet dans chiffre.
Écrire le programme permettant d'utiliser et de tester cette fonction. Choisir (et expliquer les choix) comment traiter les espaces, les signes de ponctuation et les chiffres. Même question pour la casse (majuscule/minuscule). Retrouver une table de fréquences pour le français et tester des exemples.
Voici ce que j'ai déjà fait (projet 1 mais pas tout le projet 3...):
On te demande d'abord de faire un tableau et insérer dedans le nombre de chaque caractères du texte chiffré.
Ce tableau sera un simple dictionnaire.
Sachant que dans un texte standard en français, les caractères les plus fréquents sont e, s, a, n, t, i, o, u, et plus le texte est long, plus ce sera facile de trouver la clef de chiffrage et de décoder le texte.
Tu peux donc en fonction de ton tableau retrouver en quelques essais la clef.
Il faut que tu travailles sur un vrai texte écrit en français, pas sur un générateur de texte lorem ipsum... Sinon il faudra aussi faire des statistiques sur les caractères les plus présents sur un grand texte générés par ton générateur et faire les comparaisons des deux tableaux.