📝 AlgoritmosCifrado
← Volver

Algoritmos de cifrado

Resumen de algoritmos de cifrado simétricos y asimétricos, uso de claves pública/privada, aplicación en navegadores web (TLS) y los algoritmos incluidos en el DNIe español.


1. Conceptos clave: qué se cifra con qué clave

En criptografía asimétrica cada usuario tiene un par de claves matemáticamente ligadas: una pública (se comparte) y una privada (se guarda en secreto). Lo que se cifra con una solo se descifra con la otra.

Objetivo Se cifra/firma con… Se descifra/verifica con… Garantiza
Confidencialidad (que solo el destinatario pueda leerlo) Clave pública del destinatario Clave privada del destinatario Confidencialidad
Firma digital (demostrar quién lo envía) Clave privada del emisor Clave pública del emisor Autenticidad + integridad + no repudio
Sobre digital (lo habitual en la práctica) Mensaje cifrado con clave simétrica de sesión; la clave de sesión se cifra con la clave pública del destinatario El destinatario descifra la clave de sesión con su privada y con ella el mensaje Confidencialidad + eficiencia

🧠 Regla mnemotécnica:
- Cifrar para enviar en secreto → pública del que recibe.
- Firmar para demostrar quién soy → privada del que firma.


2. Algoritmos de cifrado SIMÉTRICO

En el cifrado simétrico se usa la misma clave para cifrar y descifrar. Es rápido y eficiente, pero plantea el problema de distribuir la clave de forma segura.

2.1 Algoritmos por bloques (block ciphers)

Algoritmo Tamaño de bloque Tamaño de clave Estado actual Notas
DES 64 bits 56 bits ❌ Obsoleto (roto) Estándar de los 70. Inseguro por clave corta.
3DES / Triple DES / TDEA 64 bits 112 o 168 bits ⚠️ En desuso (NIST lo retira en 2023) Aplica DES 3 veces. Usado en DNIe 3.0 y banca.
AES (Rijndael) 128 bits 128, 192 o 256 bits Estándar actual Sucesor de DES (NIST 2001). Usado en TLS, WiFi WPA2/3, DNIe, BitLocker…
Blowfish 64 bits 32–448 bits ⚠️ Heredado Diseñado por Bruce Schneier. Sustituido por Twofish.
Twofish 128 bits 128, 192 o 256 bits ✅ Vigente Finalista del concurso AES.
Serpent 128 bits 128, 192 o 256 bits ✅ Vigente Otro finalista AES, muy seguro pero más lento.
IDEA 64 bits 128 bits ⚠️ Heredado Usado en versiones antiguas de PGP.
Camellia 128 bits 128, 192 o 256 bits ✅ Vigente Estándar japonés, aceptado por ISO/IEC y TLS.
CAST-128 / CAST-256 64 / 128 bits 40–128 / 128–256 bits ⚠️ Heredado Usado en GPG.
RC5 / RC6 Variable Hasta 2040 bits ⚠️ Heredado RC6 fue finalista AES.
SM4 128 bits 128 bits ✅ Vigente Estándar chino.

2.2 Algoritmos de flujo (stream ciphers)

Algoritmo Tamaño de clave Estado Notas
RC4 40–2048 bits ❌ Obsoleto (prohibido en TLS desde 2015) Usado antiguamente en WEP y SSL.
Salsa20 128 o 256 bits ✅ Vigente Diseñado por Daniel J. Bernstein.
ChaCha20 256 bits ✅ Vigente Variante mejorada de Salsa20. Usado en TLS 1.3, WireGuard y OpenSSH.
A5/1, A5/2 54/64 bits ❌ Obsoletos Cifrado de GSM (móviles 2G).

2.3 Modos de operación (cómo se aplica un cifrador por bloques)

Modo Significado Características
ECB Electronic Code Book ❌ Inseguro: patrones visibles.
CBC Cipher Block Chaining Encadena bloques con un IV. Muy usado, pero vulnerable a padding oracle.
CFB Cipher Feedback Convierte el cifrador de bloque en uno de flujo.
OFB Output Feedback Similar a CFB; no propaga errores.
CTR Counter Paralelizable; muy rápido.
GCM Galois/Counter Mode Cifrado autenticado (AEAD). Estándar en TLS 1.2/1.3.
CCM Counter with CBC-MAC AEAD usado en WPA2 (WiFi).

En el examen suele preguntarse que AES-GCM y ChaCha20-Poly1305 son los modos AEAD (Authenticated Encryption with Associated Data) recomendados.


3. Algoritmos de cifrado ASIMÉTRICO (clave pública)

Cada usuario tiene una pareja de claves. Son lentos comparados con los simétricos, por lo que en la práctica se combinan (cifrado híbrido).

Algoritmo Basado en Uso principal Tamaño de clave típico Notas
RSA Factorización de enteros grandes Cifrado y firma 2048, 3072, 4096 bits El más conocido. Base de muchos certificados X.509.
DSA Logaritmo discreto Solo firma (no cifra) 2048, 3072 bits Estándar NIST. Sustituido por ECDSA.
Diffie-Hellman (DH) Logaritmo discreto Intercambio de claves (no cifra mensajes) 2048+ bits Permite acordar una clave simétrica por canal inseguro.
ECDH / ECDHE Curva elíptica Intercambio de claves (versión elíptica de DH) 256, 384 bits "E" = Ephemeral → da Perfect Forward Secrecy. Usado en TLS 1.3.
ECDSA Curva elíptica Firma digital 256, 384, 521 bits Versión elíptica de DSA. Usado en DNIe 4.0, Bitcoin, certificados TLS.
EdDSA (Ed25519, Ed448) Curva de Edwards Firma digital 256, 448 bits Moderno, rápido y seguro. Usado en OpenSSH y SSL moderno.
ElGamal Logaritmo discreto Cifrado y firma 2048+ bits Base de GPG histórico.
Rabin Factorización Cifrado 2048+ bits Académico, poco usado.
Kyber (ML-KEM) Lattices (retículos) Post-cuántico — intercambio de claves Variable Estándar NIST 2024 contra ordenadores cuánticos.
Dilithium (ML-DSA) Lattices Post-cuántico — firma digital Variable Estándar NIST 2024.
SPHINCS+ Funciones hash Post-cuántico — firma digital Variable Estándar NIST 2024.

