Ciberseguridad · Capítulo 6

Criptografía Básica: El Arte de Proteger la Información

Desde los cifrados de César hasta el cifrado AES-256 que protege tus datos bancarios hoy — la criptografía es el fundamento matemático de toda seguridad digital.


Una Historia Milenaria

La necesidad de comunicar secretos de forma segura es tan antigua como la guerra y el comercio. Los primeros sistemas criptográficos eran simples pero ingeniosos para su época.

El Cifrado César (Siglo I a.C.)

Julio César cifraba sus mensajes militares desplazando cada letra del alfabeto 3 posiciones. La A se convertía en D, la B en E, y así sucesivamente. Para descifrar, el receptor desplazaba en sentido contrario.

Ejemplo de cifrado César con desplazamiento 3:
Texto original: ATAQUE AL AMANECER
Texto cifrado: DWDTXH DO DPDQHFHU

Este cifrado es trivialmente vulnerable hoy: solo hay 25 posibles desplazamientos. Un atacante puede probarlos todos en segundos.

La Máquina Enigma (Segunda Guerra Mundial)

La Alemania nazi usó la máquina Enigma para cifrar comunicaciones militares. Con múltiples rotores y un panel de conexiones, generaba más de 158 quintillones de configuraciones posibles. Los aliados, con el matemático Alan Turing a la cabeza en Bletchley Park, lograron descifrarla usando las primeras computadoras de la historia. Se estima que esto acortó la guerra entre 2 y 4 años. Turing es considerado el padre de la informática moderna y un héroe de guerra — pese a lo cual fue perseguido por el gobierno británico por su homosexualidad, una injusticia histórica reconocida formalmente décadas después.

Criptografía Simétrica: Una Sola Llave

En la criptografía simétrica, la misma clave se usa para cifrar y descifrar el mensaje. Es rápida y eficiente, pero tiene un problema fundamental: ¿cómo compartes la clave con el otro extremo de forma segura?

AES (Advanced Encryption Standard): El estándar simétrico más usado en el mundo. Adoptado por el gobierno de EE.UU. en 2001 tras un proceso de competencia pública. AES-256 usa claves de 256 bits — hay 2²⁵⁶ combinaciones posibles. Para dar perspectiva: si cada átomo del universo observable fuera una computadora probando mil millones de claves por segundo desde el inicio del universo, aún no habría terminado de probar todas las posibilidades. AES-256 se considera prácticamente irrompible con hardware convencional.

AES cifra datos en bloques de 128 bits, aplicando múltiples rondas de transformaciones matemáticas. Se usa para:

Criptografía Asimétrica: El Par de Llaves

La criptografía asimétrica (o de clave pública) resolvió el problema de distribución de claves con una idea brillante: usa dos claves matemáticamente relacionadas — una pública (que puedes compartir con el mundo entero) y una privada (que solo tú conoces).

Principio fundamental: Lo que se cifra con la clave pública solo puede descifrarse con la clave privada correspondiente. Lo que se firma con la clave privada puede verificarse con la clave pública.

La analogía del buzón: Tu clave pública es como un buzón con ranura abierta — cualquiera puede meter mensajes (cifrarlos para ti). Tu clave privada es la llave del buzón — solo tú puedes sacar y leer los mensajes.

RSA: El Algoritmo que Cambió el Mundo

RSA (Rivest-Shamir-Adleman, 1977) fue el primer algoritmo asimétrico práctico. Su seguridad se basa en la dificultad computacional de factorizar el producto de dos números primos enormes. Multiplicar dos primos de 150 dígitos es trivial; encontrar los factores del resultado requeriría millones de años con hardware actual. RSA con claves de 2048 bits se considera seguro hoy; 4096 bits para uso de muy largo plazo.

Funciones Hash: Las Huellas Digitales

Una función hash toma cualquier entrada (un archivo, una contraseña, un documento) y produce una salida de longitud fija llamada hash o digest. Las propiedades esenciales:

SHA-256 en acción:
"Hola" → d3e8b0b98c2f4c1c8a7ef8e4a2d5b9e3c1f7a8d4e2c9b5f7a1d8e3c4b2f9a7d1
"hola" → b221d9dbb083a7f33428d7c2a3c3198ae925614d70210e28716ccab86d1497e

Un solo cambio de mayúscula produce un hash completamente diferente.

Por Qué las Contraseñas Nunca se Almacenan en Texto Plano

Cuando creas una cuenta en un sitio web, tu contraseña no se guarda como texto. El servidor calcula el hash de tu contraseña y almacena ese hash. Cuando ingresas, el servidor calcula el hash de lo que escribiste y lo compara con el almacenado — sin necesidad de conocer tu contraseña original.

MD5 está roto: El algoritmo MD5, muy usado en los años 90-2000, tiene colisiones conocidas — dos entradas diferentes producen el mismo hash. Nunca debe usarse para seguridad. SHA-1 también está comprometido desde 2017. El estándar actual es SHA-256 o SHA-3. Para contraseñas específicamente, se usan funciones como bcrypt, scrypt o Argon2 que son intencionalmente lentas para dificultar ataques de fuerza bruta.

Firmas Digitales: Autenticidad e Integridad

Una firma digital usa criptografía asimétrica para garantizar dos cosas: que un mensaje realmente proviene de quien dice provenir (autenticidad) y que no fue modificado en tránsito (integridad).

El proceso: el remitente calcula el hash del mensaje y lo cifra con su clave privada — ese es la firma digital. El receptor descifra la firma con la clave pública del remitente y compara el hash resultante con el que calcula del mensaje recibido. Si coinciden: el mensaje es auténtico e íntegro.

Autoridades Certificadoras y PKI

Pero ¿cómo saber que una clave pública realmente pertenece a quien dice ser? Aquí entran las Autoridades Certificadoras (CA), organizaciones de confianza que emiten certificados digitales que vinculan una clave pública con una identidad verificada.

La Infraestructura de Clave Pública (PKI) es el sistema que gestiona estas relaciones de confianza. Cuando visitas https://banco.com, tu navegador verifica que el certificado del sitio fue firmado por una CA de confianza (como DigiCert, Let's Encrypt, Comodo). Si alguien intenta interceptar con un certificado falso, el navegador muestra una advertencia de "Conexión no segura".

TLS/SSL: Cómo HTTPS te Protege

Cuando ves el candado en tu navegador, TLS (Transport Layer Security) está activo. El proceso de "handshake" ocurre en milisegundos:

  1. Tu navegador solicita la clave pública del servidor.
  2. El servidor envía su certificado digital (verificable con la CA).
  3. Tu navegador genera una clave de sesión aleatoria, la cifra con la clave pública del servidor y la envía.
  4. Solo el servidor puede descifrarla con su clave privada.
  5. Ambos usan esa clave de sesión (simétrica, AES) para cifrar toda la comunicación posterior — la asimétrica solo se usó para el intercambio inicial de claves.

Este diseño combina lo mejor de ambos mundos: la seguridad de la distribución de claves asimétrica con la eficiencia del cifrado simétrico.

Cifrado de Extremo a Extremo

En el cifrado de extremo a extremo (E2EE), solo el remitente y el destinatario pueden leer los mensajes. Ni siquiera el proveedor del servicio tiene acceso. WhatsApp y Signal usan el Protocolo Signal para E2EE — considerado el gold standard en mensajería segura. Telegram, a pesar de su fama de seguro, NO usa E2EE por defecto — solo en sus "chats secretos".

Resumen del Capítulo