Curso: El Algoritmo RSA

En esta segunda lección veremos los valores característicos y recomendables de los parámetros que intervienen en la generación de una clave RSA, a lo que dedicaremos cinco apartados.

Si deseas ver todas las diapositivas de las 10 lecciones de este curso en formato Power Point animado o bien en pdf, puedes descargar el archivo desde esta dirección.

Temario

2.1. Necesidad de un cuerpo de cifra mayor que 2.000 bits

2.2. Relación tamaño clave pública versus clave privada

2.3. ¿Por qué se usa el número 4 de Fermat como clave pública e?

2.4. ¿Qué pasaría si usamos cualquier valor válido de e?

2.5. Aspectos a tener en cuenta en la elección de los primos p y q

2.6. Test de evaluación de la Lección 2

2.7. Estadísticas de la Lección RSA02

Objetivos

1. Familiarizarse con los valores estándar del cuerpo de cifra, las claves públicas y las claves privadas.

2. Analizar el peligro que puede entrañar un diseño libre por parte del usuario en cuanto al tamaño elegido para la clave pública e.

3. Conocer las particularidades que tiene F4, el número 4 de Fermat, y la razón de su elección como valor estándar de clave pública e.

4. Adelantar otras características que influyen en la calidad de las claves en función de una elección adecuada de los parámetros.

Software que vas a utilizar en esta lección

1. genRSA

2. Fortaleza de Cifrados

3. Calculadora científica online

2.1. Necesidad de un cuerpo de cifra mayor que 2.000 bits

Debido al avance que se viene experimentando desde finales de los años 2000 en cuanto a los tiempos de cómputo necesarios para factorizar números RSA, en 2012 es recomendable trabajar ya con módulos superiores a 2.000 bits.

Si no recuerdas la importancia de trabajar con números grandes en RSA, repasa el Apartado 1.2 de la Lección RSA01 La seguridad del algoritmo RSA: Los principios del algoritmo RSA.

De hecho, si accedes al enlace seguro de un banco online, lo más probable es que te encuentres con un certificado digital X.509 que muestre una clave pública RSA cuyo módulo es de 2.048 bits, como se aprecia en la figura.

Alg2_1

2.2. Relación tamaño clave pública versus clave privada

Seguramente después de generar de forma automática varias claves reales, por ejemplo de 1.204 ó 2.048 bits, con el programa genRSA en la Lección 01, te has preguntado porqué la clave pública que propone el programa está entre 10 y 15 bits y, en cambio, la clave privada que se calcula tiene siempre un valor muy cercano al tamaño del módulo n como muestra la figura.

Alg2_2

2.3. ¿Por qué se usa el número 4 de Fermat como clave pública e?

Aunque la única condición que debe cumplir la clave pública e para que pueda existir la clave privada inversa d es que exista el inverso de e en Φ(n), es decir d = inv [e, Φ(n)], y por tanto es necesario que mcd [e, Φ(n)] = 1, dado que 1 < e < Φ(n) entonces podríamos elegir cualquier número dentro de este rango que cumpla con esa condición de primalidad.

No obstante, en el apartado anterior ya hemos visto que es recomendable usar un valor pequeño como clave pública. De hecho, valores típicos suelen ser los números 3, 17 y 65.537 puesto que, además, tienen sólo dos bits iguales a 1 en su representación binaria, que como veremos en este apartado tendrá importancia en la eficiencia del cómputo.

Alg2_3

2.4. ¿Qué pasaría si usamos cualquier valor válido de e?

Como hemos visto en el apartado anterior, el valor universal para la clave pública de e es F4, pero en el algoritmo RSA se podría usar en principio cualquier valor de e que estuviese comprendido entre 3 y Φ(n) – 2.

Si una clave pública e válida, es decir que tiene su inverso en Φ(n), fuese un valor muy alto y cercano al cuerpo de cifra n, se podría obtener una clave privada extremadamente pequeña cuyo ataque por fuerza bruta sería trivial.

Lo anterior nos comprueba que no debe dejarse que el usuario genere la clave pública e de forma aleatoria dentro del rango permitido, pues la clave privada d podría ser un número muy pequeño y por tanto fácil de romper mediante un simple ataque por fuerza bruta.

En la figura se muestra este efecto no deseado por la mala elección de la clave pública. Profundizaremos en ello en la Lección 6.

Alg2_4

2.5. Aspectos a tener en cuenta en la elección de los primos p y q

Los primos p y q deben ser ambos números grandes. Eso resulta obvio una vez hemos comprobado en la lección anterior el problema de la factorización entera. Pero, ¿por qué no pueden ser los primos p y q iguales? ¿Algo lo prohíbe?

Además de las características que deberían cumplir los primos p y q, como también la clave pública e en el diseño de una clave RSA, en siguientes lecciones veremos que será recomendable usar primos seguros para generar claves RSA que llamaremos óptimas.

 

 

En próximas lecciones nos centraremos en dos aspectos interesantes de las claves RSA, las claves privadas parejas, las claves públicas parejas y los mensajes o números no cifrables, en donde los primos seguros jugarán un papel importante.

Accede a la lección completa en el Aula Virtual Crypt4you de la UPM

Crypt4you es un nuevo formato de enseñanza en seguridad de la información, masiva, online y gratuita. Un MOOC, Massive Open Online Course, que nace en marzo de 2012 dentro la Red Temática de Criptografía y Seguridad de la Información Criptored, en la Universidad Politécnica de Madrid, España. El objetivo de Crypt4you es convertirse en el Aula Virtual de referencia de seguridad de la información en lengua hispana.


Compartir en :


Noticias relacionadas




Comentarios