DevToolPal
ES

Cifrar y descifrar con AES

Cifra y descifra texto con AES-GCM o AES-CBC usando una frase de paso (PBKDF2) o una clave hex, con salida en Base64.

Se ejecuta en local, nunca se sube

Opciones

Modo
Algoritmo
Clave
Tamaño de clave

Entrada

0 caracteres · 0 B

Salida

0 caracteres · 0 B

Qué hace

AES (Advanced Encryption Standard) es el cifrado simétrico que se usa casi en todas partes: HTTPS, cifrado de discos, gestores de contraseñas y apps de mensajería. La misma clave secreta cifra y descifra. Esta herramienta cifra texto en Base64 que puedes pegar en cualquier sitio y lo descifra de nuevo.

Puedes usar:

  • una frase de paso, que se convierte en una clave de 128 o 256 bits con PBKDF2-HMAC-SHA256 y una sal aleatoria, o
  • una clave hex: 32 o 64 dígitos hexadecimales (128 o 256 bits), usada directamente. Pulsa Clave aleatoria para crear una.

Hay dos modos de operación. AES-GCM es la opción moderna por defecto y detecta manipulaciones. AES-CBC con relleno PKCS#7 se ofrece por compatibilidad con sistemas antiguos.

Cómo usarla

  1. Elige Cifrar o Descifrar, el algoritmo y el tipo de clave.
  2. Escribe la frase de paso o pega la clave hex en la parte superior del cuadro de entrada.
  3. Pega el texto (o el Base64 que quieres descifrar). El resultado aparece a la derecha; Usar como entrada cambia la dirección para comprobar el viaje de ida y vuelta.

Formato de salida

La salida es una única cadena Base64, para que sobreviva al correo y al chat:

passphrase:  salt (16 bytes) | IV (12 GCM / 16 CBC) | ciphertext (+ 16-byte tag for GCM)
hex key:     IV (12 GCM / 16 CBC) | ciphertext (+ 16-byte tag for GCM)

Para descifrar, usa el mismo algoritmo, tipo de clave, tamaño de clave e iteraciones que al cifrar. Estos ajustes se guardan en la dirección de la página, así que un enlace compartido los lleva mientras la clave se queda contigo.

Cómo elegir la frase de paso

PBKDF2 hace más lento cada intento, pero no salva una frase corta o común. Usa una frase larga y aleatoria, por ejemplo de un generador de contraseñas, y compártela por un canal distinto del texto cifrado. Más iteraciones dificultan los intentos y hacen el descifrado algo más lento; lo habitual es entre 100.000 y 600.000.

Preguntas frecuentes

› ¿Elijo GCM o CBC?

Elige GCM salvo que otro sistema exija CBC. GCM está autenticado, así que una clave errónea o un solo byte modificado se detectan en lugar de producir basura. CBC solo ofrece confidencialidad y sirve sobre todo por compatibilidad con código antiguo.

› ¿Por qué el texto cifrado cambia cada vez?

Cada cifrado usa un IV aleatorio nuevo y, con frase de paso, también una sal aleatoria nueva. Ambos se guardan al principio de la salida, así que el descifrado sigue funcionando. Reutilizar un IV con la misma clave, sobre todo en GCM, sería una debilidad grave.

› ¿Cómo descifro la salida en mi propio código?

Decodifica el Base64. Con frase de paso, los primeros 16 bytes son la sal de PBKDF2, luego el IV (12 bytes en GCM, 16 en CBC) y después el texto cifrado. Deriva la clave con PBKDF2-HMAC-SHA256 y el mismo número de iteraciones. Con clave hex no hay sal. En GCM los últimos 16 bytes son la etiqueta de autenticación.

› ¿Se guarda o se envía mi frase de paso o clave?

No. El cifrado se hace en tu navegador con la Web Crypto API. La frase de paso o clave solo vive en la memoria de esta página: no se guarda, no se escribe en la barra de direcciones ni se incluye en los enlaces para compartir, así que puedes compartir un mensaje cifrado sin su clave.