Resumen RSA
Aldo Luna Bueno
Curso: Seguridad y Sistemas Informáticos
RSA es un sistema criptográfico que resuelve el problema de la comunicación segura a distancia
entre dos partes de una forma muy práctica, sin la necesidad de interacciones previas. Define un
procedimiento público de encriptación (E) y un procedimiento secreto de desencriptación (D). Para
que Alice envı́e un mensaje M a Bob siguiendo RSA, él debe publicar el procedimiento E, y luego de
que Alice lo aplique y obtenga el resultado E(M ) = C (el mensaje cifrado), se lo envı́a a Bob para
que le aplique el procedimiento inverso D y recupere el mensaje original D(C) = M . La seguridad
del sistema RSA se basa en que E es fácil de calcular, pero revertirlo es extremadamente difı́cil sin
conocer D.
Entrando más en detalle, E(M ) es calcular la potencia M e y hallar el resto de dividir por n:
e
M ≡ C (mod n), con 0 ≤ M < n. ¿Qué es n? Esta es la clave de RSA: n es el producto de dos
primos p y q secretos. Todos conocen n, pero no los primos que lo componen, y encontrarlos es el
problema de la factorización, problema intratable computacionalmente. Si escogemos dos primos muy
grandes y un exponente e adecuado primo relativo con φ(n) (función totiente o phi de Euler), el resto
C calculado dice tanto sobre M como las cenizas de una fogata sobre la forma de los troncos que
una vez fueron. Entonces, el procedimiento E lo puede aplicar cualquiera conociendo el par (e, n) que
publica Bob, llamado clave pública.
Ahora que Bob recibió C (el mensaje cifrado), D(C) es calcular la potencia C d y hallar el resto
de dividir por n: C d ≡ M (mod n). El valor d es tal que ed ≡ 1 (mod φ(n)), y el par (d, n) es
llamado clave privada, la que Bob debe guardar en secreto solo para él. Cabe mencionar que en
el texto original de RSA se calcula un d aleatorio grande primero, pero lo que se hace actualmente
(RFC 8017) es fijar un e adecuado como e = 65537 = 10000000000000001(2) , con pocos unos en binario.
La razón subyacente por la que D(E(M )) ≡ M (mod n) es la identidad Euler-Fermat y algunas
propiedades de los primos y φ(n) en la aritmética modular:
• Identidad Euler-Fermat: M φ(n) ≡ 1 (mod n), con mcd(M, n) = 1
• Clave de RSA: n = pq, con p y q primos
• Función totiente para un primo: φ(p) = p − 1
• Función totiente para un producto: φ(n) = φ(p)φ(q)
• Si a ≡ b (mod m), entonces ak ≡ bk (mod m)
• Teorema Chino del Resto: si M ed ≡ M (mod p) y M ed ≡ M (mod q), entonces M ed ≡ M
(mod n)
Dado que E y D son inversos perfectos, Bob también puede hacer de remitente y aplicar su
procedimiento secreto D a un mensaje para ”firmarlo”, y Alice o cualquiera puede aplicar el procedimiento
público E para verificar que el mensaje no fue falsificado. Esta es la base de las firmas digitales.