Generador de Claves RSA - RSA y Ed25519 en Línea
Genere pares de claves RSA (2048/4096 bits) y Ed25519 en su navegador. Exporte en formato PEM o JWK — 100% del lado del cliente, sin servidor.
Preguntas Frecuentes
¿Qué es un generador de pares de claves RSA?
Un generador de pares de claves RSA crea un par de claves criptográficas matemáticamente vinculadas — una clave pública y una clave privada — utilizando el algoritmo RSA. La clave pública cifra datos o verifica firmas, mientras que la clave privada descifra datos o crea firmas. Esta herramienta utiliza la API Web Crypto nativa del navegador para generar claves de forma segura sin enviar datos a ningún servidor.
¿Cómo uso esta herramienta?
Seleccione su algoritmo (RSA-2048, RSA-4096 o Ed25519), elija el formato de salida (PEM o JWK) y haga clic en 'Generar par de claves'. La herramienta genera ambas claves instantáneamente en su navegador. Copie cualquier clave usando el botón de copiar o descárguela como archivo .pem. Guarde su clave privada de forma segura y nunca la comparta.
¿Son seguros mis datos de clave? ¿Se envían a un servidor?
Sus datos de clave están 100% seguros y nunca salen de su navegador. Esta herramienta utiliza la API Web Crypto (crypto.subtle.generateKey) para generar claves completamente en su dispositivo — el mismo motor criptográfico utilizado para conexiones HTTPS/TLS. No se transmite ningún material de clave a ningún servidor.
¿Cuál es la diferencia entre RSA y Ed25519?
RSA es un algoritmo ampliamente utilizado que soporta cifrado y firma con tamaños de clave de 2048-4096 bits. Ed25519 es un algoritmo moderno de curva elíptica que solo soporta firma/verificación pero ofrece claves más pequeñas (256 bits), operaciones más rápidas y seguridad equivalente a RSA-3072. Ed25519 es recomendado por GitHub y GitLab para autenticación SSH.
¿Qué son los formatos PEM y JWK?
PEM es un formato basado en texto que envuelve datos de clave codificados en Base64 entre marcadores de encabezado/pie como '-----BEGIN PRIVATE KEY-----'. Es el estándar para SSH, OpenSSL y certificados TLS. JWK (JSON Web Key) es un formato basado en JSON definido en RFC 7517, utilizado comúnmente en aplicaciones web, bibliotecas JWT y proveedores OAuth/OIDC.
¿Puedo usar las claves generadas para autenticación SSH?
Sí, con algunas consideraciones. Esta herramienta genera claves en formato PEM PKCS#8/SPKI. OpenSSH moderno soporta PKCS#8 PEM directamente — guarde la clave privada en un archivo con permisos chmod 600 y use 'ssh -i key.pem usuario@host'. Para convertir al formato nativo de OpenSSH, use 'ssh-keygen -p -m pem -f key.pem'.
Ejemplos de Código
// RSA-2048 Key Pair Generation (Web Crypto API)
async function generateRSAKeyPair(bits = 2048) {
const keyPair = await crypto.subtle.generateKey(
{
name: 'RSA-OAEP',
modulusLength: bits,
publicExponent: new Uint8Array([1, 0, 1]),
hash: 'SHA-256',
},
true,
['encrypt', 'decrypt']
);
const privDer = await crypto.subtle.exportKey('pkcs8', keyPair.privateKey);
const pubDer = await crypto.subtle.exportKey('spki', keyPair.publicKey);
const toPem = (der, label) => {
const b64 = btoa(String.fromCharCode(...new Uint8Array(der)));
const lines = b64.match(/.{1,64}/g).join('\n');
return `-----BEGIN ${label}-----\n${lines}\n-----END ${label}-----`;
};
console.log(toPem(privDer, 'PRIVATE KEY'));
console.log(toPem(pubDer, 'PUBLIC KEY'));
}
generateRSAKeyPair();