Cryptage/décryptage

Fermé
COLOMBAT - 13 juin 2004 à 18:22
 Jok - 17 janv. 2008 à 13:52
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 560 Date d'inscription vendredi 5 mars 2004 Statut Membre Dernière intervention 30 octobre 2005 120
13 juin 2004 à 18:43
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
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
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 560 Date d'inscription vendredi 5 mars 2004 Statut Membre Dernière intervention 30 octobre 2005 120
15 juin 2004 à 17:50
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
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

    
0
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
Bonjour j'aurait voulus savoir ou je pourais apprendre la cryptographie, j'ai quelque connaissanse en C .

merci
0
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
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