Vous êtes sur la page 1sur 1

Projet 2 : Implémentation de deux approches simples de cryptographie de texte

Travail à faire par groupe de 4 étudiants ; les membres du groupe devront s’entendre pour répartir les tâches.

Méthode 1 : ROT13
Cette méthode de cryptage fonctionne de la façon suivante. Au code ASCII de chaque lettre
lue (on ne limitera que les lettres de l’alphabet), on rajoute la valeur 13. Si l’on dépasse la
dernière lettre de l’alphabet, on effectue une rotation d’autant de lettres qu’on l’a dépassée,
vers le début de l’alphabet (attention à la différence minuscules/majuscules).
Par exemple, la chaîne “Un texte code en ROT13” sera codé “Ha grkgr pbqr ra EBG13”.
Pour décoder un texte codé en ROT13, il suffit d’appliquer le même algorithme, puisque
13+13=26, nombre de lettres de l’alphabet, d’où ROT13. Pour simplifier si le caractère est
inférieur à la treizième lettre de l’alphabet alors le codage va consister à lui ajouter 13, sinon le
codage va consister à enlever 13. Le décodage fera l’inverse du codage.

Méthode 2 : XOR

Pour cette méthode de cryptage, on utilise la propriété mathématique du XOR suivante. Soient
x et y deux entiers. Si le résultat de (x XOR y) est égal à un entier z, alors le résultat de (z XOR
y) est égal à x.
Le codage va être effectué à l’aide d’une clef (représentée par une chaine de caractères que l’on
passera en paramètre de la procédure de codage), avec laquelle on effectuera un XOR avec
chacune des lettres de la chaîne à coder. Par exemple, si la chaîne à coder est “Un texte codé
en XOR” et la clef est “CmAcLeF”, la chaîne résultant du codage sera formée des caractères
(U XOR C), (n XOR m), (’ ’ xor A), (t XOR c), (e XOR L), (x XOR e), (t XOR F), (e XOR C), (’ ’
XOR m), (c XOR A),...
Pour décoder un texte, il suffit donc grâce à la propriété du XOR d’appliquer le même
algorithme avec la même clef.
Les textes à crypter est stocké dans un fichier et après cryptage, le résultat doit également être
stocké dans un autre fichier.

TAF

Le projet sera divisé en plusieurs modules :


1. Module gestion : dans ce module, on implémentera toutes les fonctions utiles
pour la gestion des fichiers (lecture du texte à crypter, stockage des résultats, …)
2. Module cryptoROT13 : Après avoir lu le texte du fichier, les fonctions utiles pour
crypter le texte et aussi pour décrypter avec la méthode ROT13 doivent être
implémentées dans ce module.
3. Module cryptoXOR : Après avoir lu le texte du fichier, les fonctions utiles pour
crypter et décrypter le texte avec la méthode XOR doivent être implémentées
dans ce module.
4. Module stat : dans ce module sont implémentées les fonctions permettant de :
Compter le nombre de caractères effectivement cryptés, le nombre de mots
différents, la longueur du plus long mot, la longueur moyenne des mots, le
nombre de caractères alphanumériques, le nombre de phrases.
En plus de ces modules, un fichier contenant le programme principal et un petit menu
permettant à l’utilisant de choisir la fonction à exécuter doit être écrit.
La structuration du programme en modules est obligatoire, sinon le groupe est « HORS SUJET »

Vous aimerez peut-être aussi