Cryptographie en c
zakariah
Messages postés
69
Statut
Membre
-
hananeanzoul Messages postés 1 Statut Membre -
hananeanzoul Messages postés 1 Statut Membre -
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();
}