Buonasera io stavo provando a sviluppare un programma in c che criptasse un messaggio con il metodo RSA...solamente che dopo aver inserito il numero e inizia a calcolare e va in loop (nel punto con while (r=1)) e vorrei sapere qual'è l'errore.Grazie.
Ecco il programma:
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main(int argc, char*argv[])
{
int p,q,n,d,e,z,i,c,x,r,y;
char vet[10];
printf("Inserire il messaggio di 10 caratteri\n");
for(i=0;i<10;i++)
{
scanf("%c", &vet);
}
do
{
printf("Inserire i numeri primi positivi p e q\n");
scanf("%d%d", &p, &q);
}
while(p<=0 && q<=0);
n=p*q;
z=(p-1)*(q-1);
printf("Inserire un esponente pubblico tale che esso sia minore di %d e tale che il MCD tra e ed %d sia 1\n", n, z);
scanf("%d", &e);
i=0;
while(r=1)
{
i++;
d=i;
y=(e*d);
r=y%z;
}
printf("n e' %d\n", n);
printf("L'esponente privato e' %d\n", d);
printf("Chiave pubblica (%d,%d)\n", n, e);
printf("Chiave privata (%d,%d)\n", n, d);
printf("\n");
printf("Ecco il messaggio cifrato:\n\n", c);
for(i=0;i=10;i++)
{
c=(vet^e)+z;
printf("%d-", c);
}
printf("\n");
system("PAUSE");
return 0;
}