Cryptage/décryptage

COLOMBAT -  
 Jok -
Salut!
Depuis plusieurs jours, je travaille sur un projet que je dois rendre cette semaine.
Le problème, c'est qu'il ne fonctionne pas correctement.
Je dois donc faire un programme en langage C permettant de crypter ou décrypter des textes, soit tapés à la machine soit écrits dans un fichier, en utilisant 2 techniques: la technique de César et l'utilisation d'une clé de cryptage.
Je recherche donc quelqu'un qui pourrait m'aider car je n'y arrive pas très bien. Je lui enverrai mon programme.
Merci d'avance
Guillaume COLOMBAT
A voir également:

5 réponses

Ravachol Messages postés 568 Statut Membre 120
 
Salut,
je pense que tu devrais faire ce travail seul ce sera nettement plus bénéfique pour toi. Par contre tu peut t'aider en cherchant des infos ici : => http://www.apprendre-en-ligne.net/crypto/
C'est un site très instructif, je trouve.

Bon courage ;-)

A++

Ni l'ignorance n'est défaut d'esprit,
ni le savoir n'est preuve de génie. LUC DE CLAPIERS
1
COLOMBAT
 
Merci pour ton message!
Le problème, c'est que je ne suis pas un pro de l'informatique.
Le plus simple, c'est que je t'envoie mon programme et que tu me dises ce que tu en penses.
0
COLOMBAT
 
Salut!
Il faut vraiment que quelqu'un m'aide sur ce projet.
Je vous assure que je n'y arrive pas.
Je vous le demande très sincèrement.
0
Ravachol Messages postés 568 Statut Membre 120
 
Salut,
tu n'as qu'à poster le code que tu as déjà écrit en expliquant ce qui te poses problème. Il y a sûrement des personnes qui vont t'aider et corriger ce qu tu as fais. Mais je me répète, je pense qu'il faut que tu fasses le boulot toi même.

A++

La pensée ne commence qu'avec le doute.
ROGER MARTIN DU GARD
0
COLOMBAT
 
Ok!
Voici ce que j'ai fait:
/* Fichier crypt_decrypt.C
Cryptage et décryptage de fichiers texte
*/

#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#define maxi 10
#define maxicle 15

void technique_de_Cesar();
char crypt_Cesar(char t[maxi]);
char decrypt_Cesar(char t[maxi]);
void cle_cryptage();
char crypt_cle(char t[maxi], char c2[maxi]);
char decrypt_cle(char t[maxi], char c2[maxi]);

void main()
{
int m;
char choix='o';

while (choix=='o') // choix de la méthode
{
printf("\nCryptage et décryptage de fichiers texte\n");
printf("\nChoisir méthode de codage:\n");
printf("\n0: Technique de César\n");
printf("\n1: Clé de cryptage\n");
scanf("%d",&m);
getchar();

if(m==0)
{
technique_de_Cesar();
}
else
{
if(m==1)
{
cle_cryptage();
}
else
{
printf("\nERREUR!!!\n");
}
}
printf("Voulez-vous recommencer?(o/n)");
scanf("%c",&choix);
}
fflush(stdin);
getchar();
}

void technique_de_Cesar()
{
char fichier1[]="C:\Texte.c";
char fichier2[]="C:\Permut.txt";
char fichier3[]="C:\Permut2.txt";
int p1, p2;
int i;
FILE *file1, *file2, *file3;
char c;
char t[maxi];

printf("\nVoulez-vous:\n"); // choix méthode cryptage
printf("\n2: Ecrire la chaîne de caractères?\n");
printf("\n3: La lire à partir d'un fichier?\n");
scanf("%d",&p1);

if(p1==2)
{
printf("\nEntrer chaîne de caractères:\n");
scanf("%s", &t);
}
else
{
if(p1==3)
{
file1=fopen(fichier1, "r");
fscanf(file1,"%s\n" ,&t);

if(!file1)
{
printf("\nErreur à l'ouverture du fichier!\n");
exit(-1);
}
}
else
{
printf("\nERREUR!!!!\n");
}
}
for(i=0; i<maxi; i++)
{
printf("\nSouhaitez-vous:\n");
printf("\n4: Crypter la chaîne de caractères?\n");
printf("\n5: Décrypter la chaîne de caractères?\n");
scanf("%d",&p2);


if(p2==4)
{
crypt_Cesar(t);
}
else
{
if(p2==5)
{
decrypt_Cesar(t);
}
else
{
printf("\nERREUR!!!\n");
}
}
}
fflush(stdin);
getchar();
}

