This commit is contained in:
pvalarcher 2022-11-25 11:17:43 +01:00
parent 3119e4f7bd
commit e725f80c3a
5 changed files with 106 additions and 0 deletions

1
Vernam/cle.txt Normal file
View File

@ -0,0 +1 @@
NSkdnskdnndndfkfklnfnsefksfk

52
Vernam/codage.c Normal file
View File

@ -0,0 +1,52 @@
/*
Codage du message
On ecrit un programme qui à partir d'un fichier message et
d'un fichier clé produira un fichier message_code
*/
/*
1. La méthode la plus simple les noms de fichiers sont connus
2. On demande le nom des fichiers à l'utilisateur
3. Les noms de fichiers sont passés en paramètres sur le ligne de commande
*/
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[]) {
FILE *f_m, *f_k, *f_mc; /* strcutures permettant, une fois FOPEN
exécuté de recupérer des informations pour manipuler les fichiers
en C */
int c;
int k1;
int calcul;
char * cheminFic_m = "message.txt";
f_m = fopen(cheminFic_m, "r");
/* Traitement erreur */
char * cheminFic_k = "cle.txt";
f_k = fopen(cheminFic_k, "r");
/* Traitement erreur */
char * cheminFic_mc = "message_c.txt";
f_mc = fopen(cheminFic_mc, "w");
/* Traitement erreur */
while ((c = fgetc(f_m)) != EOF)
{
k1 = fgetc(f_k);
calcul = (c+k1) % 256;
fputc(calcul, f_mc);
}
fclose(f_m);
fclose(f_k);
fclose(f_mc);
return EXIT_SUCCESS;
}

52
Vernam/decodage.c Normal file
View File

@ -0,0 +1,52 @@
/*
Codage du message
On ecrit un programme qui à partir d'un fichier message et
d'un fichier clé produira un fichier message_code
*/
/*
1. La méthode la plus simple les noms de fichiers sont connus
2. On demande le nom des fichiers à l'utilisateur
3. Les noms de fichiers sont passés en paramètres sur le ligne de commande
*/
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[]) {
FILE *f_m, *f_k, *f_mdc; /* strcutures permettant, une fois FOPEN
exécuté de recupérer des informations pour manipuler les fichiers
en C */
int c;
int k1;
int calcul;
char * cheminFic_m = "message_c.txt";
f_m = fopen(cheminFic_m, "r");
/* Traitement erreur */
char * cheminFic_k = "cle.txt";
f_k = fopen(cheminFic_k, "r");
/* Traitement erreur */
char * cheminFic_mdc = "message_dc.txt";
f_mdc = fopen(cheminFic_mdc, "w");
/* Traitement erreur */
while ((c = fgetc(f_m)) != EOF)
{
k1 = fgetc(f_k);
calcul = c-k1 >= 0?c-k1:256-(c-k1);
fputc(calcul, f_mdc);
}
fclose(f_m);
fclose(f_k);
fclose(f_mdc);
return EXIT_SUCCESS;
}

1
Vernam/message.txt Normal file
View File

@ -0,0 +1 @@
Il fait beau

BIN
Vernam/vernamCours.pdf Normal file

Binary file not shown.