IFT1170 - TRAVAIL PRATIQUE #3 - 06 juillet 2001

La cryptographie selon César ...

Mohamed Lokbani


DATE LIMITE: 27 juillet 2001 minuit. Les retards ne seront pas autorisés.


Conseils
  • À faire seul ou à 2. Il est quand même conseillé de faire le TP à deux (maximum).
  • Lisez l'énoncé de A à Z, puis en cas de problèmes, contactez-nous (démonstrations, séances de consultation, pauses durant les séances de cours).
  • N'attendez pas la semaine précédant la remise avant de commencer... vous n'aurez pas le temps!
  • 1. BUT: Ce TP a pour but de vous faire pratiquer les matières suivantes:
  • Héritage et paquetage
  • 2. Description:

    Crypter un texte consiste à rendre illisible le texte afin d'assurer son intégrité et sa confidentialité lors de sa transmission. La cryptographie (l'art de crypter) daterait de l'ancienne égypte où les hiéroglyphes étaient organisées de manière désordonnée, en utilisant pour cela des techniques de substitution.

    Par exemple, la phrase: programmer en java ; peut-être cryptée comme : qsphsbnnfs fo kbwb en substituant chaque lettre par celle qui suit p par q etc.)

    Une telle technique de cryptage est facile à craquer. Il suffit par exemple de remarquer la suite de caractères pour deviner l'algorithme qui a servi pour crypter le message original. Aujourd'hui des techniques plus robustes (pour ne pas employer le mot "sures") sont utiliser pour le cryptage. Même si elles reposent sur des approches comme la substitution de caractères, elles codent le message en binaire et manipulent cette succession de bits à l'aide de méthodes mathématiques (cryptologies). Ces manipulations sont rendues possibles grâce à la puissance de calcul qu'ont les ordinateurs aujourd'hui.

    3. Travail à réaliser:

    Votre tâche est d'écrire le code nécessaire pour réaliser 2 méthodes de cryptographie. La méthode utilisait par César pour communiquer avec son armée et la méthode de Blaise de Vigenère (diplomate français de la cour d'Henry III de France, 16e siècle). Avant d'écrire ce code, regardez les choses communes entre les deux méthodes. Par la suite, profiter des notions d'héritage déjà étudiées en cours, pour organiser votre code.

    4. Documents à remettre:

    Vous devez remettre 3 fichiers, comme suit:

    Fichier
    Méthode
    Cesar.java
    Cesar
    Vigenere.java
    Vigenère
    tp3.java
    appel au deux méthodes

    Les fichiers doivent contenir une méthodes main spécifique à des fins de tests.
    Vous devez remettre vos fichiers sous format électronique au plus tard le vendredi 27 juillet à minuit (nuit de vendredi à samedi). Attention les retards ne seront pas autorisés.

    remise pift1170 tp3 tp3.java Cesar.java Vigenere.java

    Il vous est également demandé de remettre une version papier de votre code. Vous pouvez me remettre directement
    votre TP durant l'examen final. Vous pouvez également le déposer au local (3225 du pavillon André-Aisenstadt) au plus tard Samedi 28 juillet.
    En cas d'absence, veuillez glisser votre listing sous la porte. Une page de garde pour la remise des documents
    est disponible sur la page web de ce TP.

    5. Contraintes et vérification du format d'affichage:
    Idem que le tp#2.

    6. Barème:
    Ce TP3 est noté sur 15 points. Même barème que TP#2.

    7. Mise à jour:
    06-07-2001 diffusion