CommandDialog

Command dialog

Generador de pares de claves RSA

Genere pares de claves RSA (formato PEM) con longitud de clave de hasta 4096 bits. Todas las operaciones se realizan en su navegador; su clave privada nunca abandona su dispositivo.

Herramientas relacionadas

Ver más

¿Qué es un Generador de Pares de Claves RSA?

En el panorama digital actual, la seguridad de los datos y la protección de la privacidad se han convertido en prioridades fundamentales tanto para desarrolladores como para organizaciones. Ya sea configurando el acceso SSH, autenticándose con GitHub o creando software de comunicación cifrada, un par de claves RSA seguro y confiable es un requisito básico.

Nuestro Generador de Pares de Claves RSA es una herramienta que utiliza el algoritmo RSA para generar un par de claves matemáticamente relacionadas: una Clave Pública y una Clave Privada. Está diseñado para ofrecer una experiencia de generación de RSA en línea rápida, gratuita y altamente segura, compatible con tamaños de clave de grado industrial de 1024, 2048 y hasta 4096 bits.

  • Clave Pública: Se puede compartir con cualquiera y se utiliza para cifrar datos o verificar firmas digitales.
  • Clave Privada: Debe mantenerse estrictamente confidencial y se utiliza para descifrar datos cifrados con la clave pública o para crear firmas digitales.

Este mecanismo se conoce como Cifrado Asimétrico y forma la base de los protocolos de seguridad modernos de Internet, como HTTPS/TLS, SSL y SSH.

¿Cómo Funciona el Algoritmo RSA?

RSA se basa en un principio fundamental de la teoría de números: multiplicar dos números primos muy grandes es computacionalmente fácil, pero factorizar su producto de nuevo en los primos originales (el problema de la factorización de enteros grandes) es extremadamente difícil con la capacidad de cómputo actual. Los pasos centrales son los siguientes:

1. Elección de los Números Primos Base

Seleccionar aleatoriamente dos números primos distintos y muy grandes, denotados como pp y qq.

2. Cálculo del Módulo y la Función φ de Euler

  • Calcular el módulo nn: La longitud binaria de nn determina el tamaño de la clave (por ejemplo, 2048 bits). El valor de nn es público y se calcula como:

    n=p×qn = p \times q
  • Calcular ϕ(n)\phi(n): Según la función φ de Euler, cuando nn es el producto de dos primos:

    ϕ(n)=(p1)(q1)\phi(n) = (p - 1)(q - 1)

3. Seleccionar el Exponente de Cifrado ee

Elegir un entero ee tal que 1<e<ϕ(n)1 < e < \phi(n) y ee sea coprimo con ϕ(n)\phi(n). En la práctica, para optimizar el rendimiento del cifrado, ee se suele establecer comúnmente en el valor fijo 6553765537.

4. Calcular el Exponente de Descifrado dd

Calcular dd como el inverso multiplicativo modular de ee, que satisface la siguiente congruencia:

ed1(modϕ(n))e \cdot d \equiv 1 \pmod{\phi(n)}

Esto significa que (ed1)(e \cdot d - 1) es divisible por ϕ(n)\phi(n). El valor dd es el componente central de la clave privada: solo quien posea dd puede descifrar datos cifrados con ee. Por lo tanto, dd debe mantenerse estrictamente confidencial.

5. Formar el Par de Claves

En este punto, todos los parámetros esenciales están disponibles:

  • Clave Pública: (n,e)(n, e)
  • Clave Privada: (n,d)(n, d)

6. Fórmulas de Cifrado y Descifrado

Una vez generado el par de claves, la transmisión segura de datos sigue estas reglas:

  • Cifrado: Convertir el texto plano MM en texto cifrado CC:

    C=Me(modn)C = M^e \pmod n
  • Descifrado: Recuperar el texto plano MM a partir del texto cifrado CC:

    M=Cd(modn)M = C^d \pmod n

¿Por qué usar el Cifrado RSA?

  1. Alta Seguridad: Con un tamaño de clave suficientemente grande (se recomiendan 2048 bits o más), se considera inviable romper RSA en un plazo de tiempo práctico, incluso para supercomputadoras modernas.
  2. No se Requiere un Secreto Compartido: A diferencia del cifrado simétrico, RSA no requiere que las partes intercambien una clave secreta de antemano, reduciendo significativamente el riesgo de fuga de claves.
  3. Autenticación e Integridad: El titular de la clave privada puede probar su identidad a través de firmas digitales, que los destinatarios pueden verificar utilizando la clave pública para asegurar que los datos no han sido manipulados.

¿Por qué elegir nuestro Generador de RSA en línea?

Al seleccionar una herramienta en línea, la seguridad es la preocupación principal. Nuestra solución ofrece varias ventajas claras:

Seguridad y Privacidad Primero

Tu clave privada nunca sale de tu dispositivo. Muchas herramientas en línea generan claves en un servidor, lo que significa que el operador del servidor podría potencialmente acceder a tu clave privada. En contraste, todas las operaciones criptográficas en nuestra herramienta se realizan localmente en tu navegador y nunca se suben a ningún servidor, eliminando efectivamente el riesgo de fuga de la clave privada.

