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.
¿Qué es AES-256?
AES-256 es un cifrado simétrico por bloques: el Estándar de Cifrado Avanzado con una clave de 256 bits. Una misma clave cifra y descifra. Procesa los datos en bloques de 128 bits a lo largo de 14 rondas, y el NIST lo estandarizó como FIPS 197 en 2001.
El nombre reúne tres datos. AES nombra el algoritmo, que el NIST eligió en 2001 a partir de la propuesta Rijndael. 256 es la longitud de la clave en bits, que fija cuántas claves debe probar un atacante por fuerza bruta. Un modo como GCM o CBC, que suele escribirse tras el nombre como AES-256-GCM, decide cómo se encadenan los bloques y si se comprueba que el texto cifrado no ha sido manipulado. AES-256 por sí solo indica el cifrado y el tamaño de la clave. No indica el modo, ni quién tiene la clave.
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í mismo 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 claves importa. ¿Cómo se genera la clave de 256 bits? Si se deriva de un PIN de 4 dígitos con un KDF débil, la seguridad efectiva es la de 4 dígitos (10.000 combinaciones), no la de 256 bits. Una implementación sólida usa PBKDF2 con un número alto de iteraciones o Argon2 con parámetros de memoria y tiempo adecuados. Vaultaire usa PBKDF2 con HMAC-SHA512 y 600.000 iteraciones para derivar una clave de bóveda local a partir del patrón de 5x5 elegido y una sal del dispositivo. PBKDF2 encarece cada intento; no eleva la entropía del patrón a 256 bits.
El almacenamiento de la clave importa. ¿Dónde está la clave? Si se guarda sin cifrar en el entorno aislado de la aplicación, un malware con acceso a los archivos puede leerla. El Secure Enclave de Apple admite operaciones concretas con claves no exportables, no claves AES arbitrarias aportadas por la aplicación. Los diseños con claves simétricas pueden apoyarse en Keychain y en la protección de datos, así que la documentación debe nombrar la API exacta y la clase de protección en lugar de decir solo "respaldado por hardware".
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. ¿Cuánto tiempo sigue disponible el material de claves descifrado? Vaultaire descarta el estado activo de la bóveda y de la clave maestra al bloquearse o cerrarse y exige un nuevo desbloqueo. Los bytes de las claves simétricas están por fuerza en la memoria de la aplicación mientras una bóveda está abierta, y Swift e iOS no permiten que una aplicación demuestre que se sobrescribieron todas las copias temporales.
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 | Bóveda 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
¿Qué significa AES-256?
Estándar de Cifrado Avanzado (Advanced Encryption Standard) con una clave de 256 bits. AES es el cifrado que el NIST estandarizó como FIPS 197 en 2001, tras elegir el diseño Rijndael. El 256 es la longitud de la clave en bits. Un sufijo como AES-256-GCM añade el modo de operación, que es una elección distinta del cifrado y del tamaño de la clave.
¿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. Una búsqueda de Grover contra AES-256 seguiría necesitando unas 2^128 operaciones, lo cual no es práctico.
¿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?
En el uso normal, no se nota. Los procesadores modernos de Apple aceleran AES por hardware mediante las bibliotecas criptográficas del sistema. Eso no significa que la operación AES de una aplicación se ejecute dentro del Secure Enclave. El tiempo sigue dependiendo del tamaño del archivo, el dispositivo, el almacenamiento y la implementación, así que una afirmación de seguridad debe basarse en mediciones y no en una cifra universal de milisegundos.
¿Cómo sé si una app realmente usa AES-256?
Consulta la documentación de seguridad de la aplicación, no solo su página comercial. Busca el algoritmo y el modo concretos, la jerarquía de claves, los parámetros de derivación, el uso de Keychain o del Secure Enclave, el manejo de nonces, la vía de recuperación y si los metadatos también se cifran. El código abierto y las auditorías independientes facilitan verificar esas afirmaciones.
Conclusión
AES-256 es un cifrado simétrico de uso generalizado, estandarizado por el NIST, sin ningún ataque práctico conocido; un ordenador cuántico que ejecute el algoritmo de Grover seguiría necesitando unas 2^128 operaciones. 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 contenido de los archivos, los encabezados, los metadatos, los índices y las miniaturas. PBKDF2 con HMAC-SHA512 deriva una clave de bóveda local a partir del patrón y de una sal común a todo el dispositivo guardada en Keychain; esa clave desenvuelve una clave maestra aleatoria que cifra los archivos. Las operaciones simétricas se ejecutan en el proceso de la aplicación mediante CryptoKit, mientras iOS Keychain y la protección de datos protegen el estado de recuperación cuando el dispositivo está bloqueado. La jerarquía completa está documentada en el modelo de seguridad.