AES-256 Explicado: Qué Significa para tus Datos
AES-256 explicado: cómo funciona el cifrado, por qué importan las claves de 256 bits, qué añade el modo GCM, y qué verificar cuando una app afirma usar cifrado AES-256.
AES-256 es el Estándar de Cifrado Avanzado con una clave de 256 bits, estandarizado por el NIST como FIPS 197 en 2001. Es el algoritmo de cifrado simétrico utilizado por el gobierno de EE.UU. para información clasificada, por los bancos en transacciones financieras, y por aplicaciones enfocadas en seguridad para proteger datos en reposo y en tránsito. AES-256 tiene 2^256 claves posibles, un número mayor que la cantidad estimada de átomos en el universo observable. No existe ningún ataque conocido que reduzca este espacio de claves a una búsqueda computacionalmente viable.
Esta guía explica qué hace realmente AES-256, por qué importa el tamaño de la clave, qué significan los distintos modos (ECB, CBC, GCM) y qué buscar cuando una app afirma usar cifrado AES-256.
Qué Hace Realmente AES
AES es un cifrado de bloque simétrico. "Simétrico" significa que la misma clave cifra y descifra. "Cifrado de bloque" significa que procesa datos en bloques de tamaño fijo de 128 bits (16 bytes).
El algoritmo toma tus datos (texto en claro), los combina con una clave y produce una salida codificada (texto cifrado) a través de una serie de transformaciones matemáticas. Estas transformaciones —sustitución, desplazamiento, mezcla y adición de clave— se repiten un número fijo de veces. AES-256 utiliza 14 rondas.
Cada ronda aplica cuatro operaciones:
- SubBytes: Cada byte se reemplaza usando una tabla de sustitución fija (S-box), introduciendo no linealidad.
- ShiftRows: Los bytes de cada fila se desplazan según diferentes desplazamientos, distribuyendo los datos entre posiciones.
- MixColumns: Las columnas se mezclan mediante multiplicación matricial en un campo finito, difundiendo los cambios entre bytes.
- AddRoundKey: La clave de ronda (derivada de la clave principal) se combina con los datos mediante XOR.
Tras 14 rondas, el texto en claro queda completamente codificado. Revertir estas operaciones con la clave correcta recupera los datos originales. Sin la clave, el texto cifrado es indistinguible del ruido aleatorio.
Por Qué Importan los 256 Bits
El "256" en AES-256 hace referencia a la longitud de la clave: 256 bits. Esto determina el número de claves posibles que un atacante debe probar para romper el cifrado por fuerza bruta.
| Tamaño de clave | Claves posibles | Tiempo para romper por fuerza bruta (1 billón de intentos/seg) |
|---|---|---|
| 56 bits (DES) | 7,2 x 10^16 | ~20 horas |
| 128 bits (AES-128) | 3,4 x 10^38 | 10^13 años (10 billones de años) |
| 256 bits (AES-256) | 1,16 x 10^77 | 10^51 años |
Para contextualizar: el universo tiene aproximadamente 1,38 x 10^10 años. Romper AES-256 por fuerza bruta requeriría unas 10^41 veces más tiempo que la edad del universo, incluso a un billón de intentos por segundo.
AES-128 ya es computacionalmente inviable de romper por fuerza bruta. AES-256 proporciona un margen adicional frente a avances futuros en computación, incluida la computación cuántica. El algoritmo de Grover (un ataque de computación cuántica) reduce a la mitad la longitud de la clave, haciendo que AES-256 sea equivalente a AES-128, que sigue siendo inviable. AES-128 quedaría reducido a una seguridad efectiva de 64 bits, lo cual es potencialmente vulnerable. Por eso las aplicaciones de seguridad crítica prefieren AES-256.
Modos AES: Por Qué Importan
AES por sí solo solo cifra un bloque de 128 bits a la vez. Para datos reales (fotos, documentos, vídeos) se necesita un "modo de operación" que gestione datos de más de 16 bytes. El modo determina cómo se encadenan los bloques y tiene implicaciones de seguridad significativas.
ECB (Electronic Codebook) — No usar
Cada bloque se cifra de forma independiente con la misma clave. Los bloques de texto en claro idénticos producen bloques de texto cifrado idénticos, lo que filtra patrones de los datos. La demostración clásica: cifrar una imagen bitmap con ECB preserva la estructura de la imagen en el texto cifrado, haciendo reconocible el contenido. ECB está incluido en el estándar pero nunca debe usarse para datos con estructura o patrones repetidos (lo cual incluye prácticamente todos los datos del mundo real).
CBC (Cipher Block Chaining) — Heredado
Cada bloque se combina mediante XOR con el bloque de texto cifrado anterior antes de cifrarse. Esto elimina la filtración de patrones de ECB. CBC fue el modo estándar durante décadas, pero ha sido superado por GCM en la mayoría de las aplicaciones. CBC requiere un vector de inicialización (IV) aleatorio y no proporciona autenticación integrada (no se puede detectar si el texto cifrado ha sido manipulado).
GCM (Galois/Counter Mode) — Estándar actual
GCM combina el cifrado en modo contador con autenticación de campo de Galois. Proporciona cifrado autenticado: cifra los datos Y produce una etiqueta de autenticación que detecta cualquier modificación del texto cifrado. Si se cambia un solo bit, el descifrado falla en lugar de producir texto en claro corrupto.
El NIST estandarizó GCM en SP 800-38D (2007). Es el modo recomendado para nuevas implementaciones.
AES-256-GCM es AES con una clave de 256 bits en modo Galois/Counter. Esto es lo que deben usar las aplicaciones de seguridad crítica y lo que usa Vaultaire para cifrar el contenido de fotos y archivos.
| Modo | Filtración de patrones | Autenticación | Recomendación actual |
|---|---|---|---|
| ECB | Sí (grave) | No | No usar |
| CBC | No | No (requiere MAC separado) | Heredado; aceptable con HMAC |
| GCM | No | Sí (integrada) | Recomendado para nuevas implementaciones |
Qué Significa AES-256 para el Almacenamiento de Fotos
Cuando una app de almacenamiento de fotos afirma usar "cifrado AES-256", tres cosas deben ser ciertas:
El contenido de los archivos está cifrado con AES-256. Los datos brutos de la foto (píxeles, metadatos, miniatura) se transforman en texto cifrado usando una clave de 256 bits.
Cada archivo usa un vector de inicialización (IV) único. Si dos fotos idénticas se cifran con la misma clave, el texto cifrado debe ser diferente. Esto requiere un IV único por archivo. Sin él, el análisis estadístico puede revelar patrones.
El modo proporciona autenticación (GCM o equivalente). Sin autenticación, un atacante podría modificar el texto cifrado sin ser detectado. El resultado descifrado sería datos corruptos en lugar de un error.
Lo que "AES-256" en una Página de Marketing No te Dice
AES-256 es necesario pero no suficiente. Varios factores críticos determinan si el cifrado realmente protege tus datos:
La derivación de clave importa. ¿Cómo se genera la clave de 256 bits? Si se deriva de un PIN de 4 dígitos usando una función de derivación débil, la seguridad efectiva es de 4 dígitos (10.000 combinaciones), no de 256 bits. Una implementación sólida usa PBKDF2 con un alto número de iteraciones o Argon2 con parámetros adecuados de memoria y tiempo. Vaultaire usa PBKDF2 con HMAC-SHA512, derivando la clave de un patrón en una cuadrícula 5x5 con miles de millones de entradas posibles.
El almacenamiento de la clave importa. ¿Dónde vive la clave? Si está almacenada en texto plano en el sandbox de la app, cualquier malware con acceso a los archivos puede leerla. El almacenamiento correcto de claves usa mecanismos respaldados por hardware como el Secure Enclave de Apple, donde las claves existen en un coprocesador dedicado con su propia memoria cifrada.
Qué se cifra importa. Algunas apps cifran el contenido de los archivos pero dejan los nombres de archivo, miniaturas y metadatos sin cifrar. Un examinador forense podría no ver tu foto, pero sí puede ver "vacaciones-playa-2025.jpg" en el listado de archivos. El cifrado integral cubre los metadatos por separado.
El ciclo de vida de la clave importa. ¿Se elimina la clave de la memoria al cerrar la app? Si persiste en memoria, un volcado de memoria podría extraerla. Vaultaire elimina las claves de la memoria en cada cierre de la app y requiere una nueva entrada del patrón en cada inicio.
AES-256 en la Práctica: Quién lo Usa
| Entidad | Caso de uso | Modo |
|---|---|---|
| Gobierno de EE.UU. (NSA) | Información clasificada | GCM (o CTR con autenticación separada) |
| Apple (iCloud ADP) | Cifrado de extremo a extremo en iCloud | GCM |
| Signal | Cifrado de mensajes | CBC (con HMAC para autenticación) |
| Bancos | Cifrado de transacciones financieras | GCM |
| 1Password | Almacén de contraseñas | GCM |
| Vaultaire | Almacén de fotos y archivos | GCM |
| VeraCrypt | Cifrado de disco | XTS (optimizado para bloques de disco) |
Conceptos Erróneos Habituales
"Cifrado de grado militar" no significa nada específico. Las páginas de marketing usan esta frase porque suena impresionante. Los ejércitos usan AES-256. También usan AES-128. La frase no te dice el modo, la derivación de clave, el almacenamiento de clave ni qué datos se cifran realmente.
"Cifrado de 256 bits" puede no significar AES-256. Otros cifrados también usan claves de 256 bits (ChaCha20, Twofish, Serpent). Verifica qué algoritmo se especifica. AES-256-GCM es el estándar actual.
AES-256 no protege contra una contraseña débil. Si tu contraseña es "1234" y la derivación de clave es débil, el cifrado es efectivamente de seguridad de 4 dígitos independientemente de la solidez del cifrado. La cadena se rompe por el eslabón más débil.
AES-256 no protege los datos en uso. Cuando ves una foto, debe descifrarse en memoria. En ese momento, existe en texto plano en la RAM. Las implementaciones correctas minimizan esta ventana y eliminan los datos descifrados rápidamente.
Preguntas Frecuentes
¿Se puede romper AES-256?
No existe ningún ataque conocido que rompa AES-256 reduciendo el espacio completo de claves. El mejor ataque conocido (un ataque biclique de Bogdanov, Khovratovich y Rechberger, 2011) reduce AES-256 de 2^256 operaciones a 2^254.4 — una mejora teórica que carece de relevancia computacional en la práctica. AES-256 permanece invulnerado.
¿Es AES-256 resistente a la computación cuántica?
En gran medida, sí. El algoritmo cuántico de Grover reduce a la mitad la longitud efectiva de la clave: AES-256 se convierte en el equivalente a una seguridad de 128 bits frente a ataques cuánticos. AES-128 quedaría reducido a una seguridad efectiva de 64 bits, lo cual es potencialmente vulnerable. NIST recomienda AES-256 para seguridad a largo plazo frente a avances en computación cuántica.
¿Cuál es la diferencia entre AES-128 y AES-256?
AES-128 usa una clave de 128 bits (10 rondas). AES-256 usa una clave de 256 bits (14 rondas). Ambos se consideran seguros frente a los ataques actuales. AES-256 ofrece un margen mayor frente a avances futuros, especialmente la computación cuántica. AES-256 es aproximadamente un 40% más lento que AES-128 debido a las rondas adicionales, pero la aceleración por hardware hace que esto sea insignificante en dispositivos modernos.
¿El cifrado AES-256 ralentiza mi teléfono?
No de manera perceptible. Los iPhone modernos incluyen aceleración por hardware AES dedicada en el Secure Enclave y el procesador. Cifrar o descifrar una foto tarda milisegundos. AES está diseñado específicamente para ser eficiente en su implementación por hardware.
¿Cómo sé si una app realmente usa AES-256?
Consulta la documentación de seguridad de la app, no solo su página de marketing. Busca: algoritmo y modo específicos (AES-256-GCM, no solo "AES" o "256 bits"), método de derivación de clave (PBKDF2, Argon2), mecanismo de almacenamiento de clave (Secure Enclave, respaldado por hardware) y si los metadatos también están cifrados. Las apps de código abierto permiten verificación independiente.
Conclusión
AES-256 es el estándar de oro para el cifrado simétrico, estandarizado por el NIST, utilizado por gobiernos e instituciones financieras, y resistente a todos los ataques conocidos, incluida la computación cuántica. Al evaluar apps que afirman usar cifrado AES-256, mira más allá del cifrado: verifica el modo (GCM), la derivación de clave (PBKDF2/Argon2 con alto número de iteraciones), el almacenamiento de clave (respaldado por hardware) y qué datos están realmente cifrados (contenido + metadatos).
Vaultaire usa AES-256-GCM para el cifrado de archivos, PBKDF2 con HMAC-SHA512 para la derivación de claves, ChaCha20 para el cifrado de metadatos y el Secure Enclave de Apple para la gestión de claves. El cifrado no es lenguaje de marketing. Es matemáticas.