Cryptographie en c
zakariah
Messages postés
59
Date d'inscription
Statut
Membre
Dernière intervention
-
hananeanzoul Messages postés 1 Date d'inscription Statut Membre Dernière intervention -
hananeanzoul Messages postés 1 Date d'inscription Statut Membre Dernière intervention -
Bonjour, j'ai un plobleme dans le programme de cryptographie ci desous l'encryptage fonctionne correctement mais le decryptage n'est pas correcte si il vous plait je veut savoir la solution plus vit possible mecri d'avance
#include<conio.h>
#include<math.h>
#include<stdlib.h>
#include<stdio.h>
#include<string.h>
int funct(char p)
{
int x;
if(p>='a'&&p<='z')
x=p-96;
if(p>='A'&&p<='Z')
x=p-64;
return x;
}
int main()
{
int i,p,q,n,z,e,s,c[30],p2[30],flag[30],tra;
float l,d;
long double x,y;
unsigned long int div,div1;
char pra[30];
// clrscr();
printf("\n\n BIENVENUE SUR LE PROJET CRYPTOGRAPHIE \n\n");
printf("\n Enter les deux valeurs de P et Q \n");
scanf("%d%d",&p,&q);
n=p*q;
z=(p-1)*(q-1);
printf("\n Entrez la cle de chiffrement \n");
scanf("%d",&e);
l=1*(abs(z));
d=ceil(l/e);
printf("\n Entrez le texte a Encrypter \n");
scanf("%s",pra);
for(i=0;i<strlen(pra);i++)
{
flag[i]=0;
if(pra[i]>='a'&&pra[i]<='z')
flag[i]=1;
else
continue;
}
printf("\n texte Encrypter \n");
for(i=0;i<strlen(pra);i++)
{
s=funct(pra[i]);
x=pow(((long double)s),((long double)e));
div=(unsigned long int)x;
c[i]=div%n;
printf("%d ",c[i]);
}
printf("\n Texte Decrypter \n");
for(i=0;i<strlen(pra);i++)
{
tra=c[i];
y=pow(((long double)tra),((long double)d));
div1=(unsigned long int)y;
p2[i]=div1%n;
if(flag[i]==0)
printf("%c ",(p2[i]+64));
else
printf("%c ",(p2[i]+96));
}
getch();
}
#include<conio.h>
#include<math.h>
#include<stdlib.h>
#include<stdio.h>
#include<string.h>
int funct(char p)
{
int x;
if(p>='a'&&p<='z')
x=p-96;
if(p>='A'&&p<='Z')
x=p-64;
return x;
}
int main()
{
int i,p,q,n,z,e,s,c[30],p2[30],flag[30],tra;
float l,d;
long double x,y;
unsigned long int div,div1;
char pra[30];
// clrscr();
printf("\n\n BIENVENUE SUR LE PROJET CRYPTOGRAPHIE \n\n");
printf("\n Enter les deux valeurs de P et Q \n");
scanf("%d%d",&p,&q);
n=p*q;
z=(p-1)*(q-1);
printf("\n Entrez la cle de chiffrement \n");
scanf("%d",&e);
l=1*(abs(z));
d=ceil(l/e);
printf("\n Entrez le texte a Encrypter \n");
scanf("%s",pra);
for(i=0;i<strlen(pra);i++)
{
flag[i]=0;
if(pra[i]>='a'&&pra[i]<='z')
flag[i]=1;
else
continue;
}
printf("\n texte Encrypter \n");
for(i=0;i<strlen(pra);i++)
{
s=funct(pra[i]);
x=pow(((long double)s),((long double)e));
div=(unsigned long int)x;
c[i]=div%n;
printf("%d ",c[i]);
}
printf("\n Texte Decrypter \n");
for(i=0;i<strlen(pra);i++)
{
tra=c[i];
y=pow(((long double)tra),((long double)d));
div1=(unsigned long int)y;
p2[i]=div1%n;
if(flag[i]==0)
printf("%c ",(p2[i]+64));
else
printf("%c ",(p2[i]+96));
}
getch();
}