Cifrado / Descifrado AES
Cifrado/descifrado AES con modos CBC, CFB, CTR, OFB, ECB, relleno Pkcs7/ZeroPadding/NoPadding, claves 128/192/256 bits, salida Base64, detección automática de formato clave/IV
¿Qué es el cifrado AES?
AES (Estándar de Cifrado Avanzado) es un algoritmo de cifrado simétrico ampliamente utilizado. Opera en bloques de 128 bits y soporta claves de 128, 192 y 256 bits.
¿Cuáles son los modos de cifrado?
CBC encadena bloques para mayor seguridad. CFB convierte AES en cifrado de flujo autosincronizable. CTR usa un contador para cifrado paralelizable. OFB crea un flujo de claves. ECB cifra cada bloque independientemente — el menos seguro.
¿Qué es el relleno?
El relleno añade bytes extra para alinear datos a límites de bloque. Pkcs7 es el más común. Iso97971 añade un byte antes del relleno Pkcs7. AnsiX923 rellena con ceros y un byte de longitud. Iso10126 usa bytes aleatorios. ZeroPadding rellena con ceros. NoPadding requiere alineación exacta.
¿Cuál es el formato de salida?
La salida de cifrado utiliza codificación Base64 por defecto, que es el formato más común y compacto. Las entradas de clave e IV admiten detección automática de formato Hex, Base64 o UTF-8 — simplemente pegue su clave o IV y la herramienta reconocerá automáticamente el formato.
¿Recomendaciones de seguridad para cifrado AES?
Use claves aleatorias fuertes. Prefiera CBC o CTR sobre ECB. Use AES-256 para máxima seguridad. Siempre use un IV único para cada cifrado en modos CBC, CFB, CTR y OFB.
¿Se envían mis datos a un servidor?
No, todo el cifrado se realiza localmente en su navegador usando CryptoJS. Sus datos, claves e IVs nunca salen de su dispositivo.
¿Qué tamaños de clave son compatibles?
AES soporta tres tamaños: 128 bits (16 bytes), 192 bits (24 bytes) y 256 bits (32 bytes). AES-128 es suficiente para la mayoría de usos, AES-192 proporciona un margen de seguridad adicional, y AES-256 ofrece el nivel más alto de seguridad recomendado para datos clasificados.
¿Cuál es la diferencia entre AES-128, AES-192 y AES-256?
La diferencia radica en la longitud de la clave y el número de rondas de cifrado: AES-128 usa 10 rondas, AES-192 usa 12 rondas y AES-256 usa 14 rondas. AES-256 proporciona la seguridad más fuerte pero es ligeramente más lento. Para la mayoría de aplicaciones, AES-128 ya se considera irrompible con la tecnología actual.
¿Cuál es la historia de AES y dónde se utiliza?
AES fue seleccionado por el NIST en 1997 para reemplazar DES y se convirtió en estándar oficial en 2001. Ahora es utilizado por gobiernos, fuerzas armadas e instituciones financieras en todo el mundo. AES protege conexiones HTTPS, redes WiFi, cifrado de discos y archivos comprimidos.
¿Por qué no se recomienda el modo ECB?
El modo ECB cifra bloques de texto plano idénticos en bloques de texto cifrado idénticos, lo que revela patrones en los datos. Por ejemplo, cifrar una imagen con ECB todavía mostrará el contorno de la imagen. Esto hace que ECB sea vulnerable a ataques de análisis de patrones. Use siempre CBC, CTR, CFB u OFB con un IV aleatorio.
¿Cuáles son las aplicaciones reales de AES?
AES se utiliza en HTTPS/SSL para navegación web segura, WPA2/WPA3 para seguridad WiFi, conexiones VPN, cifrado Bluetooth, aplicaciones de mensajería cifrada, cifrado de discos (BitLocker, FileVault), archivos comprimidos (ZIP, RAR) y protección de documentos clasificados gubernamentales.
¿Cuál es la diferencia entre salida Hex y Base64?
Hex (hexadecimal) representa datos binarios usando 16 caracteres (0-9, A-F), resultando en cadenas más largas. Base64 usa 64 caracteres (A-Z, a-z, 0-9, +, /) y es aproximadamente un 33% más corto que Hex para los mismos datos. Ambos son formatos comunes para representar datos binarios como texto.