CommentCaMarche
Recherche
Posez votre question Signaler

Cryptage/décryptage

COLOMBAT - Dernière réponse le 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
Lire la suite 
Réponse
+1
moins plus
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
COLOMBAT- 13 juin 2004 à 19:12
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.
Répondre
COLOMBAT- 15 juin 2004 à 13:30
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.
Répondre
Ravachol 565Messages postés vendredi 5 mars 2004Date d'inscription 30 octobre 2005Dernière intervention - 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
Répondre
COLOMBAT- 15 juin 2004 à 18:40
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
Répondre
Ajouter un commentaire
Réponse
+0
moins plus
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
Ajouter un commentaire
Réponse
+0
moins plus
Bonjour j'aurait voulus savoir ou je pourais apprendre la cryptographie, j'ai quelque connaissanse en C .

merci
Ajouter un commentaire
Réponse
+0
moins plus
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
Ajouter un commentaire
Réponse
+0
moins plus
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.
Ajouter un commentaire
Ce document intitulé «  cryptage/décryptage  » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes.

Le fait d'être membre vous permet d'avoir des options supplémentaires.