Cómo funciona la encriptación de datos (cifrado simétrico, asimétrico y hash)

Seguridad informática · Criptografía · Actualizado 2025 · Lectura: ~12 min

Cada vez que haces una compra online, envías un correo o usas WhatsApp, tus datos viajan encriptados. La encriptación (o cifrado) es el arte de transformar información legible en un galimatías ininteligible, y solo aquellos que poseen la clave adecuada pueden descifrarla. Hay dos grandes familias: la encriptación simétrica (una misma clave para cifrar y descifrar) y la asimétrica (clave pública para cifrar, clave privada para descifrar). Además, las funciones hash se usan para verificar la integridad sin necesidad de clave. Te explico cómo funcionan los algoritmos AES, RSA, SHA, qué son los certificados digitales y por qué el candado verde de tu navegador (TLS) es la columna vertebral de internet seguro.

01 / Conceptos básicos

Conceptos básicos: cifrado, descifrado, clave, texto claro y cifrado

La encriptación se basa en transformar un mensaje legible (texto claro o plaintext) en un mensaje ilegible (texto cifrado o ciphertext) mediante un algoritmo y una clave. El algoritmo es público (Kerckhoffs: la seguridad no debe depender del secreto del algoritmo, sino de la clave).

Ejemplo histórico: cifrado César (desplazar letras). Si la clave es 3, “hola” se convierte en “krod”. Con la clave 3 inversa, se descifra. Los algoritmos modernos son matemáticamente muy complejos.

Propiedades deseables:

  • Confidencialidad: solo quien tiene la clave puede leer el mensaje.
  • Integridad: asegurar que el mensaje no ha sido modificado (usando hash o MAC).
  • Autenticación: verificar la identidad de quien envía (firmas digitales).

02 / Cifrado simétrico

Cifrado simétrico (AES, ChaCha20): misma clave para ambos lados, rápida y segura

En la criptografía simétrica, la misma clave se usa tanto para cifrar como para descifrar. Es rápida y adecuada para grandes volúmenes de datos. El desafío: ¿cómo compartir la clave de forma segura entre emisor y receptor? (Problema del intercambio de claves, resuelto con criptografía asimétrica).

Algoritmos simétricos actuales:

  • AES (Advanced Encryption Standard): estándar del gobierno de EE.UU. desde 2001. Usa bloques de 128 bits y claves de 128, 192 o 256 bits. Es resistente a todos los ataques conocidos si la implementación es correcta. Modos de operación: GCM (galois counter mode) que además da integridad.
  • ChaCha20: diseñado por Daniel Bernstein, más rápido en software sin aceleración por hardware (móviles). Usado en TLS y WireGuard.
  • Triple DES: obsoleto, pero aún se encuentra en sistemas legacy. Inseguro.

AES-256 es el estándar para datos clasificados “Top Secret”. Se considera computacionalmente inviable de romper por fuerza bruta (2²⁵⁶ combinaciones).

Los discos duros cifrados (BitLocker, LUKS, FileVault) usan AES en modo XTS con clave de 256 bits.

Modo de operación: por qué no basta con aplicar AES bloque por bloque

Si usas AES simplemente bloque a bloque (modo ECB), el mismo bloque de texto claro siempre produce el mismo texto cifrado, revelando patrones. Por eso se usan modos como CBC (encadenamiento) o GCM (autenticado). GCM es el preferido hoy en día porque además proporciona integridad y autenticidad.


03 / Cifrado asimétrico

Cifrado asimétrico (RSA, ECC): clave pública y privada, el problema del intercambio de claves

La criptografía asimétrica utiliza dos claves matemáticamente relacionadas:

  • Clave pública: puede distribuirse libremente. Sirve para cifrar mensajes y verificar firmas.
  • Clave privada: debe mantenerse secreta. Sirve para descifrar mensajes y firmar.

El algoritmo más conocido es RSA (Rivest-Shamir-Adleman), basado en la dificultad de factorizar números grandes. Claves de 2048 bits o 4096 bits son comunes. La operación es lenta, por lo que no se usa para cifrar datos grandes; se emplea para cifrar una clave simétrica que luego se usa para el grueso de los datos (cifrado híbrido).

ECC (Elliptic Curve Cryptography): usa curvas elípticas, ofrece la misma seguridad que RSA con claves mucho más cortas (256 bits ECC ~ 3072 bits RSA). Usado en TLS moderno y criptomonedas. Ejemplo: curva P-256 (secp256r1) y Curve25519.

