¿Qué es el algoritmo RSA? Por favor explique brevemente.
Ha sido recomendado por ISO como estándar de cifrado de datos de clave pública para resistir todos los ataques criptográficos conocidos hasta el momento. El algoritmo RSA se basa en un hecho muy simple de la teoría de números: es muy fácil multiplicar dos números primos grandes, pero en ese momento era extremadamente difícil factorizar su producto, por lo que el producto podría exponerse como una clave de cifrado. Debido al cálculo de grandes números, el RSA más rápido es varias veces más lento que DES, ya sea que se trate de implementación de software o hardware. La velocidad siempre ha sido el defecto de RSA. En términos generales, sólo se utiliza para cifrar pequeñas cantidades de datos. RSA es aproximadamente 1.000 veces más lento que los algoritmos criptográficos simétricos correspondientes al mismo nivel de seguridad.
Conceptos básicos
Descomposición de números grandes y detección de números primos: la multiplicación de dos números primos grandes es computacionalmente fácil de implementar, pero la cantidad de cálculo necesaria para descomponer el producto en dos factores primos grandes Es tan grande que no se puede realizar en cálculos reales.
1. Establecimiento del criptosistema RSA;
(1) Seleccione dos números primos grandes diferentes P y Q
(2) Calcule el producto n= pq; y φ(n)=(P-1)(Q-1);
(3) Seleccione un entero aleatorio E que sea mayor que 1 y menor que φ (n), de modo que MCD (e , φ(n) ))= 1;
(4) Calcular d tal que DE = 1 modφ(n);
(5) Para cada clave k=(n, p, q, d, e), define la transformación de cifrado como Ek(x)=xemodn, y la transformación de descifrado como Dk(x)=ydmodn, donde x, y∈Zn
(6) Tome {e, n} como clave pública, {p, q, d} es la clave privada.
2. Ejemplo de algoritmo RSA:
Usemos dos números primos pequeños, 7 y 17, para construir un algoritmo RSA simple:
(1) Elija dos números primos. números, p=7, q = 17;
(2) Calcular n=pq=7 17=119, calcular φ(n)=(P-1)(Q-1)= 6 16 = 96;
(3) Elija un número entero aleatorio e=5, que sea menor que φ (n) = 96 y sea primo relativo en 96
(4) Encuentre d tal; que de=1mod96 y d
(5) ingresan texto sin formato m = 19, calculan 19 a la quinta potencia módulo 119, me = 195 = 66 mod 119, envían texto cifrado c = 66 (6) reciben texto cifrado 66 , calcule 66 elevado a la potencia 77 módulo 119 CD = 6677≡19 mod 119 para obtener el texto sin formato 19.