char crypt_Cesar(char t[maxi])
{

char fichier2[]="C:\Permut.txt";

FILE *file2;
int i=0;

/* Ouverture en lecture */
file2=fopen(fichier2, "r");

if(!file2)
{
printf("\nErreur à l'ouverture du fichier!\n");
exit(-1);
}

while(!feof(file2))
{
for(i=0; i<30; i++)
{
printf("\nVoici le texte crypté:\n");
fscanf(file2, "%s");
i++;
}
}
fclose(file2);
fflush(stdin);
getchar();
}

char decrypt_Cesar(char t[maxi])
{
char fichier3[]="C:\Permut2.txt";
int i=0;
char c;
FILE *file3;
file3=fopen(fichier3, "r");

if(!file3)
{
printf("\nErreur à l'ouverture du fichier!\n");
exit(-1);
}

while(!feof)
{
for(i=0; i<30; i++)
{
printf("\nVoici le texte décrypté: %s\n");
fscanf(file3, "%s\n", t);
i++;
}
}
fclose(file3);
fflush(stdin);
getchar();
}

void cle_cryptage()
{
int p3, p4;
int i;
FILE *file1;
char fichier1[]="C:\Texte.c";
char c2[maxicle], t[maxi];

printf("\nVoulez-vous:\n");
printf("\n6: Ecrire la chaîne de caractères?\n");
printf("\n7: La lire à partir d'un fichier?\n");
scanf("%d",&p3);

if(p3==6)
{
printf("\nEntrer chaîne de caractères:\n");
scanf("%s", t[i]);
}
else
{
if(p3==7)
{
file1=fopen(fichier1, "r");
fscanf(file1, "%s", &t);
}
else
{
printf("\nERREUR!!!!\n");
}
}

if(!file1)
{
printf("\nErreur à l'ouverture du fichier!\n");
exit(-1);
}

for(i=0;i<maxi;i++)
{
printf("\nVoulez-vous:\n");
printf("\n8: Crypter la chaine de caractères?\n");
printf("\n9: Décrypter la chaîne de caractères?\n");
scanf("%d",&p4);

if(p4==8)
{
crypt_cle(t, c2);
}
else
{
if(p4==9)
{
decrypt_cle(t, c2);
}
else
{
printf("\nERREUR!!!\n");
}
}
}
fflush(stdin);
getchar();
}

char crypt_cle(char t[maxi], char c2[maxi])
{
int i=0,j=0;
char c[maxicle]; // clé de cryptage

printf("\nEntrer clé de cryptage:\n");
scanf("%s",&c);

for(i=0; i<maxi; i=i+1)
{

c2[i] = t[i] + c[j]; // texte crypté
j++;
}
if (j>=maxicle)
{
j=0;
}
printf("\nVoici le texte crypté: %s\n", c2);
fflush(stdin);
getchar();
}

char decrypt_cle(char t[maxi], char c2[maxi])
{
int i=0, j=maxicle;
char c[maxicle];

for(i=0; i<maxi; i--)
{
t[i] = c2[i] - c[j]; // texte décrypté
j--;
}
printf("\nVoici le texte décrypté:%s\n", t);
fflush(stdin);
getchar();
}

Dans le fichier Texte.c, il y a une chaîne de caractères que l'on veut crypter ou décrypter.
Dans Permut.txt (cryptage pour la Technique de César), il y a:
A->D
B->E
C->F
D->G
E->H
F->I
G->J
H->K
I->L
J->M
K->N
L->O
M->P
N->Q
O->R
P->S
Q->T
R->U
S->V
T->W
U->X
V->Y
W->Z
X->A
Y->B
Z->C

Dans Permut2.txt (décryptage avec la technique de César), il y a:
D->A
E->B
F->C
G->D
H->E
I->F
J->G
K->H
L->I
M->J
N->K
O->L
P->M
Q->N
R->O
S->P
T->Q
U->R
V->S
W->T
X->U
Y->V
Z->W
A->X
B->Y
C->Z

J'espère que ça vous aidera car il faut absolument que je rende ce projet demain.
Merci d'avance
Guillaume COLOMBAT
0
sghiri
 

    
0
Tony
 
Bonjour,
qui peux me dire ou je peux trouver un programe pour trouver les lmot de passe pour les torrent que je telecharge svp ?lorseque je veux les d'ezipez ou extraire les fichier il me demande le mot de passe.voici mon adresse mail: antoniouantonios@hotmail.com
Bye les amis a bien tot
0
antony
 
Bonjour j'aurait voulus savoir ou je pourais apprendre la cryptographie, j'ai quelque connaissanse en C .

merci
0
keke
 
j''ai éssayer d'installer un logiciel neuf mais j'ai une protection par disquette qui ne fonctionne pas du coup l'utilisation du logiciel et en restreinte que dois je faire
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Jok
 
Apprend d'abord quelque regles d'algorythme, les regles du language Basic, puis tous les autres language qui peuvent exister (je connait pas mai y'en a surment d'autres).Il y a des livres qui existe. bonne lecture et bon courage.
0