Criptografía de Clave Pública: RSA y Curva Elíptica
📂 Ciberseguridad

Criptografía de Clave Pública: RSA y Curva Elíptica

⏱ Lectura: 14 min 📅 Publicado: 09/03/2026

💡 El Tip Rápido

Dato clave: La criptografía asimétrica es la base de HTTPS y de las firmas digitales modernas.

Fundamentos de la Criptografía Asimétrica

La criptografía de clave pública, también conocida como asimétrica, revolucionó la seguridad digital al resolver el problema del intercambio de claves. A diferencia de la criptografía simétrica, donde emisor y receptor comparten la misma contraseña, los sistemas asimétricos utilizan un par de claves matemáticamente relacionadas: una clave pública (que se puede compartir con todo el mundo) y una clave privada (que debe permanecer secreta).

El Algoritmo RSA: Aritmética Modular

El algoritmo RSA (Rivest-Shamir-Adleman) se basa en la dificultad práctica de factorizar números enteros grandes que son producto de dos números primos.

  • Cifrado: Cualquiera puede usar tu clave pública para cifrar un mensaje.
  • Descifrado: Solo tú, poseedor de la clave privada, puedes revertir el proceso. Aunque RSA ha sido el estándar durante décadas, requiere claves muy largas (3072 bits o más) para mantenerse seguro frente al aumento de la potencia de cómputo, lo que genera una carga computacional significativa.

Criptografía de Curva Elíptica (ECC)

ECC es el sucesor moderno de RSA. En lugar de basarse en la factorización de primos, utiliza las propiedades algebraicas de las curvas elípticas sobre cuerpos finitos. La ventaja técnica es masiva: una clave ECC de solo 256 bits ofrece la misma seguridad que una clave RSA de 3072 bits. Esto se traduce en:

  1. Menor consumo de energía: Vital para dispositivos móviles e IoT.
  2. Handshakes más rápidos: Acelera la conexión inicial de sitios web (TLS).
  3. Menor ancho de banda: Los certificados digitales son mucho más pequeños.

Firmas Digitales y No Repudio

Además del cifrado, esta tecnología permite las firmas digitales. Si firmas un documento con tu clave privada, cualquiera con tu clave pública puede verificar que fuiste tú quien lo envió y que el contenido no ha sido alterado, garantizando la integridad y el no repudio.

📊 Ejemplo Práctico

Escenario Real: Generación y Uso de Claves SSH para un Servidor

Quieres acceder a un servidor Linux remoto de forma segura sin usar contraseñas, que son vulnerables a ataques de fuerza bruta. Utilizaremos el protocolo SSH con un par de claves de curva elíptica (ED25519).

Paso 1: Generación del par de claves. En tu máquina local, ejecutas el comando ssh-keygen -t ed25519. El sistema genera dos archivos: id_ed25519 (tu clave privada) e id_ed25519.pub (tu clave pública).

Paso 2: Instalación de la clave pública. Subes el contenido de tu clave pública al servidor remoto, específicamente al archivo ~/.ssh/authorized_keys. A partir de este momento, el servidor conoce 'tu cara digital'.

Paso 3: El proceso de autenticación. Cuando intentas conectar, el servidor envía un 'desafío' cifrado con tu clave pública. Tu cliente SSH lo descifra usando tu clave privada local (protegida por una frase de paso) y devuelve la respuesta. Si coincide, entras.

Paso 4: Seguridad adicional. Al deshabilitar el acceso por contraseña en el archivo /etc/ssh/sshd_config, has bloqueado el 99% de los ataques automatizados de Internet, ya que sin tu clave privada física, es matemáticamente imposible entrar.