Dr. Jorge Ramió Aguirre

Los 4 apartados de esta cuarta lección están dedicados al análisis de las denominadas claves privadas parejas y claves públicas parejas en RSA, números distintos a aquellos pero que, sin embargo, realizan la misma función. ¿Puede ser esto un motivo de preocupación?

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.

IMPORTANTE: Aunque existe un enlace directo a cada ejercicio y práctica de esta lección, éstos se encuentran todos juntos en el documento anexo [PDF-Ejercicios-Prácticas RSA04] de esta lección, que te recomiendo lo descargues e imprimas ahora mismo.

Recuerda que el tiempo máximo recomendado para el seguimiento de esta lección, la realización de sus prácticas y ejercicios, así como la búsqueda de información en la red sobre los temas abiertos planteados al final de cada apartado, es de dos semanas.

Temario

Objetivos

Software que vas a utilizar en esta lección


APARTADO 4.1. ¿QUE SON LAS CLAVES PRIVADAS PAREJAS

Cuando generamos una clave RSA, usamos como trampa el indicador de Euler Φ(n) para calcular la clave privada d a partir del conocimiento de la clave pública e. Puesto que mcd [e, Φ(n)] = 1, se asegura que el inverso d existe y que, además, es el único inverso de la clave pública e en ese cuerpo Φ(n).

No obstante, como es lógico, la cifra se hace posteriormente en el cuerpo público n para que todo el mundo pueda utilizarlo. Y en dicho cuerpo n ya no se cumple que el único inverso de la clave pública e sea la clave privada d. Verás que hay al menos otro valor diferente a d que cumple las mismas funciones y que, por tanto, permite descifrar lo cifrado con la clave pública. A estas claves se les llama Claves Privadas Parejas o de forma abreviada CPP.

Esto es algo en principio inesperado porque normalmente siempre se ha dicho que un sistema de cifra asimétrico, como lo es RSA, tiene una única clave pública y, por lo tanto, también una única clave privada. Esto es falso.

Vamos a explicarlo con un sencillo ejemplo, que podrás comprobar fácilmente usando por ejemplo la calculadora de Windows.

Sea una clave RSA con p = 37, q = 41, n = 1.517, Φ(n) = 1.440, e = 13, d = 997. Vamos a cifrar el valor 1.001 con la clave pública e = 13 y luego descifrar el criptograma con la clave privada d = 997.

Cifrado con e = 13: 1.00113 mod 1.517 = 1.088 Descifrado con d = 997: 1.088997 mod 1.517 = 1.001. Se ha recuperado el secreto. Pero si usamos los números 277, 637 y 1.357 como si fuesen la clave privada d, obtenemos lo siguiente: Descifrado con d' = 277: 1.088277 mod 1.517 = 1.001 Descifrado con d' = 637: 1.088637 mod 1.517 = 1.001 Descifrado con d' = 1.357: 1.0881.357 mod 1.517 = 1.001 ... ¡también se ha recuperado el texto en claro o secreto!

Lo que ha sucedido en el ejemplo anterior es que en el cuerpo de cifra n = 1.517 con una clave pública e = 13, los valores 277, 637 y 1.357 son claves privadas parejas (CPP) d' que hacen la misma función que la clave privada d = 997.

Las tres claves privadas parejas de la clave RSA del ejemplo
En la prácticaRSA4.1.1 comprobarás con el software genRSA y con ExpoCrip que esos tres valores son las claves privadas parejas de dicha clave RSA.

Toda clave RSA tendrá como mínimo una clave privada pareja. Como podrás comprobar, la cantidad de claves privadas parejas dependerá fuertemente de los primos p y q, siendo las ecuaciones que nos entregan este valor de CPP las que se aprecian en la siguiente diapositiva.

Cálculo de las claves privadas parejas en RSA
Lección 1. Los principios del algoritmo RSA →← Libros y uniformes usados una buena solución para cuando empiezan las clases