Vous êtes sur la page 1sur 2

Lycée Dar Chaabène El Fehri Enseignant: M.

M’RABET Ilyess
*** Discipline : Algorithme & programmation
Devoir de contrôle n°2 Classe : 4ème année sciences de l’informatique 2
Epreuve pratique Date : 25/11/2014 Durée : 1heure

NB. Tous les fichiers de ce devoir seront enregistrés dans le lecteur c:

Une société veut sécuriser l’échange des messages confidentiels entre ses agences, pour cela
elle a décidée de créer une application qui permet de chiffrer les messages à envoyer en
utilisant le masque jetable (ou chiffre de Vernam)

L’application doit assurer toutes les fonctionnalités suivantes :


1) Remplir un fichier texte nommé «msgclair.txt» par le message à envoyer.
Le message doit être composé par des lettres alphabétiques majuscules et organisé dans
le fichier « msgclair.txt » de la façon suivante :

- Première ligne : Code (entier de 4 chiffres) du personnel qui va envoyer le message


suivi d’un trait d’union, suivi du nombre de lignes de message.

- Les autres lignes : Un ensemble de mots suivi chacun par un seul espace, sauf le
dernier mot de chaque ligne doit être suivi par un point.

2) Chiffrer le contenu du fichier «msgclair.txt» mot par mot en commençant à partir de la


deuxième ligne jusqu’à la fin du fichier et sauvegarder le résultat de chiffrement dans un
autre fichier texte nommé «msgchif.txt » 

Principe de chiffrement  :
Pour chiffrer un mot  le programme doit :
 Génerer une clé, qui doit avoir les caractéristiques suivantes :
 La clé doit avoir un nombre de caractères égal à celui du mot à chiffrer,
 Les caractères de la clé doivent êtres distincts et choisis de manière aléatoire,
 Chaque clé ne doit être utilisée qu'une seule fois.
 Chaque Clé doit être enregistrée dans une ligne d’un autre fichier nommé
« Cle.txt » et qui a le même numéro que celle du mot à chiffrer
 On attribue une valeur différente à chaque lettre de l'alphabet ('A' vaut 0, 'B' vaut 1, 'C'
vaut 2, …, 'Z' vaut 25)
 On additionne la valeur de chaque lettre du message avec la valeur de la lettre de la
clé correspondante, puis on fait modulo 26. 

Travail demandé :
Ecrire un programme pascal nommé « DC2.pas », enregistré dans un dossier portant votre nom
et prénom et qui permet de réaliser toutes les fonctionnalités demandées auparavant.
Exemple :
1) Soit le fichier «msgclair.txt» suivant :
1234-3
 
DEVOIR DC.
ALGO ET PROG.
BON COURAGE.

2) Pour chiffrer le mot « DEVOIR » :


Nous tirons au hasard une chaîne de même longueur que le mot « DEVOIR » (Cinq lettres en
majuscules et distincts).
Donc la clé sera : «JRVGXZ»

Alors le chiffrement du mot « DEVOIR » se fera comme suit :

D + J = 3 + 9 = 12 mod 26 = 12, donc la lettre qui correspond à la valeur 12 est "M"


E + R = 4 + 17 = 21 mod 26 =21, donc la lettre qui correspond à la valeur 21 est "V"
V + V =21+21 =42 mod 26 =16, donc la lettre qui correspond à la valeur 16 est "Q"
O + G = 14 + 6 =20 mod 26 =20, donc la lettre qui correspond à la valeur 20 est "U"
I + X = 8 + 23 = 31 mod 26 =5, donc la lettre qui correspond à la valeur 5 est F
R + Z =17 + 25 = 42 mod 26 =16, donc la lettre qui correspond à la valeur 16 est "Q"
Ce qui nous donne au final, le mot chiffré suivant : « MVQUFQ ».

Pour chiffrer le mot « DC» :


Nous tirons au hasard une chaîne de même longueur que le mot « DC » (Deux lettres en
majuscule).
Donc la clé sera : «ZB»

Alors le chiffrement du mot « DC » se fera comme suit :

D + Z = 3 + 25 = 28 mod 26 =2, donc la lettre qui correspond à la valeur 2 est "C"


C + B = 2 + 1 = 3 mod 26 =3, donc la lettre qui correspond à la valeur 3 est "D"
Ce qui nous donne au final, le mot chiffré suivant : «CD».

NB. Pour le reste des mots du message, il faut appliquer le même principe de chiffrement
Le contenu du fichier «msgchif.txt » : Le contenu du fichier « Cle.txt » :

1234-3 JRVGXZ ZB
MVQUFQ CD. .
. .
. .
.

Grille d’évaluation :
Questions Barème
 Décomposition en modules 2
 Appels des modules 2
 Si exécution et tests réussis avec respect des contraintes 16
Sinon
 Structure de données adéquates au problème posé 2
 Remplissage du fichier «msgclair.txt» 6
 Remplissage du fichier «statistiques.txt» 8

Vous aimerez peut-être aussi