VARI EAD Devoir Numéro 1 - Deptinfo

publicité
VARI NFP135 Projet
Le code de César
Le code de César est la méthode de cryptographie la plus ancienne communément admise
par l'histoire. Il consiste en une substitution mono-alphabétique, où la substitution est définie
par un décalage de lettres. Par exemple, si on remplace A par D, on remplace B par E, C par
F, D par G, etc... Donnons un exemple à partir de ce décalage de 3 lettres :
Texte clair A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
Texte
D E F G H I J K L M N O P Q R S T U V W X Y Z A B C
codé
Source : http://www.bibmath.net/crypto/substi/cesar.php3
Un exemple de texte à coder est le suivant :
L'algorithme opère sur une forêt.
ensemble d'arbres étiquetés complets
Une
forêt
est
ici
un
Le texte codé est alors :
O*dojrulwkph#rsëuh#vxu#xqh#iruíw1#Xqh#iruíw#hvw#lfl#xq#hqvhpeo
h#g*dueuhv#ìwltxhwìv#frpsohwv
Travail demandé :
Etape 1
Ecrire un programme Java, qui, étant donnée une chaîne de caractères uniquement composé
de lettres minuscules :
• saisit un entier (<256) qui représentera le décalage de lettres que l'on veut utiliser
• crée la nouvelle chaîne de caractères obtenue après cryptage par la méthode de
César.
• affiche le texte codé
• décode le fichier texte crypté afin de retrouver l'original
• affiche le texte décodé
Etape 2
Ecrire un programme Java qui, à partir d'un fichier contenant le texte source à crypter :
• lit le fichier en mémoire
• saisit un entier qui représentera le décalage de lettres que l'on veut utiliser
• crée un nouveau fichier texte contenant le nouveau texte obtenu après cryptage par
la méthode de César.
• affiche le texte codé
Etape 3
Il s'agit de réorganiser votre programme en le découpant en classes. Chaque tâche principale
devient ainsi une classe.
1/3
Etape 4
Munir l'application d'une interface graphique simple (cf la classe JoptionPane) permettant
les saisies du nom du fichier à coder, de la valeur de décalage et des fonctionnalités à
réaliser (cryptage, décryptage) ainsi que les résultats à afficher.
Note :
On attachera une attention particulière à la décomposition par raffinements successifs de la
solution ainsi qu'à la documentation (javadoc).
Rappels :
• déclarer la variable int i de valeur initiale '1' (int i = '1';)correspond à lui
affecter la valeur de son code ASCII ( ici 49 ) .
• déclarer la variable char a de valeur initiale 49 (char a = 49;)correspond à lui
affecter la valeur du caractère de code ASCII 49 (ici '1').
Ce que vous devez rendre
Votre projet doit être développé sous bluej.
Il vous faut ensuite créer un fichier d'archive (.jar) de votre projet. Ce fichier contiendra le
code source ainsi que les informations suivantes décrivant tout projet bluej:
PROJECT TITLE: son titre
PURPOSE OF PROJECT: en quelques mots clés
VERSION or DATE: précisez les étapes réalisées
HOW TO START THIS PROJECT: dans quelle classe se trouve la méthode main
AUTHORS: vos nom et prénom
USER INSTRUCTIONS: autre remarque utile
Comment créer un fichier d'archive du projet
Cliquez sur cette feuille pour
ajouter les informations
demandées ci-dessus
2/3
Ensuite, dans le menu Project, choisir l'option Create jar file.
Cliquez sur continue. Un fichier suffixé par .jar est créé. C'est ce fichier qu'il vous faudra
remettre selon les modalités ci-dessous.
Comment rendre votre projet
Pour remettre votre travail, vous utiliserez l'application SystemeTest que vous lancerez à
partir de ce lien : http://java.cnam.fr/SystemeTest/.
Pour vous loger sur cette application, il faut utiliser les mêmes identifiants qu'en TP., puis
s'inscrire à l'UE NFP135.
Pour plus d'informations sur cette application, reportez vous au tutoriel :
http://deptinfo.cnam.fr/~graffion/SystemeTest/captureInscriptionAudit
eurBG.htm
La date ultime de remise est le 29 avril 2011 avant minuit. Attention, au delà de cette date, il
vous sera impossible de rendre votre travail. Aucune dérogation ne sera faite. Pour plus de
sécurité, ne pas attendre la dernière limite.
3/3
Téléchargement