Giter VIP home page Giter VIP logo

cryptage's Introduction

IUT

Chiffrement de messages


Application en C permettant d'encoder et de décoder avec différentes méthodes de cryptage (Cesar, Vigenere) un message entré.


Chapitres


Participants

L'équipe est composée de Eric PHILIPPE, Brandon SOUBAIGNE, ainsi que d'Alexandre MOURCACOS Nous sommes trois étudiants en informatique à l'IUT de Toulouse.


Objectifs

L'objectif principal de ce système est d'offrir à l'utilisateur une interface de cryptage et de décryptage de messages. On retrouvera alors le cryptage de messages avec des algorithmes de cryptage différents, à savoir le cryptage de César, le cryptage de Vigenere. Le tout se veut complètement découpé, afin de pouvoir réutiliser les parties désirés dans d'autres applications.


Documentation

La suivante va se décomposer en plusieurs chapitres:

  1. Encodeur César
  2. Encodeur Vigenere
  3. Affichage
  4. Utils

Encodeur César

Le suivant se décompose en deux fonctions différentes:

void caesar(char *message, int shift);
void caesar_decode(char *message, int shift);

Elles ont pour seul but de chiffrer et déchiffrer un message sans aucune vérification en amont. La vérification des différents input se fait plus haut. A noter également que la fonction update le paramètre de message pour le rendre plus facile à utiliser.


Encodeur Vigenere

Le suivant se décompose également en deux fonctions différentes:

void vigenere(char *text, char *key, char *out);
void vigenere_decode(char *text, char *key, char *out);

Ces deux fonctions se veulent également brute dans leurs traitements, afin de pouvoir réutiliser leur code dans d'autres applications. On notera aussi la présence d'un paramètre d'output, désirant varier les méthodes utilisées pour le chiffrement et déchiffrement.


Affichage

L'affichage est une extension à l'application. Le tout se veut facile à utiliser, et à réutiliser dans d'autres cas. Le système se décompose en un plus petit système d'affichage et de passage des différents menus. Le second, lui gère le lancement de chaque fonction, et amorce les différentes fonctions, avec le traitement des erreurs possibles. Tous les menus sont contenus dans le dossier "Menus", le tout dans des fichiers .txt.

launcher.h;

void FullTryCeasar();
void encodedToFileCeaser();
void fileToDecodeCeaser();
void decodeCeaser();
void FullTryVigenere();
void encodedToFileVigenere();
void fileToDecodeVigenere();
void decodeVigenere();
menus.h;

void displayMenu(int page);
int getCMD(int page);

Le premier fichier permet donc de lancer les différentes situations désirées. Le second fichier permet de gérer les différentes pages, et de récupérer les entrées utilisateurs.


Utils

Le fichier utils se veut tout particulièrement être un fichier modulaire et utilisable absolument partout. Ce sont des fonctions basiques d'input et de vérifications d'input permettant le traitement efficace de ces dernières.

utils.c;

void getMessage(char* str);
void getKeyChar(char* str);
int getKey();
int isAlphaNum(char* str);

cryptage's People

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.