Colección de citas famosas - Slogan de motivación - C implementa algoritmos de cifrado y descifrado RSA

C implementa algoritmos de cifrado y descifrado RSA

#include ltiostream gt

Usar espacio de nombres std

Plantilla lt clase Hewitt gt

enorme int Power(const enorme int amp; x, const HugeInt ampn, // Encuentra x^n mod p

const HugeInt ampp)

{

Si (n == 0)

Devuelve 1;

EnormeInt tmp = Potencia( (x * x) p, n / 2, p);

if( n 2!= 0)

tmp = ( tmp * x) p;

return tmp

}

plantilla lt clase hewitt gt

void gcd completo (const enorme int amp ; const EnormeInt ampb, //

EnormeInt ampx, EnormeInt ampy)

{

EnormeInt x1, y 1;

EnormeInt ampx , HugeInt ampy)

p>

Si (b == 0)

{

x = 1

y; = 0;

}

Otro

{

fullGcd( b, a b, x1, y 1);

x = y 1;

y = x 1-(a/b)* y 1;

}

}

Plantilla lt clase Hewitt gt

HugeInt inversa (const HugeInt ampp, const HugeInt ampq, //buscar d

const HugeInt ampe)

{

int fyn =( 1-p)*(1-q);

HugeInt x, y

fullGcd( fyn, e, x, y);

return x gt0 ?x:x e;

}

int main()

{

cout lt ltIngrese texto sin formato: " lt ltendl

int m;

CIN gt; gtm;

cout lt ltIngrese p, q y e: " lt ; ltendl

int p, q, e;

CIN gt; gtp gtq gt gte;

int n = p * q;

int d = inverse( p, q, e);

int C = power (m, e, n);

cout lt lt" El texto cifrado es: " lt ltC lt ltendl

cout lt lt\ n \Ingrese el texto cifrado: " lt ltendl

CIN gt; gtc;

cout lt lt\ n \ Introduzca p, q y d: " lt; ltendl

CIN gt; gtp gt gtq gt gtd;

n = p * q;

m = power (C, d, n);

cout lt ltEl texto sin formato es: "lt ltm lt ltendl lt ltendl

p>

System("pause");

Return 0;

}

Este es el algoritmo de cifrado y descifrado RSA.