Criptografía
Concepto de Desarrollo web en Utilidades, conectado con sus herramientas y conceptos vecinos.
Actualizado el 31 de agosto de 2026
La criptografía es la ciencia de proteger información transformándola de forma que solo quien tenga la clave correcta pueda leerla o verificarla. Es la tecnología invisible que hace posible el comercio online, la banca digital y la comunicación privada: cada vez que ves el candado en la barra del navegador, hay algoritmos criptográficos trabajando en segundo plano para garantizar que nadie entre el servidor y tú pueda leer o modificar la conexión.
Cifrado simétrico
En el cifrado simétrico, la misma clave cifra y descifra los datos. Es muy rápido e ideal para cifrar grandes volúmenes de información.
Texto plano + clave → [AES] → Texto cifrado
Texto cifrado + clave → [AES] → Texto plano
El algoritmo estándar hoy es AES (Advanced Encryption Standard):
| Variante | Longitud de clave | Uso típico |
|---|---|---|
| AES-128 | 128 bits | Comunicaciones con menor carga computacional |
| AES-256 | 256 bits | Estándar de facto; cifrado de discos, VPNs, TLS |
El principal desafío del cifrado simétrico es el problema de distribución de claves: ¿cómo compartes la clave de forma segura con la otra parte sin que nadie la intercepte? La respuesta está en el cifrado asimétrico.
Cifrado asimétrico (clave pública)
El cifrado asimétrico usa un par de claves matemáticamente relacionadas:
- Clave pública: la compartes libremente. Cualquiera puede usarla para cifrar un mensaje destinado a ti.
- Clave privada: la guardas en secreto. Solo tú puedes descifrar lo que fue cifrado con tu clave pública.
Texto plano + clave pública → [RSA] → Texto cifrado
Texto cifrado + clave privada → [RSA] → Texto plano
Los algoritmos más comunes:
| Algoritmo | Base matemática | Tamaño de clave seguro | Nota |
|---|---|---|---|
| RSA | Factorización de números primos | 2048–4096 bits | Maduro y ampliamente soportado |
| ECDH / ECDSA | Curvas elípticas | 256 bits (equiv. RSA-3072) | Estándar moderno en TLS 1.3 |
| Ed25519 | Curva elíptica Edwards | 256 bits | Firmas rápidas; usado en SSH y Signal |
En la práctica, HTTPS combina ambos tipos: usa cifrado asimétrico (ECDH) para intercambiar de forma segura una clave de sesión temporal, y a partir de ahí cifra toda la comunicación con AES, que es mucho más rápido.
Funciones hash criptográficas
Una función hash transforma cualquier entrada en una cadena de longitud fija. A diferencia del cifrado, es un proceso de un único sentido: no se puede revertir.
"contraseña123" → [SHA-256] → "ef92b778bafe..." (64 caracteres hex)
Propiedades fundamentales:
- Determinista: la misma entrada siempre produce el mismo hash.
- Avalancha: cambiar un solo carácter cambia por completo el hash.
- Resistente a preimagen: dado el hash, es computacionalmente inviable obtener la entrada original.
- Resistente a colisiones: es muy difícil encontrar dos entradas distintas que produzcan el mismo hash.
Los más usados hoy:
| Algoritmo | Longitud del hash | Estado |
|---|---|---|
| MD5 | 128 bits | Obsoleto — no usar para seguridad |
| SHA-1 | 160 bits | Obsoleto — vulnerable a colisiones desde 2017 |
| SHA-256 | 256 bits | Seguro; estándar en TLS, firmas digitales, Bitcoin |
| SHA-3 | 256–512 bits | Diseño alternativo a SHA-2; mayor resistencia teórica |
| bcrypt | Variable | Para contraseñas: lento por diseño, con factor de coste ajustable |
| Argon2 | Variable | Ganador de la competición Password Hashing Competition (2015); preferible a bcrypt para nuevos proyectos |
Para contraseñas nunca uses SHA-256 directamente: su velocidad facilita los ataques de fuerza bruta. Usa bcrypt, scrypt o Argon2. Para más detalles sobre hashes, consulta el artículo sobre hash SHA.
Firma digital: autenticidad e integridad
La firma digital garantiza que un mensaje lo envió quien dice haberlo enviado y que no fue alterado en tránsito:
- El emisor calcula el hash del mensaje.
- Cifra ese hash con su clave privada (esto produce la firma).
- El receptor descifra la firma con la clave pública del emisor y compara el resultado con el hash del mensaje recibido. Si coinciden, la firma es válida.
Las firmas digitales son la base de los certificados TLS/SSL, el protocolo JWT, la firma de código (apps en tiendas) y la factura electrónica.
Criptografía en la vida cotidiana
- HTTPS: TLS 1.3 usa ECDH para el intercambio de claves, AES-256-GCM para el cifrado de la sesión y SHA-256 para garantizar la integridad.
- Contraseñas: los servicios web almacenan un hash salado (bcrypt o Argon2), nunca la contraseña en texto plano. Para gestionar contraseñas, puedes usar el generador de contraseñas seguras.
- VPN: WireGuard usa Curve25519 (ECDH), ChaCha20 (cifrado simétrico) y Poly1305 (autenticación) para cifrar todo el tráfico de red. Ver VPN.
- Criptomonedas: Bitcoin usa SHA-256 para el minado y ECDSA sobre la curva secp256k1 para firmar transacciones.
- Correo electrónico cifrado: PGP/GPG usa cifrado asimétrico RSA o ECC para cifrar correos y firma con la clave privada del remitente.
- Autenticación en APIs: JWT combina cifrado asimétrico (RS256) o simétrico (HS256) para crear tokens verificables sin necesidad de consultar la base de datos en cada petición.
Esta información es orientativa y no constituye asesoramiento de seguridad para entornos de producción. La implementación criptográfica correcta requiere el uso de bibliotecas auditadas (libsodium, OpenSSL, Bouncy Castle) y no debe realizarse desde cero.
Conceptos relacionados
También en Desarrollo web
Preguntas frecuentes
¿Qué diferencia hay entre cifrado simétrico y asimétrico?
¿Por qué no se guardan las contraseñas en texto plano?
¿Qué es el cifrado de extremo a extremo?
Ver todas las herramientas de Utilidades.