Saltar al contenido principal

Criptografía de clave pública - Cifrado asimétrico

Lectura de 2 min aprox.

La criptografía de clave pública (criptografía asimétrica) es un esquema de cifrado que usa dos claves diferentes para cifrar y descifrar: una clave pública y una clave privada. La clave pública puede distribuirse a cualquier persona, mientras que la clave privada la conserva únicamente su propietario. Los datos cifrados con la clave pública solo pueden descifrarse con la clave privada correspondiente, y una firma creada con la clave privada puede verificarse con la clave pública. Esta asimetría constituye la base de la comunicación segura en internet y de las firmas digitales.

Antecedentes históricos - Una revolución en la criptografía

En 1976, Whitfield Diffie y Martin Hellman presentaron el concepto de criptografía de clave pública en su artículo «New Directions in Cryptography». Hasta entonces, el cifrado exigía que el emisor y el receptor compartieran la misma clave de antemano, y la entrega segura de las claves era el mayor desafío. Al año siguiente, en 1977, Ron Rivest, Adi Shamir y Leonard Adleman idearon el cifrado RSA, llevando la criptografía de clave pública a un uso práctico. RSA basa su seguridad en la propiedad matemática de que factorizar el producto de números primos grandes es difícil. En 1985, Neal Koblitz y Victor Miller propusieron de forma independiente la criptografía de curva elíptica (ECC), logrando una seguridad equivalente a la de RSA con una longitud de clave más corta. En el TLS 1.3 actual, ECC se usa de forma estándar.

Cómo funciona

Generar par de claves
Enviar la clave pública a la otra parte
Cifrar con la clave pública
Descifrar con la clave privada

El núcleo de la criptografía de clave pública reside en la «función unidireccional». Multiplicar números primos grandes entre sí es fácil, pero obtener los primos originales a partir del producto (factorización) es extremadamente difícil. RSA aprovecha esta propiedad, mientras que ECC aprovecha la dificultad del problema del logaritmo discreto sobre curvas elípticas. En ambos casos, con las computadoras actuales y una longitud de clave suficiente, descifrarlas llevaría una cantidad de tiempo astronómica.

Comparación con la criptografía de clave simétrica

AspectoClave simétrica (p. ej., AES)Clave pública (RSA / ECC)
Número de clavesUna, compartida por emisor y receptorDos: una clave pública y una privada
Velocidad de procesamientoRápida (100 veces o más)Lenta
Problema de distribución de clavesRequiere un canal seguroLa clave pública puede hacerse pública
Usos principalesCifrado de grandes volúmenes de datosIntercambio de claves, firmas, autenticación

En la comunicación real, el enfoque predominante es un esquema híbrido que combina ambos. En el protocolo de enlace de TLS, primero se intercambia de forma segura una clave compartida mediante criptografía de clave pública, y la comunicación de datos posterior se realiza con la rápida criptografía de clave simétrica. Este mecanismo logra a la vez la seguridad en la distribución de claves y la rapidez de la comunicación. Nuestro artículo sobre los fundamentos del cifrado también lo explica en detalle.

Relación con las firmas digitales

La criptografía de clave pública se utiliza no solo para el cifrado, sino también para las firmas digitales. En el caso de las firmas, las claves se usan en la dirección opuesta a la del cifrado. El emisor firma el valor hash de los datos con su clave privada, y el receptor lo verifica con la clave pública. Esto permite detectar la manipulación de datos y verificar la identidad del emisor al mismo tiempo. La PKI (infraestructura de clave pública) es un mecanismo que garantiza la validez de las claves públicas mediante certificados, y sustenta la comunicación HTTPS de los sitios web.

Por qué las longitudes de clave no se pueden comparar entre algoritmos

Las cifras de longitud de clave no se pueden comparar directamente entre algoritmos distintos. La longitud de clave de RSA corresponde a la dificultad de la factorización, mientras que la de la criptografía de curva elíptica corresponde a la dificultad del problema del logaritmo discreto, y el tamaño de clave necesario para alcanzar el mismo nivel de seguridad difiere según el algoritmo. Como los esquemas basados en curvas elípticas pueden lograr una seguridad equivalente a la de los esquemas anteriores con claves más cortas, acortar una clave no significa debilitarla. Las claves más cortas también reducen el volumen de datos y la cantidad de cálculo que intervienen en las firmas y el intercambio de claves, por lo que el procesamiento puede aligerarse manteniendo el mismo nivel de seguridad. Tratar la longitud de clave como una métrica aislada pasa por alto estas diferencias entre algoritmos y lleva a considerar incondicionalmente más segura la cifra mayor. Evaluar el nombre del algoritmo y la longitud de clave como un par es el punto de partida al revisar la configuración de claves.

La amenaza de la computación cuántica y la criptografía poscuántica

Cuando las computadoras cuánticas sean prácticas, el algoritmo de Shor podría resolver de forma eficiente los problemas de factorización y de logaritmo discreto que sustentan la seguridad de RSA y ECC. Como preparación, en 2024 el NIST anunció oficialmente ML-KEM (encapsulamiento de claves basado en retículos) y ML-DSA (firmas digitales basadas en retículos) como estándares de criptografía poscuántica. Google Chrome ya tiene habilitado de forma predeterminada el intercambio de claves híbrido (ECC tradicional + ML-KEM) para las conexiones TLS. Nuestro artículo sobre la criptografía poscuántica y la seguridad de las contraseñas explica el impacto futuro en detalle.

Conceptos erróneos comunes

Existe el concepto erróneo de que «la criptografía de clave pública es más segura que la de clave simétrica», pero ofrecen tipos de seguridad diferentes. Mientras que AES-256 conserva cierta resistencia incluso frente a las computadoras cuánticas, RSA-2048 podría ser descifrado por ellas. Además, si bien es cierto que «no hay problema en hacer pública una clave pública», existe el riesgo de un ataque de intermediario si no se verifica la validez de la clave pública. Precisamente por eso es esencial verificar las claves públicas mediante certificados.

Términos relacionados

¿Te resultó útil este artículo?