¿Qué es la criptografía? Cómo funciona, tipos y ejemplos
La criptografía es una disciplina que utiliza técnicas matemáticas y algoritmos para proteger información y comunicaciones. Permite cifrar datos, comprobar que no hayan sido modificados, autenticar participantes y crear firmas digitales. Cada vez que utilizas HTTPS, realizas una compra online, envías determinados mensajes cifrados o accedes a un sistema seguro, probablemente estás utilizando criptografía.
¿Qué es la criptografía?
La criptografía estudia y desarrolla técnicas para proteger información mediante algoritmos matemáticos.
Uno de sus usos más conocidos consiste en transformar información legible en información cifrada que solamente pueda ser interpretada correctamente por quien posea las claves o mecanismos adecuados.
Ejemplo sencillo
Imagina este mensaje:
Mensaje original
"Nos vemos a las 18:00"
↓
Algoritmo
+
Clave
↓
Datos cifrados
"7Fk2$8xP..."
Una persona que intercepte solamente los datos cifrados no debería poder reconstruir fácilmente el mensaje original sin disponer de la información criptográfica necesaria.
Pero la criptografía hace más que ocultar información
También puede utilizarse para:
- Detectar modificaciones.
- Autenticar participantes.
- Firmar documentos.
- Proteger conexiones.
- Verificar archivos.
- Proteger credenciales.
La criptografía moderna utiliza algoritmos diseñados y analizados específicamente para proporcionar propiedades de seguridad frente a determinados ataques.
Criptografía y criptología: ¿son lo mismo?
Los términos están relacionados, pero tradicionalmente la criptología representa un campo más amplio.
Criptografía
Se centra en desarrollar mecanismos para proteger información.
Criptoanálisis
Estudia métodos destinados a analizar o romper sistemas criptográficos.
Criptología
Puede entenderse como el campo que engloba ambos.
CRIPTOLOGÍA
├── Criptografía
│ └── Construir protección
│
└── Criptoanálisis
└── Analizar o romper
sistemas criptográficos
¿Cuáles son los objetivos de la criptografía?
Confidencialidad
Busca impedir que una persona no autorizada pueda interpretar información protegida.
Integridad
Permite detectar si un mensaje o archivo ha sido modificado.
Autenticación
Ayuda a comprobar la identidad u origen de una comunicación.
No repudio
Determinados sistemas de firma digital pueden aportar evidencia sobre el origen y autenticidad de información firmada.
Confidencialidad
¿Quién puede leerlo?
Integridad
¿Fue modificado?
Autenticación
¿Quién lo envió?
Firma digital
¿Podemos verificar
su origen e integridad?
¿Cómo funciona el cifrado?
En términos simplificados, un sistema de cifrado recibe información legible y la transforma mediante un algoritmo y una clave.
Texto plano
Es la información original.
Cifrado
Es el proceso que transforma esa información.
Texto cifrado
Es el resultado protegido.
Descifrado
Es el proceso que recupera la información original utilizando la clave apropiada.
TEXTO PLANO
"Hola"
↓
Cifrado
+
Clave
↓
TEXTO CIFRADO
"X8pZ..."
↓
Descifrado
+
Clave correcta
↓
"Hola"
La seguridad no debería depender de ocultar el algoritmo
Los sistemas criptográficos modernos normalmente utilizan algoritmos públicos ampliamente estudiados.
La protección depende principalmente de las propiedades del algoritmo y del secreto de las claves que corresponda mantener privadas.
Principales mecanismos utilizados en criptografía
Una introducción práctica puede dividir los mecanismos criptográficos en varias categorías.
Cifrado simétrico
Utiliza una clave secreta compartida.
Criptografía asimétrica
Utiliza pares de claves relacionadas matemáticamente.
Funciones hash
Transforman datos de longitud variable en resultados de longitud determinada y no están diseñadas para descifrarse.
Firmas digitales
Permiten comprobar integridad y autenticidad utilizando criptografía de clave pública.
MAC
Los códigos de autenticación de mensajes permiten verificar integridad y autenticidad cuando las partes comparten una clave secreta.
CRIPTOGRAFÍA MODERNA
Cifrado simétrico
Cifrado asimétrico
Funciones hash
MAC
Firmas digitales
Intercambio / establecimiento
de claves
¿Qué es la criptografía simétrica?
En el cifrado simétrico, las partes autorizadas utilizan una clave secreta compartida para proteger y recuperar información.
CLAVE SECRETA
↓
Mensaje
↓
Cifrado
↓
Datos cifrados
↓
Descifrado
↓
Mensaje
↑
MISMA CLAVE
O CLAVE SIMÉTRICA
RELACIONADA SEGÚN EL MODO
Ventajas
- Alta velocidad.
- Buen rendimiento.
- Adecuada para grandes cantidades de datos.
Principal desafío
La clave secreta debe distribuirse y protegerse adecuadamente.
AES
AES es uno de los algoritmos de cifrado simétrico más utilizados actualmente.
También importan el modo de operación, generación de claves, almacenamiento, implementación y parámetros utilizados.
¿Qué es la criptografía asimétrica?
La criptografía asimétrica utiliza un par de claves relacionadas:
- Clave pública.
- Clave privada.
Clave pública
Puede compartirse según el sistema y finalidad.
Clave privada
Debe mantenerse protegida por su propietario.
CLAVE PÚBLICA
Puede compartirse
↕
Relación matemática
↕
CLAVE PRIVADA
Debe protegerse
¿Para qué se utiliza?
Dependiendo del algoritmo y protocolo, puede participar en:
- Establecimiento de claves.
- Firmas digitales.
- Autenticación.
- Protección de comunicaciones.
¿Es más segura que la simétrica?
No es correcto establecer una regla general.
Ambos enfoques cumplen funciones diferentes y suelen combinarse.
Criptografía asimétrica
↓
Ayuda a establecer
o autenticar claves
↓
Criptografía simétrica
↓
Cifra grandes cantidades
de información eficientemente
¿Cómo funcionan una clave pública y una clave privada?
La forma exacta depende del algoritmo y de la operación que queramos realizar.
Un error común
No deberíamos resumir toda la criptografía asimétrica simplemente como:
"Se cifra siempre con la pública
y se descifra siempre
con la privada."
Esa explicación puede servir para comprender determinados esquemas de cifrado, pero no representa todas las operaciones posibles.
Firmas digitales
En una firma digital, la clave privada participa en la generación de la firma y la clave pública correspondiente permite verificarla.
FIRMA
Documento
↓
Clave privada
↓
Firma digital
VERIFICACIÓN
Documento
+
Firma
+
Clave pública
↓
Válida / No válida
¿Qué es un hash criptográfico?
Una función hash criptográfica transforma una entrada de tamaño variable en un resultado de longitud determinada.
Ejemplo conceptual
"Hola"
↓
Función hash
↓
185f8db3...
"Hola!"
↓
Función hash
↓
334d016f...
Una modificación pequeña cambia el resultado
Esto permite utilizar hashes como parte de mecanismos destinados a verificar integridad.
Un hash no está diseñado para descifrarse
A diferencia del cifrado, no existe una clave que permita simplemente ejecutar la operación inversa y recuperar el contenido original.
¿El hash siempre es único?
No literalmente.
Como la cantidad de posibles entradas es mayor que la cantidad de posibles resultados de tamaño fijo, matemáticamente pueden existir colisiones.
Una función hash criptográfica segura está diseñada para que encontrar esas colisiones resulte computacionalmente impracticable.
Significa que debería ser computacionalmente inviable encontrar deliberadamente dos entradas diferentes con el mismo resultado bajo las condiciones de seguridad esperadas.
Cifrado vs. hashing vs. codificación
Son conceptos que suelen confundirse.
Cifrado
Está diseñado para proteger información que posteriormente puede necesitar recuperarse mediante las claves apropiadas.
Hash
Produce un resumen de longitud determinada y no está pensado para recuperar directamente el contenido original.
Codificación
Transforma información para que pueda representarse o transportarse en otro formato.
No es un mecanismo de confidencialidad.
CIFRADO
Texto
↓
Clave
↓
Cifrado
↓
Puede descifrarse
HASH
Texto
↓
Hash
↓
Resumen
↓
No está diseñado
para revertirse
CODIFICACIÓN
Datos
↓
Base64, por ejemplo
↓
Representación
↓
Puede decodificarse
sin clave secreta
Base64 no cifra información
Cualquier persona puede decodificar una cadena Base64 utilizando herramientas comunes.
¿Qué es una firma digital?
Una firma digital utiliza criptografía de clave pública para proporcionar mecanismos de verificación sobre un mensaje o documento.
Puede ayudar a verificar
- Quién posee la clave utilizada para firmar.
- Que los datos no hayan sido modificados después de la firma.
Proceso simplificado
DOCUMENTO
↓
Función criptográfica
↓
Firma utilizando
clave privada
↓
FIRMA DIGITAL
VERIFICACIÓN
Documento
+
Firma digital
+
Clave pública
↓
Resultado
de verificación
No es lo mismo que insertar una imagen de una firma
Una imagen escaneada puede copiarse fácilmente.
Una firma digital criptográfica utiliza operaciones matemáticas que permiten verificar la firma contra la clave pública correspondiente.
¿Qué es un MAC en criptografía?
MAC significa Message Authentication Code o código de autenticación de mensajes.
Utiliza una clave secreta
Un MAC permite que participantes que comparten una clave puedan verificar la integridad y autenticidad de un mensaje.
Mensaje
+
Clave secreta
↓
MAC
↓
Código de autenticación
Receptor
Mensaje
+
Misma clave
↓
Verificación
HMAC
HMAC es una construcción ampliamente utilizada que combina una función hash criptográfica con una clave secreta.
Hash y MAC no son equivalentes
Un hash por sí solo no demuestra quién generó el mensaje.
Un MAC incorpora una clave secreta compartida.
¿Cómo utiliza HTTPS la criptografía?
Cuando visitas una página mediante HTTPS, el navegador y el servidor utilizan TLS para establecer una comunicación protegida.
HTTPS combina diferentes mecanismos
En términos simplificados:
Navegador
↓
TLS
↓
Autenticación
+
Establecimiento de claves
↓
Clave de sesión
↓
Cifrado simétrico
↓
Comunicación protegida
¿Por qué combinar criptografía asimétrica y simétrica?
Porque cada mecanismo resuelve problemas diferentes.
Las operaciones de clave pública pueden participar en autenticación y establecimiento de secretos, mientras que los algoritmos simétricos son adecuados para proteger grandes cantidades de tráfico de manera eficiente.
Certificados digitales
Los certificados ayudan a vincular claves públicas con identidades o dominios dentro de una infraestructura de confianza.
¿Las contraseñas deben cifrarse o almacenarse como hash?
Las contraseñas normalmente no deberían almacenarse utilizando cifrado reversible.
¿Por qué?
Un sistema de autenticación generalmente no necesita recuperar la contraseña original.
Necesita comprobar si la contraseña introducida corresponde con la registrada.
Flujo conceptual
Usuario crea contraseña
↓
Función específica
para passwords
+
salt
↓
Resultado almacenado
LOGIN
Contraseña ingresada
↓
Mismo procedimiento
↓
Comparación
No debería utilizarse simplemente SHA-256 para passwords
Las contraseñas necesitan algoritmos específicamente diseñados para almacenamiento de credenciales y resistentes a intentos masivos de adivinación.
Ejemplos de enfoques especializados
- Argon2.
- scrypt.
- bcrypt.
- PBKDF2 en entornos apropiados.
Aunque ambos utilizan conceptos relacionados con hashing, una contraseña requiere mecanismos deliberadamente costosos y configuraciones adecuadas para dificultar ataques de fuerza bruta.
La gestión de claves es tan importante como el algoritmo
Una implementación puede utilizar un excelente algoritmo y aun así ser insegura si las claves están mal protegidas.
Una clave criptográfica necesita un ciclo de vida
Generación
↓
Distribución
↓
Almacenamiento
↓
Uso
↓
Rotación
↓
Revocación
↓
Destrucción
No guardes claves dentro del código fuente
Evita prácticas como:
$encryption_key =
"mi-clave-super-secreta";
Tampoco deberían publicarse en Git
Una clave comprometida debe considerarse expuesta incluso si posteriormente eliminas el archivo del repositorio visible.
Utiliza sistemas especializados cuando corresponda
Por ejemplo:
- Hardware Security Modules.
- Servicios KMS.
- Key Vaults.
- Secret managers.
Planifica la rotación
Los sistemas deberían permitir sustituir claves sin tener que rediseñar completamente la aplicación.
Algoritmos criptográficos que deberías conocer
AES
Algoritmo de cifrado simétrico ampliamente utilizado.
RSA
Familia de técnicas de clave pública utilizada históricamente en diferentes aplicaciones.
ECC
La criptografía de curvas elípticas permite construir mecanismos de clave pública con propiedades y tamaños de clave diferentes a RSA.
SHA-2
Familia de funciones hash que incluye SHA-256 y SHA-512.
SHA-3
Otra familia estandarizada de funciones hash criptográficas.
HMAC
Construcción utilizada para autenticar mensajes mediante una función hash y una clave secreta.
Utiliza bibliotecas mantenidas, protocolos establecidos y configuraciones recomendadas. La criptografía es especialmente sensible a pequeños errores de implementación.
¿Cómo utiliza blockchain la criptografía?
Las redes blockchain utilizan distintos mecanismos criptográficos como parte de su funcionamiento.
Hashes
Pueden utilizarse para representar bloques, transacciones u otras estructuras de datos.
Firmas digitales
Permiten autorizar determinadas operaciones utilizando claves privadas.
Direcciones y claves
Muchas redes utilizan sistemas derivados de criptografía de clave pública.
Clave privada
↓
Firma de transacción
↓
Red verifica
con información pública
↓
Operación validable
¿Qué es la criptografía poscuántica?
La criptografía poscuántica o Post-Quantum Cryptography (PQC) estudia algoritmos diseñados para resistir determinados ataques que podrían realizar futuros computadores cuánticos suficientemente potentes.
No es lo mismo que criptografía cuántica
La criptografía poscuántica utiliza algoritmos que pueden ejecutarse en computadores convencionales.
CRIPTOGRAFÍA CUÁNTICA
Utiliza fenómenos
de física cuántica
CRIPTOGRAFÍA
POSCUÁNTICA
Algoritmos clásicos
diseñados para resistir
ataques cuánticos
NIST ya publicó estándares poscuánticos
En 2024 NIST publicó sus primeros tres estándares principales:
ML-KEM
Mecanismo de encapsulación de claves basado en retículas.
ML-DSA
Algoritmo de firma digital poscuántica.
SLH-DSA
Esquema de firmas digitales basado en funciones hash.
¿Por qué comenzar una migración antes de tener grandes computadores cuánticos?
Parte de la información cifrada actualmente puede necesitar permanecer protegida durante muchos años.
Además, sustituir sistemas criptográficos utilizados en grandes organizaciones puede requerir largos periodos de planificación, desarrollo y migración.
Los sistemas deberían estar diseñados para poder sustituir algoritmos y claves cuando los estándares o amenazas cambien.
¿Cómo puede fallar la criptografía?
Una vulnerabilidad criptográfica no siempre significa que alguien haya roto matemáticamente el algoritmo.
Claves robadas
Si un atacante obtiene una clave secreta, puede evitar tener que atacar directamente el algoritmo.
Contraseñas débiles
Una buena función criptográfica no compensa una credencial extremadamente predecible.
Generadores aleatorios inseguros
Las claves necesitan aleatoriedad criptográficamente segura.
Algoritmos obsoletos
Algoritmos que alguna vez fueron considerados adecuados pueden dejar de serlo cuando aparecen nuevos ataques o aumenta la capacidad computacional.
Mala implementación
Errores en:
- Nonces.
- IV.
- Padding.
- Validación.
- Comparaciones.
- Gestión de errores.
pueden debilitar un sistema incluso cuando el algoritmo principal es sólido.
Filtraciones laterales
En determinados escenarios un atacante puede estudiar tiempos de ejecución, consumo eléctrico u otras señales producidas durante operaciones criptográficas.
12 errores frecuentes al hablar de criptografía
1. Pensar que Base64 es cifrado
Base64 es una codificación y puede revertirse sin una clave secreta.
2. Decir que un hash es siempre único
Las colisiones son matemáticamente posibles. Una buena función criptográfica hace que encontrarlas deliberadamente resulte computacionalmente inviable.
3. Decir que un hash se descifra
Las funciones hash no están diseñadas como transformaciones reversibles.
4. Cifrar contraseñas de forma reversible
Las contraseñas normalmente deberían almacenarse utilizando mecanismos específicos de hashing para credenciales.
5. Crear tu propio algoritmo
Los sistemas criptográficos necesitan años de análisis para obtener confianza sobre sus propiedades.
6. Guardar claves en Git
Un repositorio no debería utilizarse como almacén de secretos.
7. Usar una clave débil
La fortaleza del algoritmo puede perderse si la clave es fácilmente adivinable.
8. Reutilizar nonces cuando el algoritmo no lo permite
En determinados modos de cifrado esto puede provocar fallos graves de seguridad.
9. Pensar que RSA siempre es más seguro que AES
No son alternativas equivalentes: se utilizan para objetivos y contextos diferentes.
10. Considerar la ofuscación como sustituto del cifrado
Dificultar la lectura de código no proporciona las mismas garantías que la criptografía.
11. Pensar que HTTPS protege un servidor comprometido
TLS protege principalmente la comunicación. No soluciona vulnerabilidades existentes dentro del servidor o aplicación.
12. Elegir algoritmos solamente por su nombre
La configuración, biblioteca, modo, claves y protocolo completo son tan importantes como el algoritmo principal.
Checklist básico para utilizar criptografía correctamente
- ✓ Definí qué información necesito proteger.
- ✓ Identifiqué la amenaza.
- ✓ Utilizo algoritmos actuales y ampliamente revisados.
- ✓ Utilizo bibliotecas mantenidas.
- ✓ No inventé mi propio algoritmo.
- ✓ Las claves se generan de forma segura.
- ✓ Las claves no están hardcodeadas.
- ✓ Las claves no están publicadas en Git.
- ✓ Tengo un mecanismo de rotación.
- ✓ Utilizo HTTPS/TLS donde corresponde.
- ✓ Las contraseñas utilizan mecanismos adecuados de hashing.
- ✓ Diferencio cifrado de codificación.
- ✓ Puedo actualizar algoritmos en el futuro.
- ✓ Considero respaldos seguros de claves cuando corresponde.
- ✓ Tengo un procedimiento ante compromiso de claves.
Preguntas sobre criptografía
¿Qué es la criptografía?
La criptografía es una disciplina que utiliza técnicas matemáticas para proteger información, proporcionar confidencialidad, verificar integridad, autenticar participantes y crear firmas digitales.
¿Para qué sirve la criptografía?
Se utiliza para proteger comunicaciones, archivos, transacciones, credenciales, conexiones web y muchos otros sistemas digitales.
¿Qué significa cifrar?
Cifrar significa transformar información legible mediante un algoritmo y una clave para producir datos protegidos que solamente puedan recuperarse utilizando los mecanismos autorizados.
¿Qué es descifrar?
Es recuperar la información original a partir de datos cifrados utilizando la clave o procedimiento correspondiente.
¿Qué es criptografía simétrica?
Es un enfoque de cifrado basado en una clave secreta compartida entre participantes autorizados.
¿Qué es criptografía asimétrica?
Es un enfoque basado en pares de claves relacionadas matemáticamente, normalmente denominadas clave pública y clave privada.
¿Qué es una clave pública?
Es una de las claves pertenecientes a un sistema asimétrico y puede compartirse para realizar operaciones como verificación o establecimiento de claves según el protocolo utilizado.
¿Qué es una clave privada?
Es la parte secreta de un par criptográfico y debe permanecer protegida por su propietario.
¿Qué es AES?
AES es un estándar ampliamente utilizado de cifrado simétrico.
¿Qué es RSA?
RSA es una familia de algoritmos de criptografía de clave pública utilizada históricamente en distintos protocolos y aplicaciones.
¿Qué es un hash?
Es el resultado producido por una función hash que transforma datos de longitud variable en una representación de longitud determinada.
¿Un hash puede descifrarse?
No está diseñado para ello. Las funciones hash criptográficas son funciones unidireccionales y no utilizan una clave para recuperar directamente la entrada original.
¿Dos archivos pueden tener el mismo hash?
Matemáticamente sí pueden existir colisiones. Una función hash criptográfica segura busca hacer computacionalmente inviable encontrarlas deliberadamente.
¿SHA-256 es cifrado?
No. SHA-256 es una función hash perteneciente a la familia SHA-2.
¿Base64 es criptografía?
No. Base64 es un mecanismo de codificación utilizado para representar datos y puede decodificarse sin una clave secreta.
¿Qué es una firma digital?
Es un mecanismo criptográfico que permite verificar la integridad de información y la relación de la firma con una clave privada determinada.
¿Qué es HMAC?
Es una construcción que utiliza una función hash criptográfica junto con una clave secreta para autenticar mensajes.
¿HTTPS utiliza criptografía?
Sí. HTTPS utiliza TLS para proteger la comunicación entre el navegador y el servidor mediante distintos mecanismos criptográficos.
¿Qué es un certificado SSL?
En el uso cotidiano suele llamarse certificado SSL al certificado digital utilizado actualmente dentro de conexiones TLS. SSL es el nombre histórico de protocolos anteriores.
¿Las contraseñas se deben cifrar?
Normalmente las contraseñas no deberían almacenarse mediante cifrado reversible. Se utilizan funciones específicas de derivación o hashing de contraseñas con configuraciones adecuadas.
¿Qué es criptografía poscuántica?
Es el desarrollo de algoritmos criptográficos diseñados para resistir determinados ataques que podrían realizar futuros computadores cuánticos suficientemente potentes.
¿Criptografía poscuántica y criptografía cuántica son lo mismo?
No. La criptografía poscuántica utiliza algoritmos ejecutables en computadores convencionales, mientras la criptografía cuántica utiliza principios físicos de sistemas cuánticos.
¿Qué es ML-KEM?
Es un mecanismo poscuántico de encapsulación de claves estandarizado por NIST en FIPS 203.
¿Qué es ML-DSA?
Es un algoritmo de firma digital poscuántica estandarizado por NIST en FIPS 204.
¿La criptografía puede romperse?
Sí. Un sistema puede fallar por debilidades matemáticas, claves comprometidas, algoritmos obsoletos, errores de implementación, mala generación aleatoria o problemas de gestión de claves.
¿Es seguro crear mi propio algoritmo de cifrado?
No es recomendable para sistemas reales. Es preferible utilizar algoritmos y bibliotecas ampliamente analizados por la comunidad criptográfica.
Continúa aprendiendo sobre ciberseguridad
Fuentes para aprender criptografía
La criptografía es un área especializada de la seguridad informática. Para implementar sistemas reales conviene utilizar estándares, bibliotecas y recomendaciones técnicas mantenidas por organizaciones especializadas.