El cifrado asimétrico también permite firmas digitales: el emisor firma con su clave privada; cualquiera puede verificar la firma con la clave pública. Esto asegura autenticación y no repudio.

Sin embargo, el cifrado asimétrico no oculta el tamaño del mensaje (puede tener expansión) y es vulnerable a ataques de “hombre en el medio” si no hay autenticación de las claves públicas (resuelto con PKI).


04 / Funciones hash

Funciones hash (SHA-256, MD5): huellas digitales de datos (no reversible)

Una función hash criptográfica toma una entrada de cualquier tamaño y produce una salida de tamaño fijo (ej. 256 bits). Propiedades:

  • Determinista: misma entrada → mismo hash.
  • No reversible: no se puede obtener la entrada a partir del hash.
  • Resistente a colisiones: es muy difícil encontrar dos entradas diferentes con el mismo hash.
  • Efecto avalancha: un pequeño cambio en la entrada produce un hash completamente diferente.

Hash populares:

  • SHA-256 (Secure Hash Algorithm): parte de la familia SHA-2, usado en Bitcoin, TLS, checksums, contraseñas. Salida de 256 bits (64 hexa). Se considera seguro.
  • SHA-3: nuevo estándar basado en Keccak, más resistente a ataques.
  • MD5 y SHA-1: rotos (colisiones demostradas), no usar para seguridad.

Los hash se usan para:

  • Almacenar contraseñas (con sal, no directamente).
  • Verificar integridad de archivos (checksums).
  • Pilas de bloques blockchains (merkle root).
  • Generar identificadores únicos.

No confundir hash con cifrado: el hash no es reversible, no hay clave.


05 / HTTPS/TLS

HTTPS/TLS: cómo los certificados digitales autentican sitios web y cifran la comunicación

Cuando navegas por HTTPS (candado verde), tu navegador y el servidor web establecen una conexión cifrada usando TLS (Transport Layer Security). El flujo simplificado:

  1. El navegador solicita una conexión segura al servidor.
  2. El servidor envía su certificado digital (contiene su clave pública y datos de la organización).
  3. El navegador verifica que el certificado sea válido (emitido por una autoridad certificadora de confianza, no revocado, nombre coincide).
  4. El navegador genera una clave simétrica efímera (cifrado con la clave pública del servidor – RSA o ECDHE) y se la envía al servidor.
  5. Ambos ahora comparten una clave secreta simétrica y empiezan a cifrar los datos de la sesión (usando AES-GCM o ChaCha20).

La Autoridad Certificadora (CA) (DigiCert, Let’s Encrypt, GlobalSign) garantiza que el certificado corresponde al sitio web. Si alguien intenta suplantar al servidor (ataque MITM), el navegador mostrará una advertencia porque el certificado no podrá validarse.

Hoy en día, la mayoría de webs usan TLS 1.3, que es más rápido y seguro que TLS 1.2.


06 / PKI

Infraestructura de clave pública (PKI): autoridades certificadoras (CA) y cadena de confianza

La PKI gestiona los certificados digitales. La jerarquía:

  • Autoridad raíz (Root CA): Certificado autofirmado de máxima confianza. Los navegadores y sistemas operativos incluyen una lista de raíces preinstaladas (de empresas como Let’s Encrypt, IdenTrust, etc.).
  • Autoridades intermedias (Intermediate CA): emiten certificados para servidores. Si la intermedia se ve comprometida, la raíz la revoca.
  • Certificado de servidor: emitido para un dominio específico (ej. todoplantas.net).

Para obtener un certificado (gratuito), puedes usar Let’s Encrypt, automatizado mediante ACME. Los certificados de validación de dominio (DV) solo verifican control del dominio; los OV (validación de organización) y EV (validación extendida) requieren más documentación pero también ofrecen mayor confianza.

La PKI también se usa en VPNs, correo cifrado (S/MIME), IoT y firmas electrónicas.

Firmas digitales y no repudio

Una firma digital se genera aplicando una función hash al mensaje y luego cifrando ese hash con la clave privada del firmante. Cualquiera puede descifrar con la clave pública y comparar el hash para verificar que el mensaje no ha sido alterado y que proviene de quien dice. Oficialmente, la Ley 59/2003 de firma electrónica reconoce estos mecanismos legales (firma cualificada con certificado de FNMT).


