¿Qué es la criptografía?
🔒 Definición
La criptografía es la ciencia de transformar información legible (texto plano) en un formato ilegible (texto cifrado) usando algoritmos matemáticos, de modo que solo quien tenga la clave pueda revertirlo.
📜 Origen
Existe desde la antigüedad (cifrado César, ~50 a.C.), pero la criptografía moderna nació con la Segunda Guerra Mundial (Enigma) y se formalizó matemáticamente en los años 70 con la publicación del DES y el algoritmo RSA.
🎯 Objetivos
La criptografía garantiza cuatro propiedades: confidencialidad (solo el destinatario lee el mensaje), integridad (no fue alterado), autenticidad (el emisor es quien dice ser) y no repudio (no puede negar haberlo enviado).
💻 Hoy en día
Cada vez que abrís tu banco online, enviás un WhatsApp, comprás con tarjeta o desbloqueás el celular, estás usando criptografía. Es la base invisible de toda la seguridad digital.
| Propiedad | Pregunta que responde | Técnica usada |
|---|---|---|
| Confidencialidad | ¿Solo el destinatario puede leerlo? | Cifrado simétrico / asimétrico |
| Integridad | ¿El mensaje llegó intacto? | Función hash (SHA-256, etc.) |
| Autenticidad | ¿El emisor es quien dice ser? | Firma digital / certificados |
| No repudio | ¿No puede negar el envío? | Firma digital con clave privada |
Cifrado Simétrico
En el cifrado simétrico, emisor y receptor comparten la misma clave. Es muy rápido, ideal para cifrar grandes volúmenes de datos.
AES opera sobre bloques de 128 bits usando una serie de sustituciones, permutaciones y mezclas de columnas controladas por la clave. Es tan eficiente que los procesadores modernos tienen instrucciones de hardware dedicadas (AES-NI) para ejecutarlo sin penalidad de rendimiento.
Cifrado Asimétrico
Cada participante tiene dos claves matemáticamente relacionadas: una pública (que cualquiera puede conocer) y una privada (que nunca se comparte). Lo que cifra una, solo la otra puede descifrarlo.
RSA se basa en que multiplicar dos números primos enormes es trivial, pero factorizar el resultado (encontrar los factores) es computacionalmente inviable con el hardware actual. Con claves de 2048 bits, se estima que tomaría millones de años romperlo por fuerza bruta.
| Tipo | Velocidad | Gestión de claves | Uso ideal |
|---|---|---|---|
| Simétrico (AES) | ✓ Muy rápido | ✗ Clave compartida (problema distribución) | Cifrar grandes volúmenes de datos |
| Asimétrico (RSA/ECC) | ✗ Lento | ✓ Clave pública distribuible libremente | Intercambio seguro de claves, firmas |
| Híbrido (TLS) | ✓ Rápido | ✓ Lo mejor de ambos | Toda comunicación segura en internet |
Funciones Hash
Una función hash toma cualquier cantidad de datos y produce una cadena de longitud fija (el digest o huella). Es un proceso de una sola vía: no se puede revertir.
↑ Un solo carácter diferente produce un hash completamente distinto (efecto avalancha).
Usos principales del hash
| Uso | Cómo funciona | Ejemplo |
|---|---|---|
| Contraseñas | Se guarda el hash, no la contraseña. Al ingresar, se hashea y compara. | bcrypt, Argon2 (con sal) |
| Verificación de archivos | El servidor publica el hash; el usuario verifica que el archivo descargado coincida. | ISO de Linux, instaladores |
| Blockchain | Cada bloque incluye el hash del anterior, encadenándolos de forma inmutable. | Bitcoin (SHA-256), Ethereum |
| Firma digital | Se firma el hash del documento (más eficiente que firmar todo el contenido). | PDF firmado, Git commits |
Firma Digital
Una firma digital es el equivalente electrónico de la firma manuscrita, pero con validación matemática. Garantiza autoría e integridad.
✍️ Firmar (emisor)
1. Se calcula el hash del documento.
2. Se cifra ese hash con la clave privada del emisor.
3. El resultado es la firma digital, que viaja junto al documento.
✅ Verificar (receptor)
1. Se descifra la firma usando la clave pública del emisor → obtenemos el hash original.
2. Se calcula el hash del documento recibido.
3. Si ambos hash coinciden, la firma es válida.
¿Dónde se usan las firmas digitales?
| Contexto | Qué se firma |
|---|---|
| 📜 Documentos legales / notariales | PDFs, contratos, escrituras digitales |
| 💳 Transacciones bancarias | Cada operación con tarjeta o transferencia |
| 📦 Software y actualizaciones | El instalador lleva la firma del fabricante (evita malware) |
| 🌐 Certificados SSL/TLS | Firma la autoridad certificadora (CA) sobre el dominio |
| 💻 Commits de código (Git) | El desarrollador firma cada cambio enviado |
TLS y HTTPS
Cada vez que ves el 🔒 en el navegador, estás usando TLS (Transport Layer Security). Combina cifrado asimétrico y simétrico para proteger la comunicación.
El handshake TLS 1.3 (simplificado)
Usando el algoritmo Diffie-Hellman de Curva Elíptica (ECDHE), navegador y servidor generan independientemente la misma clave AES de sesión sin que jamás viaje por la red. A partir de ahí, toda la comunicación va cifrada simétricamente con AES.
Usos Cotidianos
La criptografía está presente en casi todo lo que hacemos en un dispositivo conectado.
El E2EE garantiza que ni siquiera el servidor de la empresa puede leer los mensajes. Cada conversación genera claves únicas (usando Diffie-Hellman) y los mensajes se cifran con AES antes de salir del dispositivo.
Un sistema seguro nunca almacena la contraseña. En cambio, aplica una función hash lenta con una sal (valor aleatorio único por usuario) y guarda solo el resultado.
Cada transacción se firma con la clave privada del propietario. La red verifica la firma con la clave pública, garantizando que solo el dueño real puede gastar sus monedas.
El algoritmo de Shor, ejecutado en una computadora cuántica lo suficientemente potente, podría factorizar números grandes (romper RSA) y resolver logaritmos discretos (romper ECC) en tiempo polinomial. Esto haría inútil buena parte de la criptografía actual.
Actividad de Repaso
Respondé las preguntas para comprobar lo que aprendiste. Hacé clic en una opción para ver si es correcta.