Antes de abrir, recuperar o volver a asegurar un archivo ZIP, ayuda saber exactamente qué tienes entre manos: si está cifrado en absoluto y, de ser así, con qué esquema. Una solicitud de contraseña responde a la primera pregunta pero no a la segunda, y un archivo puede estar comprimido sin estar cifrado.

Señales rápidas de que un ZIP está cifrado

  • Al extraerlo te pide una contraseña.
  • Algunas herramientas muestran un icono de candado, o una columna de “cifrado”, junto a las entradas.
  • Un intento de abrir un archivo falla con un mensaje sobre una contraseña incorrecta o ausente.

Cualquiera de ellas confirma el cifrado. Ninguna te dice qué esquema se usa, y esa distinción decide cuán protegido está el contenido y cómo irá un intento de recuperación.

Cifrado no es lo mismo que comprimido

Todo ZIP comprime o, al menos, almacena sus entradas. La compresión no es protección: un ZIP simplemente comprimido se abre para cualquiera con cualquier herramienta de ZIP, mientras que el cifrado es una capa aparte aplicada por encima, y solo esa capa pide una contraseña. Que un archivo sea pequeño, o esté claramente comprimido, no te dice nada sobre si está cifrado.

Qué revela el propio formato

La cabecera de cada entrada registra si está cifrada y cómo, así que la estructura zanja la pregunta incluso cuando la interfaz del compresor no lo hace.

La bandera de cifrado

Cada entrada tiene una bandera de bits de propósito general (general purpose bit flag), y su bit más bajo se activa cuando esa entrada está cifrada. Si ese bit está desactivado en todas las entradas, el archivo no está protegido en absoluto, sin importar lo que sugiera el nombre del archivo.

Marcadores de ZipCrypto

Una entrada de ZipCrypto tiene activado el bit de cifrado, pero por lo demás usa un método de compresión ordinario, y antepone una cabecera de cifrado de 12 bytes a sus datos. La pista está en lo que falta: no hay ningún campo extra de AES que encontrar. Una entrada cifrada que por lo demás parece normal es ZipCrypto.

Marcadores de WinZip AES

Una entrada AES es más distintiva:

  • Su método de compresión se registra como 99, un marcador de posición que significa “busca el método real en el campo extra de AES”.
  • Lleva un campo extra con el identificador 0x9901.
  • Dentro de ese campo, un byte de robustez contiene 1, 2 o 3 (es decir, AES-128, AES-192 o AES-256), y un campo de versión separado de dos bytes indica si la entrada usa la variante AE-1 o AE-2.
Marcador ZipCrypto WinZip AES
Bit de cifrado activado Sí Sí
Método de compresión Normal (almacenado o deflate) 99
Campo extra 0x9901 Ausente Presente
Registra la fortaleza de la clave No Sí (byte de robustez 1, 2 o 3 = AES-128, -192, -256)

AE-1 frente a AE-2

El byte de variante en el campo extra de AES distingue dos formatos estrechamente relacionados que comparten el mismo cifrado. En AE-1, el campo CRC-32 almacenado de la entrada aún contiene la suma de comprobación real de los datos sin comprimir, lo que permite una comprobación de integridad contra el original. AE-2 pone ese campo a cero. El código de autenticación HMAC ya garantiza la integridad, y un CRC almacenado podría filtrar una pequeña cantidad de información sobre el contenido oculto. Ambas variantes usan el mismo tamaño de clave AES y la misma derivación PBKDF2, así que la elección afecta a los detalles de verificación más que a la fortaleza del cifrado en sí.

Herramientas que reportan el cifrado

Los listados detallados exponen los mismos campos sin un editor hexadecimal.

  • Línea de comandos: zipinfo -v (o unzip -Z -v) muestra el indicador de cifrado y el método de compresión de cada entrada, y 7z l -slt de 7-Zip lista un método de cifrado para cada archivo. unzip -l por sí solo lista únicamente nombres.
  • La versión gráfica de 7-Zip muestra una columna de método de cifrado cuando abres el archivo.
  • En macOS, la Utilidad de Archivo integrada pide una contraseña en archivos ZipCrypto, pero no puede abrir entradas WinZip AES (falla con un error); el comando zipinfo revela las banderas en ambos casos.
  • Un detector local: puedes elegir el archivo en una herramienta de navegador que lo analiza en el dispositivo y te indica el esquema. Nuestra guía sobre archivos ZIP cifrados explica qué significa ese informe, y el análisis ocurre localmente, así que el archivo no se sube.

Por qué los nombres de archivo aún pueden estar visibles

A menudo puedes listar el contenido de un ZIP cifrado sin la contraseña, lo que sorprende a mucha gente. Así funciona el formato. El cifrado ZIP estándar cifra los datos de cada entrada pero deja legible el directorio central, así que los nombres, tamaños y marcas de tiempo permanecen visibles incluso cuando el contenido está bloqueado. Si esos nombres son en sí mismos sensibles, el formato ZIP simple no es suficiente por sí solo.

Conocer el esquema guía tu siguiente paso

  • Con ZipCrypto, trata el contenido como levemente protegido y considera volver a cifrarlo con AES. La mecánica y las debilidades se cubren en ZipCrypto explicado.
  • Un archivo AES está fuertemente protegido, y cualquier intento de recuperación será lento por diseño. Nuestra descripción general del cifrado AES explica por qué eso es intencional.
  • Sea cual sea el esquema, si el archivo es tuyo y has perdido la contraseña, puedes intentar la recuperación local desde la página de recuperación.

Identifica y recupera solo archivos que te pertenezcan o que estés autorizado a acceder; esa regla se aplica a cada paso anterior.

Fuentes