RSA es un algoritmo de criptografía asimétrica basado en la dificultad matemática de factorizar números enteros grandes.
¿Qué es RSA?
RSA utiliza un par de claves (pública y privada) donde la clave pública se puede compartir libremente, mientras que la clave privada debe mantenerse secreta.
Fundamentos Matemáticos
Generación de Claves
- Elegir primos: Seleccionar dos números primos grandes p y q
- Calcular n: n = p × q (módulo)
- Calcular φ(n): φ(n) = (p-1) × (q-1) (función de Euler)
- Elegir e: e tal que 1 < e < φ(n) y gcd(e, φ(n)) = 1
- Calcular d: d tal que (e × d) mod φ(n) = 1
Claves Resultantes
- Clave pública: (n, e)
- Clave privada: (n, d)
Operaciones
Cifrado
Donde:
- C = texto cifrado
- M = mensaje original
- e = exponente público
- n = módulo
Descifrado
Donde:
- M = mensaje descifrado
- C = texto cifrado
- d = exponente privado
- n = módulo
Implementación
Generación de Claves
Cifrado con Clave Pública
Descifrado con Clave Privada
Firmas Digitales
Tamaños de Clave
Recomendaciones Actuales
- 1024 bits: Obsoleto, no recomendado
- 2048 bits: Mínimo recomendado actualmente
- 3072 bits: Recomendado para aplicaciones críticas
- 4096 bits: Para máxima seguridad
Consideraciones
- Rendimiento: Claves más grandes = más lento
- Seguridad: Claves más grandes = más seguro
- Compatibilidad: Verificar soporte del sistema
Aplicaciones
Cifrado de Datos
- Cifrado híbrido: RSA + AES
- Intercambio de claves: Establecer claves simétricas
- Cifrado de archivos: Archivos sensibles
- Comunicaciones: Canales seguros
Autenticación
- Firmas digitales: Verificar identidad
- Certificados digitales: Infraestructura PKI
- Login seguro: Autenticación sin contraseña
- Integridad: Verificar no modificación
Protocolos
- TLS/SSL: Handshake y autenticación
- SSH: Autenticación de servidores
- PGP/GPG: Cifrado de correo
- S/MIME: Correo electrónico seguro
Seguridad
Fortalezas
- Factorización: Dificultad matemática probada
- Estándar: Ampliamente implementado
- Flexible: Múltiples aplicaciones
- Maduro: Años de análisis
Vulnerabilidades
- Factorización: Avances en algoritmos
- Implementación: Errores de programación
- Side-channel: Ataques de canal lateral
- Timing attacks: Ataques de tiempo
Mejores Prácticas
- Tamaño de clave: Usar al menos 2048 bits
- Padding: Usar OAEP para cifrado
- Generación: Usar generadores seguros
- Almacenamiento: Proteger claves privadas
Comparación con Otros Algoritmos
RSA vs ECC
- RSA: Más maduro, claves más grandes
- ECC: Más eficiente, claves más pequeñas
- Rendimiento: ECC generalmente más rápido
- Seguridad: Ambos son seguros cuando se implementan correctamente
RSA vs AES
- RSA: Asimétrico, intercambio de claves
- AES: Simétrico, cifrado de datos
- Uso conjunto: RSA para claves, AES para datos
- Híbrido: Combinación común en aplicaciones
Rendimiento
Operaciones Costosas
- Generación de claves: Muy lenta
- Cifrado/Descifrado: Moderadamente lenta
- Firmas: Moderadamente lenta
- Verificación: Relativamente rápida
Optimizaciones
- Hardware: Aceleradores criptográficos
- Software: Implementaciones optimizadas
- Caché: Reutilizar claves generadas
- Híbrido: RSA + AES para eficiencia
Mejores Prácticas
Generación de Claves
- Tamaño: Usar al menos 2048 bits
- Primos: Usar generadores seguros
- Validación: Verificar propiedades matemáticas
- Almacenamiento: Proteger claves privadas
Implementación
- Padding: Usar OAEP para cifrado
- Firmas: Usar PSS para firmas
- Librerías: Usar librerías probadas
- Testing: Probar implementaciones
Gestión
- Rotación: Rotar claves regularmente
- Backup: Respaldar claves de forma segura
- Revocación: Revocar claves comprometidas
- Auditoría: Registrar uso de claves
Conceptos Relacionados
- AES - Algoritmo simétrico que complementa RSA
- PKI - Infraestructura que gestiona claves RSA
- TLS/SSL - Protocolo que utiliza RSA
- Funciones Hash - Algoritmos que complementan RSA
- CISO - Rol que supervisa implementación de RSA
- Ciberseguridad General - Disciplina que incluye RSA
- Brechas de seguridad - Incidentes que afectan RSA
- Vectores de ataque - Ataques contra implementaciones RSA
- Incident Response - Proceso que incluye RSA
- SIEM - Sistema que monitorea uso de RSA
- SOAR - Automatización que gestiona RSA
- EDR - Herramienta que protege implementaciones RSA
- Firewall - Dispositivo que puede inspeccionar RSA
- VPN - Conexión que utiliza RSA
- Dashboards - Visualización de métricas RSA
- Registros - Logs de operaciones RSA