Utiliza el cifrado PKZIP 2.0 original (también denominado cifrado "tradicional" o "heredado"), descrito en la sección 6 de la especificación de formato de archivo .ZIP . Se basa en el uso de CRC32 para mezclar la contraseña, una semilla aleatoria (con suerte) y el archivo comprimido. No se considera seguro; como mínimo, tiene serias vulnerabilidades a los ataques de texto plano conocido (consulte este crypto .se responde para un resumen).
Esto se basa en: consultar el código fuente de Apple para ZIP . El README.CR dice:
El código de encriptación es una transcripción directa del algoritmo de
Roger Schlafly, descrito por Phil Katz en el archivo appnote.txt. Esta
El archivo se distribuye con el programa PKZIP (incluso en la versión
sin capacidades de cifrado). Tenga en cuenta que el cifrado será
Probablemente resista los ataques de los aficionados si la contraseña está bien elegida y
el tiempo suficiente (al menos 8 caracteres) pero probablemente no resistirá
Ataques de expertos. Paul Kocher ha puesto a disposición la información.
concerniente a un ataque de texto simple conocido para el esquema de encriptación PKWARE;
Consulte enlace para obtener más información.) Contraseñas cortas
solo letras minúsculas pueden recuperarse en unas pocas horas
en cualquier estación de trabajo. Pero para la criptografía casual diseñada para mantener su
madre de leer tu correo, está bien.
Tenga en cuenta que el archivo dice que se actualizó por última vez en 2008, por lo que cuando se habla de recuperación de contraseña "en unas pocas horas en cualquier estación de trabajo", se trata de hardware de una década. Estoy un poco confundido acerca de qué versión de Zip Apple está usando realmente. README.CR parece indicar que es v2.31, pero WHATSNEW enumera nuevas características en Zip v3.0 beta (y dice que AES está planeado para v3.1). En cualquier caso, es bastante viejo.
Como soporte adicional, el archivo crypto.c (aunque es un poco difícil de seguir) claramente usa CRC32 para los procesos de cifrado / descifrado, y las únicas menciones de AES están en varios archivos que dicen que está planeado para una versión posterior.
Ah, y también intenté crear un archivo cifrado con él, y luego miré un volcado hexadecimal. No contiene 0x0017, que es el ID de encabezado para un "encabezado de cifrado seguro". tiene tiene 12 bytes adicionales de datos semilla (parte del formato "heredado") junto con cada archivo. Para que coincida con el código fuente y README.
Resumen: no lo uses. Buscaría utilidades Zip de terceros que admitan un cifrado más moderno, pero no estoy lo suficientemente familiarizado con ninguno de ellos para hacer recomendaciones.