This commit is contained in:
pvalarcher 2022-11-25 11:19:17 +01:00
parent e725f80c3a
commit bc1d4c9f93
2 changed files with 51 additions and 0 deletions

45
Vernam/afaire.c Normal file
View File

@ -0,0 +1,45 @@
#include <stdio.h>
#include <stdlib.h>
#define CODAGE
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;
int option;
/* recupération sur la ligne de commande des noms de fichiers et option (-c pour codage
-d pour décodage : message cle message_calculé
code -c f1 f2 f3
code -d f1 f2 f3
*/
datafile = ouvre_fichier(argv[1], argv[2], argv[3]);
ouvre_fichier (argv[1], argv[2], argv[3], &f1, &f2, &f3);
while ((c = fgetc(datafile.f_m)) != EOF)
{
k1 = fgetc(datafile.f_k);
if (option == CODAGE)
calcul = (c+k1) % 256;
else
calcul = c-k1 >= 0?c-k1:256-(c-k1);
fputc(calcul, datafile.f_mc);
}
fermefichier(datafile);
return EXIT_SUCCESS;
}

6
Vernam/afaire.txt Normal file
View File

@ -0,0 +1,6 @@
1. Un programme qui génère une clé (au moins aussi longue que le message)
2. compléter le programme afaire.c pour qu'en fonction des paramètres de la ligne de commande il code ou décode.
A rendre pour le 15 décembre, sous le format suivant:
- un depot git