piapia123
es

Cifrado y descifrado AES / DES / 3DES

Cifrado

Todo se ejecuta en tu navegador: no se sube nada

Entrada
Arrastra un archivo aquí para cargarlo
Resultado

Cifrado simétrico de texto. AES es la única elección que merece la pena hoy, y el navegador lo implementa de forma nativa mediante Web Crypto con aceleración por hardware. DES tiene una clave de 56 bits que en 1998 ya agotaban en días máquinas construidas a propósito; sobrevive solo para leer datos antiguos. 3DES lo parchea cifrando tres veces, lo que eleva la fuerza efectiva a 112 bits, y sirve igualmente solo para hablar con sistemas que no se pueden cambiar. La elección del modo causa más errores que la del algoritmo: CBC es el valor predeterminado de siempre y necesita un IV de 16 bytes, GCM añade verificación de integridad, así que un solo byte de texto cifrado alterado se detecta (CBC no puede), CTR convierte el cifrado de bloque en uno de flujo y no necesita relleno, y ECB cifra bloques de texto claro idénticos en bloques de texto cifrado idénticos, lo que filtra los patrones sin más; aquí se conserva solo por interoperabilidad heredada, y con AES se rechaza de plano. Todo se ejecuta en local; ni la clave ni el texto claro salen del navegador.

Funciones

  • Tres algoritmos: AES (128 / 192 / 256 bits), DES y 3DES
  • Cuatro modos: CBC, GCM, CTR y ECB, cada uno con su ámbito indicado
  • Claves e IV en texto, hex o Base64: el hex tolera espacios, dos puntos y el prefijo 0x
  • AES usa la API Web Crypto nativa del navegador (acelerada por hardware); DES y 3DES se implementan aquí
  • Las etiquetas de autenticación de GCM se añaden al final del texto cifrado, igual que en otras herramientas
  • Una longitud incorrecta informa tanto de la que diste como de la requerida, en vez de un simple «clave no válida»

Cómo se usa

  1. Elige la dirección: cifrar o descifrar
  2. Elige el algoritmo y el modo (para algo nuevo, AES con CBC o GCM)
  3. Rellena la clave y el IV, cambiando su formato si hace falta
  4. Pega el contenido, pulsa Ctrl/⌘ + Enter o Ejecutar, y copia el resultado

Preguntas frecuentes

¿Cómo elijo entre CBC, GCM, CTR y ECB?
Usa GCM para cualquier cosa nueva (con AES): además de la confidencialidad verifica la integridad, así que un solo byte alterado del texto cifrado hace que el descifrado falle, mientras que CBC no: CBC «tiene éxito» alegremente con datos manipulados y devuelve basura. Cuando hables con sistemas antiguos normalmente tendrás que usar CBC, el valor predeterminado de hace décadas que casi todas las bibliotecas admiten. CTR trata el cifrado de bloque como uno de flujo y no necesita relleno, lo que encaja con datos de longitud impredecible. No uses ECB: asigna bloques de texto claro idénticos a bloques de texto cifrado idénticos, así que cifrar un mapa de bits revela el contorno original; el clásico pingüino ECB lo ilustra a la perfección.
¿Qué es un IV y puede quedarse fijo?
El IV hace que el mismo texto claro se cifre de forma distinta cada vez bajo una misma clave. No necesita ser secreto en CBC ni en CTR, pero nunca debe reutilizarse: en CBC un IV repetido deja que un atacante vea si dos textos claros son idénticos, y en CTR o GCM es peor: al aplicar XOR a dos textos cifrados se cancela el flujo de clave y el texto claro queda expuesto sin más. Genera un IV aleatorio nuevo por cifrado y guárdalo junto al texto cifrado, que no necesita protección propia. ECB no tiene IV, y esa es una de las razones de que sea inseguro.
¿Por qué no hay modo ECB para AES?
Porque la interfaz nativa del navegador (Web Crypto) no lo ofrece. Es deliberado y no un descuido: la especificación excluye el modo precisamente por la filtración de patrones descrita antes. Si un sistema heredado con el que tienes que hablar solo acepta AES-ECB, esta herramienta no puede ayudarte; ECB sí está disponible para DES y 3DES, donde en los sistemas antiguos es más común de todos modos.
¿Cuánto debe medir la clave? ¿Por qué me salen errores de longitud?
La longitud la fija el algoritmo y no admite negociación: AES toma 16, 24 o 32 bytes (128, 192 o 256 bits), DES exactamente 8 y 3DES exactamente 24. Ten en cuenta que dos caracteres hexadecimales forman un byte: 32 caracteres hex te dan 16 bytes (AES-128), no 32. Lo mismo para el IV: 16 bytes para AES-CBC, 12 para AES-GCM, 8 para DES y 3DES.
¿Qué pasa si la clave es incorrecta?
Salvo en GCM, nada da error: los demás modos «descifran con éxito» en bytes aleatorios, y esta herramienta falla después al decodificarlos como UTF-8, avisando de que la clave o el IV probablemente estén mal. Es inherente al cifrado simétrico: el texto cifrado no lleva ningún valor de verificación, así que quien descifra no puede saber si el resultado es correcto. GCM detecta una clave incorrecta al instante gracias a su etiqueta de autenticación, que es otra razón para preferirlo: no solo detecta manipulación, sino que descubres antes que has escrito mal la clave.

Herramientas relacionadas