
Introducción al Cifrado RSA: El Pilar de la Criptografía Asimétrica
Durante milenios, el mayor problema de la criptografía fue la distribución segura de claves: para comunicarse en secreto, emisor y receptor debían compartir previamente una misma clave privada. En 1977, el cifrado RSA revolucionó el mundo digital al consolidar la criptografía de clave pública (o asimétrica). A diferencia de los sistemas simétricos, RSA utiliza un par de claves matemáticamente vinculadas: una clave pública para cifrar (que puede compartirse abiertamente) y una clave privada para descifrar (que solo conoce el receptor). Este avance resolvió el dilema del intercambio de claves y sentó las bases de la seguridad en Internet, el comercio electrónico y las firmas digitales modernas.
Origen y Contexto Histórico
El algoritmo RSA debe sus siglas a sus creadores en el Instituto Tecnológico de Massachusetts (MIT): Ron Rivest, Adi Shamir y Leonard Adleman, quienes lo publicaron formalmente en 1977. La idea germinal de la criptografía asimétrica había sido conceptualizada un año antes por Whitfield Diffie y Martin Hellman, pero fue el trío del MIT el que logró diseñar una función trampilla unidireccional práctica basada en la dificultad matemática de la factorización de enteros.
Décadas más tarde se reveló que en 1973 el matemático británico Clifford Cocks, trabajando para el Cuartel General de Comunicaciones del Gobierno del Reino Unido (GCHQ), había desarrollado un sistema equivalente. Sin embargo, su hallazgo se mantuvo como secreto de estado y no tuvo impacto en el desarrollo civil. La fortaleza de RSA radica en el Problema de Factorización Entera: mientras que multiplicar dos números primos grandes es computacionalmente instantáneo, revertir el proceso y encontrar esos factores primos a partir del producto es prácticamente imposible para supercomputadores con las longitudes de clave actuales (2048 a 4090 bits).
¿Cómo Funciona? (Fundamentos y Lógica)
El principio operativo de RSA se apoya en la aritmética modular y en el Teorema de Euler. La seguridad del sistema parte de la elección de dos números primos grandes $p$ y $q$, cuyo producto genera el módulo $n = p \cdot q$.
Matemáticamente, dado un mensaje numérico M (donde 0 ≤ M < n), la función de cifrado mediante la clave pública (e, n) genera el texto cifrado C según la fórmula:
Donde:
- M es el mensaje original convertido a representación numérica.
- e es el exponente público de cifrado (coprimo con φ(n)).
- n es el módulo público, resultado del producto de los primos secretos p y q.
Ejemplo práctico guiado (con valores numéricos reducidos):
Si deseamos cifrar un mensaje con valor numérico «M = 12» mediante el algoritmo RSA:
1. Generación de claves: Seleccionamos los primos $p = 61$ y $q = 53$. Calculamos $n = 61 \times 53 = 3233$ y $\phi(n) = (61 – 1)(53 – 1) = 3120$.
2. Elegimos un exponente público $e = 17$ (coprimo con 3120). La clave pública es $(e=17, n=3233)$.
3. Calculamos la clave privada $d$ tal que $d \cdot e \equiv 1 \pmod{\phi(n)}$, obteniendo $d = 2753$. La clave privada es $(d=2753, n=3233)$.
4. Cifrado del mensaje:
– $C = M^e \pmod n \implies C = 12^{17} \pmod{3233}$
– Tras la exponenciación modular: $C = \mathbf{1537}$.
5. Descifrado del mensaje:
– $M = C^d \pmod n \implies M = 1537^{2753} \pmod{3233} = \mathbf{12}$.
6. El receptor recupera el mensaje original $M = 12$ utilizando su clave privada exclusiva $d$.
Diagrama Visual del Proceso
Diagrama del Proceso: Cifrado Asimétrico (RSA)
Características Principales, Ventajas y Vulnerabilidades
Características principales:
- Asimetría de claves: Emplea dos claves distintas; la pública es utilizable por cualquiera para cifrar y la privada se mantiene en secreto estricto para descifrar.
- Soporte para Firma Digital: Si se invierte el orden de las operaciones (cifrado con clave privada), RSA permite autenticar la autoría e integridad de un mensaje.
- Costo computacional elevado: Las operaciones matematicas con enteros de miles de bits requieren un procesamiento significativamente mayor que los cifrados simétricos como AES.
Ventajas históricas y prácticas:
- Eliminación total del canal seguro previo para compartir claves compartidas entre partes desconocidas.
- Extremadamente flexible: sirve como base para cifrado de claves de sesión (sistemas híbridos) y protocolos de autenticación en TLS/SSL y SSH.
Vulnerabilidades y criptoanálisis:
- Ataques de factorización (Algoritmos GNFS): Los avances en la Criba General sobre el Cuerpo de Números permiten factorizar claves cortas. Claves de 512 bits y 768 bits han sido rotas; hoy se exigen longitudes mínimas de 2048 o 4090 bits.
- Ataques por texto claro escogido y relleno (Padding): RSA es determinista sin esquemas de relleno. Sin esquemas como OAEP (Optimal Asymmetric Encryption Padding), es vulnerable a ataques de retransmisión y análisis estructural.
- Amenaza Cuantica (Algoritmo de Shor): El desarrollo de ordenadores cuánticos suficientes permitirá ejecutar el Algoritmo de Shor para factorizar $n$ en tiempo polinómico, lo que romperá definitivamente la seguridad de RSA y obligará a la migración hacia la Criptografía Post-Cuántica (PQC).
Experimenta en Vivo
CIFRADO RSA
Genera tus propios pares de primos, calcula exponentes de cifrado/descifrado y experimenta con la exponenciación modular paso a paso en tiempo real.
- Rivest, R. L., Shamir, A., & Adleman, L. (1978): A Method for Obtaining Digital Signatures and Public-Key Cryptosystems. Communications of the ACM, 21(2), 120-126. Publicación académica original donde se formaliza el algoritmo RSA.
- Diffie, W., & Hellman, M. (1976): New Directions in Cryptography. IEEE Transactions on Information Theory, 22(6), 644-654. Artículo pionero que introdujo el concepto de criptografía de clave pública.
- Koblitz, N. (1994): A Course in Number Theory and Cryptography. Springer. Texto académico sobre las bases matemáticas de RSA, el Test de Primalidad y la exponenciación modular.
