Está en la página 1de 3

Asignatura Datos del alumno Fecha

Álgebra y Matemática Apellidos:


Discreta Nombre:

Actividad. Implementación del algoritmo RSA y


foro asociado

Objetivos

El objetivo de este laboratorio es consolidar mediante ejemplos los conocimientos


adquiridos en aritmética modular, congruencias lineales, logaritmos discretos y
raíces primitivas. Esto se hará implementando uno de los algoritmos de cifrado más
populares, el algoritmo RSA.

Descripción de la actividad

Debemos encontrar dos números primos, p y q (cuantos mayores sean más seguro
será nuestro sistema de cifrado) y calcular n= pq. El producto n es público (es decir,
lo puede conocer cualquiera), pero ni p ni q deben serlo.

A continuación, calculamos F=( p−1)( q−1) y ya podemos definir nuestra clave


pública y clave privada:
‣ La clave pública, e , es un número natural que sea primo relativo de F .
‣ La clave privada, d , verifica que e d ≡ 1(mod F).

Ahora ya podemos usar el cifrado RSA. Supongamos que nuestra amiga Sara nos
quiere enviar un mensaje, M , que estará representado por un número entero de
muchos caracteres, pero no quiere que lo lea David. Para ello, tiene que hacer lo
siguiente:

1
Actividades
Asignatura Datos del alumno Fecha
Álgebra y Matemática Apellidos:
Discreta Nombre:

1. Calcular C=M e (mod n). Este paso puede hacerlo ya que tanto e como n son
públicos. El único problema entonces es cómo hacer estos cálculos tan pesados,
pero en la página 161 del manual de la asignatura, Matemática discreta y sus
aplicaciones de Kenneth Rosen encontrarás cómo hacerlo.
2. Si nosotros queremos descifrar el mensaje, basta con que calculemos
d
M =C (mod n). También hay que utilizar la misma función que en el apartado
anterior. Fijaos en que para descifrar el mensaje es necesario conocer d , que
justamente es nuestra clave privada.

Se pide:
1. Generar los números e , d y n , sabiendo que n y e son públicos.
2. Generar un mensaje M y cifrarlo con la clave pública tal y como se indica (como
haría Sara).
3. Descifrar el mensaje C tal y como se indica (con la clave privada) y comprobar
que, efectivamente, se recupera M .

Nota: los puntos 1-3 deben ir acompañados del código necesario para realizar los
cálculos y las pruebas en concreto que se han realizado

Además, debéis contestar en un foro concreto a las siguientes preguntas. Algunas


cuestiones no se han explicado en clase, por lo que os corresponderá hacer una
pequeña investigación. No os preocupéis, ya que se trata de temas muy conocidos
sobre los que hay mucho escrito.

1. ¿Cómo podría David descifrar el mensaje de Sara? ¿Podemos confiar en el


cifrado RSA?
2. ¿Cómo podemos estar seguros de que existe d tal que e d ≡ 1(mod F)?

2
Actividades
Asignatura Datos del alumno Fecha
Álgebra y Matemática Apellidos:
Discreta Nombre:

3. Toma cualquier sistema de cifrado anterior a 1950 (Enigma, sustitución, doble


sustitución, etc.). ¿Qué ventajas tiene el cifrado RSA con respecto al que has
elegido?

Deberás participar en el foro sobre estas tres cuestiones con tu opinión personal
formada gracias a tu investigación. Para que tu participación sea válida es
importante que realices un mínimo de dos intervenciones significativas.

Rúbrica

Implementació Puntuación
Peso
n del algoritmo Descripción máxima
%
RSA (puntos)
Criterio 1 El código funciona y los resultados que
4 40%
devuelve son correctos
Criterio 2 Las cuestiones se responden de manera
3 30%
correcta
Las explicaciones, tanto de los pasos que
Criterio 3 se han seguido en el cifrado RSA como 2 20%
de las cuestiones son claras y concisas
Criterio 4 Las dos intervenciones del foro son
1 10%
significativas
10 100 %

Entrega

Al finalizar la actividad, el documento debe ir nombrado así:


APELLIDO1_APELLIDO2_NOMBRE_Titulo_actividad (sin tildes ni apóstrofes ni
ningún otro carácter que pudiera resultar conflictivo).

3
Actividades

También podría gustarte