Múltiples Opciones de Longitud de Clave

  • 1024 bits: Adecuado para sistemas heredados con requisitos de seguridad bajos (no recomendado para datos sensibles).
  • 2048 bits: El estándar actual de la industria, equilibrando una seguridad fuerte con un buen rendimiento.
  • 4096 bits: Cifrado extremadamente fuerte, ideal para almacenamiento a largo plazo o entornos con requisitos de seguridad estrictos.

Salida PEM Estándar

Las claves generadas cumplen con los estándares PKCS#1 o PKCS#8 y son totalmente compatibles con OpenSSH, OpenSSL, Java, Python, Go y otros entornos de desarrollo. Se pueden usar directamente como archivos .pem o .key.

Listo para Usar, Actualización con un Clic

Un par de claves se genera automáticamente tan pronto como se carga la página. Si deseas uno nuevo, simplemente haz clic en el botón “Actualizar” para regenerarlo al instante, sin necesidad de configuración.

Cómo Generar Claves con Esta Herramienta

Generar un par de claves toma solo tres pasos simples:

  1. Selecciona la longitud de la clave: Elige el tamaño deseado del menú desplegable (el valor por defecto es 2048 bits).
  2. Visualiza los resultados: La página calcula y muestra automáticamente la clave privada y la clave pública generadas. También puedes hacer clic en “Actualizar” para generar un nuevo par.
  3. Copia o descarga: Usa el ícono “Copiar” o el botón “Descargar” para guardar las claves en tu máquina local.

Consejo de Seguridad: Mantén siempre tu clave privada segura. Nunca la compartas con nadie ni la subas a repositorios de código públicos como GitHub.

Mejor Práctica: Cifrado Híbrido

En aplicaciones del mundo real, RSA implica una exponenciación de enteros grandes costosa y, por lo tanto, normalmente no se usa para cifrar grandes cantidades de datos directamente. En su lugar, la mejor práctica de la industria sigue un enfoque de cifrado híbrido:

  1. Cifra los datos simétricamente: Genera una clave simétrica aleatoria y utiliza un algoritmo simétrico rápido (como AES) para cifrar grandes volúmenes de datos en texto plano.
  2. Cifra la clave simétrica: Utiliza la clave pública RSA del destinatario para cifrar la clave simétrica.
  3. Envía el paquete: Transmite tanto los datos cifrados como la clave simétrica cifrada con RSA juntos.
  4. Descifra al recibir: El destinatario primero descifra la clave simétrica usando su clave privada RSA y luego usa esa clave para descifrar los datos.

Este enfoque combina la fuerte seguridad de RSA con la alta eficiencia de AES.

Preguntas frecuentes

¿Cuál es la diferencia entre claves de 2048 bits y 4096 bits?

Una clave de 4096 bits es más segura que una de 2048 bits, pero las operaciones de cifrado y descifrado son más lentas. Actualmente, las claves de 2048 bits se consideran suficientemente seguras para la mayoría de los casos de uso, a menos que tenga requisitos de cumplimiento o seguridad muy estrictos.

¿Se puede romper hoy en día una clave de 2048 bits?

Con la potencia informática clásica actual, una clave RSA de 2048 bits se considera extremadamente segura. Romperla requeriría una cantidad astronómicamente grande de tiempo de cómputo.

¿Por qué se considera seguro generar una clave privada en línea aquí?

Generalmente se desaconseja generar claves en línea, pero nuestra herramienta utiliza la API Web Crypto para realizar todas las operaciones localmente en su navegador. No se envían datos al servidor, lo que ofrece una seguridad equivalente a ejecutar comandos en una terminal local.

¿Puedo usar las claves generadas para iniciar sesión por SSH?

Sí. Simplemente añada la clave pública al archivo ~/.ssh/authorized_keys del servidor y guarde la clave privada de forma segura en su máquina local.

¿Qué significa el formato PEM generado?

PEM (Privacy Enhanced Mail) es un formato basado en texto que codifica los datos binarios de la clave mediante Base64, lo que facilita su visualización, copia y gestión con editores de texto estándar.

¿Qué ocurre si pierdo mi clave privada?

Una clave privada perdida no se puede recuperar. Debido a la naturaleza unidireccional de RSA, es imposible derivar la clave privada a partir de la clave pública. Deberá generar un nuevo par de claves y reemplazar la clave pública asociada.

¿Por qué mi clave privada es mucho más larga que la clave pública?

La clave privada contiene el módulo n, el exponente público e, el exponente privado d y parámetros adicionales como p y q, utilizados para acelerar los cálculos. La clave pública normalmente incluye solo n y e, por lo que es mucho más corta.

¿Puedo generar claves directamente desde la línea de comandos?

Sí. Puede ejecutar localmente el comando “openssl genrsa -out private.pem 2048”. Esta herramienta ofrece una seguridad equivalente con mayor comodidad.