Está en la página 1de 3

Sistema RSA

RSA
INTRODUCCIÓN
Desde su aparición en 1978 el sistema de llave pública RSA (de Rivest, Shamir y
Adleman) ha ganado gran popularidad, por una parte, por la gran seguridad que ofrece
al basar ésta en un problema matemático difícil de resolver que había dejado de tener
interés en la comunidad mundial, cómo lo es el Problema de la Factorización Entera
PFE y a causa del sistema RSA se ha retomado e incrementado su investigación. Por
otra parte, aunque implementar RSA requiere de mucho cuidado en detalles que son
necesarios, la idea de su funcionamiento es muy simple de entender, lo que lo hace
muy popular principalmente en sectores donde no hay abundancia de matemáticas.

El algoritmo RSA es usado esencialmente en:


a) Generación de llaves RSA
b) Cifrado del texto original
c) Descifrado del texto cifrado

 Algoritmo RSA de llave pública


1.a) Generar dos primos p, q
2.a) Calcular
3.a) Elegir un
entero
4.a) Calcular
5.a) La llave pública es y la llave privada ( )
6.b) El usuario A calcula con la llave pública
7.b) A envía el mensaje cifrado c al destinatario B
8.c) B recobra el mensaje con la fórmula con la llave privada

Ejemplo: con números primos pequeños


Supongamos que p = 7 y q = 17.
Entonces n = pq = 7 x 17 = 119.
Y F(n) = (p-1)(q-1) = 6 x 16 = 96.
Buscamos un número E que sea coprimo con 96 (es decir, que no tengan divisores en
común), nos puede servir E = 5, y ahora buscamos D tal que DE = 1 (mod 96)

Por tanto, DE – 1 = 96K, DE = 96K + 1 y despejando D, y dando valores a


k, para k = 4 obtenemos que D = 77.
La clave pública sería (119, 5) y la clave privada sería 77.
Para codificar vamos a usar la clave pública. Veamos como:
Codificar el mensaje “hola mundo”
Asignamos a cada letra un valor numérico A=01, B=02, C=03,....entonces nos queda:
“08161201281322140416”
Ahora vamos codificando de dos en dos:
085 (mod 119) = 43
165 (mod 119) = 67, y así sucesivamente.
Sistema RSA

EJERCICIO 1:
Utiliza el método R.S.A. para codificar el mensaje “hasta mañana”, escoge como p =
11 y q = 23. Indica cuál es la clave pública y cuál la privada.

EJERCICIO 2:
Descodifica el mensaje “138004464048270235463697”, sabiendo que p = 17, q = 257,
e = 5 y d = 3277. ¿puedes descodificar el mensaje si sólo sabes n = 4369 y e = 5?

Ejemplo. Supongamos que:

1. , entonces .

2. Ahora elijo y busco unos enteros tales que .


Usando el algoritmo llegamos a que y .

3. Falta encontrar ; usando el otro algoritmo (mencionado en el artículo anterior)


llego a que . Tomo y obtenemos que
.
Ejemplo. Usaremos lo que se obtuvo en el ejemplo anterior. Imagínese que se tienen
las letras de la A a la Z, numeradas de 01 hasta 27. Alguien nos quiere mandar el
mensaje: “MIGUEL DE CERVANTES”. Así que esta persona hace el mapeo con el
alfabeto y le queda que .
Ahora separa en bloques de 5 dígitos:

Va a tener que rellenar con un cero, así que quedará . Esto se pudo
haber evitado si se escogían bloques de 4 o 6 dígitos. Además, tiene que comprobar
que todos los bloques cumplen .

Ejemplo. Vamos a usar los datos de los ejemplos anteriores. Imagínese que nos
llegan bloques cifrados y nos dicen que: los bloques originales eran de 5
dígitos, es de 34 dígitos y usaron .
Cabe mencionar que para un mismo módulo RSA se pueden tener varios exponentes
publicos cuando previamente hemos calculado sus respectivos exponentes privados.
Procedemos a descifrar, así que calculamos:
Sistema RSA

Finalmente concatenamos todos los bloques y queda


, quitamos el último cero para que el
mensaje sea de 34 dígitos y tengamos .

También podría gustarte