⚠️ Importante para el examen: DSA y ECDSA NO cifran, solo firman. Para cifrar con clave pública se usa RSA, ElGamal o, en la práctica moderna, un esquema híbrido (asimétrico para intercambiar la clave, simétrico para los datos).


4. Funciones HASH (no son cifrado, pero suelen ir juntas en el examen)

Los hashes producen un resumen de longitud fija. No son reversibles y no llevan clave (salvo HMAC).

Algoritmo Tamaño de salida Estado Notas
MD5 128 bits ❌ Roto (colisiones) No usar para seguridad.
SHA-1 160 bits ❌ Roto desde 2017 (ataque SHAttered) Aún se ve en sistemas heredados.
SHA-2 (SHA-224, SHA-256, SHA-384, SHA-512) 224–512 bits ✅ Vigente Estándar actual. Usado en TLS, DNIe, Bitcoin, certificados.
SHA-3 (Keccak) 224–512 bits ✅ Vigente Estándar NIST 2015, distinto diseño que SHA-2.
BLAKE2 / BLAKE3 Variable ✅ Vigente Más rápido que SHA-2/3.
RIPEMD-160 160 bits ⚠️ Heredado Usado en Bitcoin (direcciones).
HMAC-SHA-256, HMAC-SHA-1 Según el hash ✅ Vigente Hash con clave secreta (autenticación de mensajes).

5. Algoritmos usados en el navegador web (HTTPS / TLS)

El protocolo TLS (1.2 y 1.3) que protege HTTPS usa un esquema HÍBRIDO:

  1. Handshake (intercambio de claves) → criptografía asimétrica:
    - ECDHE (Elliptic Curve Diffie-Hellman Ephemeral) — preferido en TLS 1.3, da Perfect Forward Secrecy.
    - RSA (legacy, eliminado del intercambio en TLS 1.3).
  2. Autenticación del servidor → firma del certificado X.509:
    - RSA (clásico) o ECDSA / EdDSA (moderno).
  3. Cifrado de los datos de la sesión → criptografía simétrica autenticada (AEAD):
    - AES-128-GCM o AES-256-GCM.
    - ChaCha20-Poly1305 (preferido en móviles sin aceleración AES).
  4. Integridad y hashesSHA-256 o SHA-384.

Suites de cifrado típicas en TLS 1.2 (formato KEX_AUTH_WITH_CIPHER_HASH):

TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256

En TLS 1.3 el nombre se simplifica:

TLS_AES_256_GCM_SHA384
TLS_CHACHA20_POLY1305_SHA256

🌐 Resumen para el examen: El navegador combina asimétrico (RSA/ECDHE/ECDSA) para autenticarse y acordar claves, y simétrico (AES-GCM o ChaCha20) para cifrar los datos. El hash es SHA-256.


6. Algoritmos incluidos en el DNIe

El DNI electrónico español ha evolucionado por versiones. Es habitual que en el examen TAI se pregunte específicamente por el DNIe 3.0 o DNIe 4.0.

6.1 DNIe 3.0 (introducido en 2015)

Tipo Algoritmo
Asimétrico RSA (hasta 2048 bits en formato CRT, hasta 1024 bits en formato normal)
Generación de claves RSA Estándar PKCS#1
Simétrico Triple DES (3DES) y AES
Hash SHA-256
Estándares de tarjeta ISO/IEC 7816 y ISO/IEC 14443 (NFC), PKCS#15
Certificación Common Criteria EAL5+

6.2 DNIe 4.0 (introducido en 2021, actual)

Tipo Algoritmo
Asimétrico — autenticación del chip ECC (curva elíptica) con clave de 256 bits
Asimétrico — certificado del ciudadano ECC (curva elíptica) con clave de 384 bits
Asimétrico — compatibilidad / usos futuros RSA hasta 3.071 bits
Simétrico AES-128
Hash SHA-256
Conectividad Contacto + NFC (sin contacto)
Cumple Reglamento europeo eIDAS

🧠 Lo que más cae:
- DNIe 3.0RSA + 3DES/AES + SHA-256.
- DNIe 4.0ECC (256/384 bits) + AES-128 + SHA-256 (con RSA para compatibilidad).
- Ambos usan certificados X.509, y dos certificados por ciudadano: uno de autenticación y otro de firma.


7. Tabla resumen final

Aspecto Simétrico Asimétrico
Nº de claves Una compartida Pareja pública/privada
Velocidad Rápido Lento
Problema principal Distribución segura de la clave Coste computacional
Usos típicos Cifrar grandes volúmenes (archivos, VPN, sesión TLS) Firma digital, intercambio de claves, certificados
Ejemplos AES, ChaCha20, 3DES RSA, ECC, DH, ECDSA
¿En el DNIe? AES (4.0), 3DES y AES (3.0) ECC 256/384 (4.0), RSA 2048 (3.0)
¿En el navegador? AES-GCM, ChaCha20-Poly1305 RSA, ECDHE, ECDSA

8. Errores típicos del examen (¡cuidado!)


Documento de estudio — Oposición TAI. Última revisión: mayo 2026.