Cifrado AES

Cifra o descifra con AES. Un resumen de una sola vía es el generador de hash

Qué cifra esta página

AES es un cifrado por bloques. Esta página lo ejecuta en el navegador en ECB, CBC, CTR, OFB, CFB o GCM, con una clave de 16, 24 o 32 bytes. Una huella de una sola vía está en el generador de hash.

Cómo usarla

  1. Pega la entrada. El modo empieza en CBC, el relleno en pkcs7padding y el juego de caracteres en UTF-8.
  2. El formato de la clave y del IV empieza en Texto. La entrada empieza en Texto y la salida en hex. ECB oculta el IV. GCM muestra la longitud de la etiqueta y AAD, y fija nopadding.
  3. Cifrar cifra. Descifrar descifra. Mostrar ejemplo rellena hello, CBC, pkcs7padding, UTF-8, clave 1234567890abcdef, IV 1234567890abcdef y el hex 7e6347a62a0a976373e79b1bd586363d.
  4. Intercambiar copia el resultado a la entrada y pone el formato de entrada en el formato que acaba de salir. Pon el formato de salida en Texto y pulsa Descifrar. La misma clave y el mismo IV devuelven hello.
  5. Borrar todo vacía los campos y restaura CBC, pkcs7padding, UTF-8, formatos de texto y salida hex. Copiar resultado copia la salida.

Clave, IV, relleno y etiqueta

El texto se convierte en bytes con el juego de caracteres. hex y Base64 ya son bytes, así que el juego no se aplica. La clave tiene que quedar en 16, 24 o 32 bytes: AES-128, AES-192 o AES-256. 1234567890abcdef en UTF-8 son 16 bytes.

CBC, CFB, OFB y CTR piden un IV de 16 bytes. ECB no usa IV. GCM acepta cualquier IV que no esté vacío; 12 bytes es la longitud habitual. pkcs5padding y pkcs7padding aquí son iguales: añaden de 1 a 16 bytes para un múltiplo de 16. nopadding no toca los bytes, así que ECB y CBC exigen ya ese múltiplo. GCM solo permite nopadding.

La etiqueta GCM se añade al final del texto cifrado. La longitud inicial es 128 bits. AAD se comprueba y no se cifra. Descifrar rechaza una entrada de texto, y Cifrar rechaza una salida de texto. Una clave, un IV, una etiqueta o un relleno incorrectos fallan.

Dónde se usa

  • Comparar un texto CBC con otra herramienta AES.
  • Leer un GCM cuya etiqueta va al final del hex.
  • Cambiar la clave entre texto, hex y Base64.

Preguntas

¿Por qué pkcs5 y pkcs7 son iguales aquí?

Los bloques de AES son de 16 bytes. Los dos rellenos completan el último bloque con el mismo byte de cuenta.

¿El mismo texto da siempre el mismo hex?

Sí, si el modo, el relleno, la clave y el IV no cambian. Mostrar ejemplo da 7e6347a62a0a976373e79b1bd586363d.