07 / Encriptación vs hash vs codificación

Encriptación vs. hash vs. codificación: diferencias prácticas

Conceptos que a menudo se confunden:

  • Encriptación (cifrado): reversible mediante clave. Objetivo: confidencialidad.
  • Hash: irreversible, sin clave. Objetivo: integridad y almacenamiento seguro de contraseñas.
  • Codificación (Base64, Hex): convertir datos a un formato legible o transportable, sin seguridad. Es reversible sin clave. Ejemplo: adjuntar imágenes en HTML (Base64).

No uses codificación como cifrado. Tampoco uses hash para cifrar (no es reversible).

Ejemplo de uso combinado: protección de contraseñas en bases de datos

Nunca guardes contraseñas en texto claro. En su lugar, guarda un hash (SHA-256) con una “sal” única por usuario (para evitar ataques de arcoíris). Para login, vuelves a aplicar hash a la contraseña proporcionada más la sal y comparas con el hash almacenado. Nunca se descifra la contraseña original.


08 / FAQ

Preguntas frecuentes sobre encriptación de datos

¿La encriptación AES-256 puede ser rota?
Teóricamente sí, mediante fuerza bruta probando todas las claves posibles (2²⁵⁶ intentos). Pero con la tecnología actual, tomaría infinidad de años. Tampoco se conocen ataques matemáticos prácticos. La principal vulnerabilidad es la implementación: canales laterales (timing), malas configuraciones, o que el atacante obtenga la clave por otros medios (phishing, malware). A nivel nacional gubernamental, AES-256 se considera seguro para datos ultraclasificados.
¿Qué significa “cifrado de extremo a extremo” (E2EE) en WhatsApp?
Significa que el mensaje se cifra en el dispositivo emisor y solo se descifra en el dispositivo receptor. Ni siquiera el proveedor (WhatsApp) puede leerlo. Se implementa usando criptografía asimétrica: cada dispositivo genera un par de claves; las claves públicas se intercambian mediante la red de servidores (pero estos no ven la clave privada). Los mensajes se cifran con clave simétrica (AES) que a su vez se cifra con la clave pública del destinatario. Es considerado seguro contra escuchas en tránsito y contra el propio proveedor.
¿Qué es un “certificado autofirmado” y por qué da advertencia en el navegador?
Es un certificado emitido por uno mismo (sin pasar por una CA). El navegador no confía en él porque no puede verificar la cadena de confianza; la conexión sería cifrada pero no autenticada (riesgo de ataque MITM). La advertencia es peligrosa porque un atacante podría suplantar el sitio. Útil solo para pruebas internas o redes cerradas.
¿Puedo descifrar mis datos si pierdo la clave?
No, si el cifrado es robusto. No hay “puerta trasera”. Por eso es crítico gestionar bien las claves (copias de seguridad, sistemas de recuperación de empresa con custodia clave). En algunos servicios como BitLocker se permite guardar una clave de recuperación en la cuenta Microsoft; esa clave puede recuperarse previa autenticación.
¿El cifrado cuántico acabará con la seguridad actual?
Las computadoras cuánticas (si llegaran a tener suficientes qubits estables) podrían romper RSA y ECC usando el algoritmo de Shor. AES requeriría búsqueda de Grover que reduce su resistencia efectiva a la mitad de bits (AES-128 sería vulnerable, AES-256 aún seguro). Hay algoritmos “post-cuánticos” (CRYSTALS-Kyber, Falcon) que se están estandarizando. Los grandes proveedores ya ofrecen TLS con cifrado híbrido clásico+postcuántico.

Sigue aprendiendo sobre tecnología

Fuentes y referencias técnicas

Daemen, J., & Rijmen, V. (2001). The Design of Rijndael: AES – The Advanced Encryption Standard.
Rivest, R., Shamir, A., & Adleman, L. (1978). A Method for Obtaining Digital Signatures and Public-Key Cryptosystems. Communications of the ACM.
National Institute of Standards and Technology (NIST). (2024). FIPS 180-4 Secure Hash Standard (SHS).
Rescorla, E. (2018). The Transport Layer Security (TLS) Protocol Version 1.3. RFC 8446.
Bernstein, D. J. (2008). ChaCha20 and Poly1305 for IETF Protocols. RFC 8439.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Scroll al inicio