arrow_backVolver a field notes
CRYPTOGRAPHY Publicado 9 ago 2026

Cómo funciona la criptografía de clave pública

Un recorrido práctico de la encriptación asimétrica, pares de claves y firmas digitales, sin las analogías matemáticas evasivas.

Cada vez que haces SSH a un servidor o cargas un sitio HTTPS, dos claves matemáticamente vinculadas hacen el trabajo pesado. Una es pública, una es privada, y la relación entre ellas es lo que hace posible la comunicación segura sobre una red no confiable en primer lugar.

La idea básica

Con la encriptación simétrica, una sola clave tanto bloquea como desbloquea los datos. Eso funciona bien si ambas partes ya comparten un secreto, pero distribuir ese secreto de forma segura es la parte difícil. La criptografía de clave pública (asimétrica) resuelve esto generando un par matemáticamente relacionado: una clave pública que entrega a cualquiera, y una clave privada que nunca comparte.

Los datos encriptados con la clave pública solo se pueden desencriptar con la clave privada correspondiente. Los datos firmados con la clave privada pueden ser verificados por cualquiera que tenga la clave pública. Esas dos propiedades cubren casi todo lo que usamos esto para: confidencialidad y autenticación.

RSA, el ejemplo clásico

RSA se basa en el hecho de que multiplicar dos números primos grandes es rápido, pero factorizar el producto nuevamente en esos números primos es brutalmente intensivo en computación a escala. Una clave RSA de 2048 bits se construye a partir de dos números primos de aproximadamente 1024 bits cada uno. La clave pública es (n, e) — siendo n el producto de los números primos, e un exponente fijo como 65537. La clave privada se deriva usando la función de Euler de n e implica conocer los números primos originales.

La encriptación es exponenciación modular: c = m^e mod n. La desencriptación lo invierte con el exponente privado d: m = c^d mod n. Nadie en la práctica realmente está encriptando cargas útiles grandes directamente con RSA — es lento y tiene límites de tamaño vinculados a la longitud de la clave. En su lugar, RSA típicamente envuelve una clave de sesión simétrica (AES-256, por ejemplo), y el cifrado simétrico maneja los datos en volumen. Ese es el enfoque híbrido que TLS usa.

Criptografía de curva elíptica y por qué está ganando

ECC te da seguridad equivalente a RSA con claves mucho más pequeñas. Una clave ECC de 256 bits (como curve secp256r1 o Curve25519) es aproximadamente comparable en fortaleza a una clave RSA de 3072 bits. Claves más pequeñas significan handshakes más rápidos y menos ancho de banda, razón por la cual las configuraciones modernas de TLS, las implementaciones de SSH y el protocolo de Signal se apoyan en ECC.

La matemática es diferente — se basa en el problema del logaritmo discreto sobre puntos en una curva elíptica en lugar de factorización de números enteros — pero la relación de clave pública/privada y las garantías son conceptualmente iguales.

Firmas digitales: la otra mitad de la ecuación

La encriptación mantiene los datos confidenciales. Las firmas demuestran autenticidad e integridad. Para firmar un mensaje, lo hasheas (SHA-256, típicamente) y encriptas ese hash con tu clave privada. Cualquiera con tu clave pública puede hashear el mensaje ellos mismos, desencriptar tu firma, y verificar que los dos hashes coincidan.

Esto es exactamente lo que sucede cuando ejecutas git commit -S con una clave GPG, o cuando una Autoridad de Certificación firma un certificado TLS. La clave privada de la CA firma tu certificado; los navegadores incluyen la clave pública de la CA de confianza previa, así que pueden verificar la autenticidad de tu certificado sin nunca hablar con la CA directamente.

Dónde aparece esto día a día

La autenticación de clave SSH es una aplicación directa: ssh-keygen -t ed25519 genera un par de claves, sueltas la mitad pública en ~/.ssh/authorized_keys en el servidor, y la autenticación ocurre a través de un desafío-respuesta usando la clave privada, nunca una contraseña transmitida.

Los handshakes TLS usan criptografía asimétrica brevemente, solo para establecer una clave simétrica compartida (vía intercambio de clave ECDHE en configuraciones modernas), luego se insertan en encriptación simétrica rápida para la sesión actual. La encriptación de correo PGP/GPG sigue el patrón híbrido también — encripta el mensaje con una clave AES aleatoria, luego encripta esa clave AES con la clave pública RSA o ECC del destinatario.

Qué realmente falla en la práctica

La matemática detrás de RSA y ECC no ha sido rota por la computación clásica. Lo que falla es casi siempre implementación: generación de números aleatorios débil cuando se crean claves (el bug Debian OpenSSL de 2008 es el caso de manual), nonces reutilizados en firmas ECDSA filtrando claves privadas, o ataques de oráculo de relleno contra RSA pobremente implementado (el ataque de Bleichenbacher contra relleno PKCS#1 v1.5). La computación cuántica es la amenaza teórica a largo plazo — el algoritmo de Shor rompería tanto RSA como ECC si una computadora cuántica suficientemente grande existiera — razón por la cual NIST ya ha estandarizado algoritmos post-cuánticos como ML-KEM (anteriormente Kyber) para migración futura.

Si quieres avanzar más con esto, la pista de criptografía de Korra Studio cubre protocolos de intercambio de claves e internals de función hash en mayor profundidad, y los segmentos de red caminan a través de cómo todo esto se ajusta en un handshake TLS real byte a byte.

Escrito con asistencia de IA, revisado y publicado por Michal Pilch (CISSP), Korra Studio.

¿Listo para ir más allá?

Esta es una nota de la base de conocimiento de Korra Studio — la plataforma combina cada tema con mentoría 1 a 1.

Empezar gratisarrow_forward