Red de conocimiento informático - Material del sitio web - ¿Cómo implementar el algoritmo RSA en un programa C?

¿Cómo implementar el algoritmo RSA en un programa C?

#include "stdafx.h"

#includelt;math.hgt;

#includelt;stdio.hgt;

int isP(int m)

p>

{

int i;

for( i=2; ilt; m; i)

si(m i ==0)devuelve 0;

devuelve 1

}

int num(int m, int k)

{

int i=0;

for(m=m;kgt;0; m)

if(isP(m))

{

k--;

retorno m;

}

}

int principal(int) argc, char* argv [])

{

int P, Q, E, D, i, k, fn, c=0, j=0, t=1, f1=1, l =2;

int a[10];

largo N0,

largo PT, CT,

printf ("Ingrese el primer número: ");

scanf("d", y P);

printf("Ingrese un número mayor que el primer número: ");

scanf("d", amp; Q=); num(Q, 1);

N=P*Q;

N1=(P-1)*(Q- 1);

N0= N1;

p>

mientras(N1gt;=3)

{

mientras(N1l!=0)

{

l ;

}

a[j ]=l

N1=N1/l

}

printf(" Ingrese un número impar E, si E no es adecuado, el sistema encontrará un valor adecuado mayor que E: "); ; E);

for(i=E;tgt;0;i=i 2)

{

for(k=0;k lt; j 1;k )

{

if(Ea[k-1]==0) descanso;

else if(k==j)

{

t--;

}

E=i

}

para (k=1; ; k )

{

si((N0*k 1)E==0)

{

D=(N0* k 1)/E

if((D*E)N0==1)

romper

}

printf ("Ingrese texto sin formato:");

scanf("ld",amp; PT);

for(

i=1; =E; i )

{

fn=(f1*PT)N;

f1=fn;

CT=fn;

}

f1=1

para(i=1; ilt; =D; i )

{

fn=(f1*CT)N

f1=fn

PT=fn

}

printf("P=d,Q=d\ n",P,Q);

for(k=0;klt;j;k)

printf("d ", a[k]);

printf("\n");

printf("E=d, D=d, N=ld \n", E, D, N);

printf("La contraseña es:

printf("La contraseña es: ld\n", CT);

printf("El texto sin formato es: ld\n", PT);

devuelve 0;