En este artículo
Entendiendo el cifrado RSA
RSA es uno de los algoritmos fundamentales de criptografia de clave publica, utilizado para asegurar todo, desde el trafico web hasta el cifrado de correo electronico y las firmas digitales. Funciona generando dos claves matematicamente vinculadas — una clave publica que cualquiera puede usar para cifrar datos o verificar firmas, y una clave privada que solo el propietario usa para descifrar datos o crear firmas. La seguridad se basa en la dificultad matematica de factorizar el producto de dos numeros primos muy grandes.
A pesar de la aparicion de algoritmos mas nuevos como la criptografia de curva eliptica, RSA sigue siendo esencial en muchos sistemas. Es el algoritmo de firma predeterminado para los certificados X.509 usados en HTTPS, un algoritmo requerido en muchos marcos de cumplimiento y la unica opcion soportada por algunos sistemas heredados. Entender la generacion de claves RSA te ayuda a tomar decisiones informadas sobre tamanos de clave, formatos de salida y donde se aplican diferentes algoritmos en tu infraestructura de seguridad.
Como usar el generador de claves RSA
El generador de claves RSA de CheckTown crea pares de claves en tu navegador usando la Web Crypto API para generacion segura del lado del cliente.
- Selecciona el tamano de tu clave — 2048 bits (minimo recomendado), 3072 bits (bueno para la mayoria de los usos) o 4096 bits (mayor seguridad, operaciones mas lentas)
- Elige tu formato de salida — PEM (codificado en Base64, ampliamente usado en servidores web y OpenSSL) o JWK (formato JSON, comun en APIs web y bibliotecas JWT)
- Haz clic en Generar para crear tu par de claves — la clave privada y la clave publica aparecen en sus respectivos campos
- Copia o descarga las claves — usa la clave publica para cifrado o verificacion, y almacena la clave privada de forma segura para descifrado o firma
Pruébalo gratis — sin registro
Generar claves RSA →Tamano de clave RSA y seguridad
Elegir el tamano de clave RSA correcto equilibra la fortaleza de seguridad contra el rendimiento. Las claves mas grandes son mas seguras pero mas lentas para operaciones de cifrado y firma.
- 2048 bits es el minimo actual recomendado por NIST y la mayoria de los estandares de la industria — proporciona seguridad adecuada hasta aproximadamente 2030 pero debe considerarse una linea base, no una opcion a largo plazo
- 3072 bits es recomendado para sistemas que necesitan permanecer seguros mas alla de 2030 — proporciona un nivel de seguridad equivalente a 128 bits y es el punto ideal para la mayoria de los nuevos despliegues
- 4096 bits proporciona el nivel de seguridad RSA mas alto y es recomendado para autoridades de certificacion, claves de firma de larga duracion y sistemas de alto valor donde el costo de rendimiento de claves mas grandes es aceptable
Preguntas frecuentes
Cual es la diferencia entre formato PEM y JWK?
PEM (Privacy Enhanced Mail) es un formato codificado en Base64 envuelto en lineas de encabezado y pie como BEGIN PUBLIC KEY y END PUBLIC KEY. Es el formato estandar para OpenSSL, servidores web y autoridades de certificacion. JWK (JSON Web Key) representa la clave como un objeto JSON con campos nombrados para cada componente matematico. Se usa en aplicaciones web, sistemas OAuth y firma de tokens JWT donde JSON es el formato de datos nativo.
RSA sigue siendo seguro de usar?
Si, RSA con tamanos de clave apropiados sigue siendo seguro para el uso actual. Sin embargo, es importante usar al menos 2048 bits, y se prefiere 3072 o 4096 bits para nuevos sistemas. RSA eventualmente sera vulnerable a las computadoras cuanticas que ejecuten el algoritmo de Shor, pero no se esperan computadoras cuanticas practicas capaces de romper RSA durante al menos una decada. Para nuevos proyectos sin restricciones heredadas, considera algoritmos de curva eliptica como Ed25519 que ofrecen seguridad equivalente con claves mas pequenas.
Puedo usar las claves generadas para firmar JWT?
Si. Las claves RSA se usan ampliamente para firmar y verificar JSON Web Tokens. Usa los algoritmos RS256, RS384 o RS512 (RSA con SHA-256, SHA-384 o SHA-512 respectivamente). La clave privada firma el token en tu servidor, y la clave publica se puede compartir con cualquier servicio que necesite verificar el token. El formato de salida JWK es particularmente conveniente para bibliotecas JWT ya que la mayoria acepta claves directamente en formato JWK.