zipzip
Danira acosta Danira acosta
Técnico en sistemaTécnico en sistema
Que esQue es
En informática, En informática, ZIPZIP o o zipzip es un formato de es un formato de
almacenamiento sin pérdida, muy utilizado almacenamiento sin pérdida, muy utilizado
para la compresión de datos como para la compresión de datos como
documentos, imágenes o programas.documentos, imágenes o programas.
Para este tipo de archivos se utiliza Para este tipo de archivos se utiliza
generalmente la extensión ".zip".generalmente la extensión ".zip".
Muchos programas, tanto comerciales Muchos programas, tanto comerciales
como libres, lo utilizan y permiten su uso como libres, lo utilizan y permiten su uso
más habitual.más habitual.
Historia Historia
El formato ZIP fue creado originalmente por Phil El formato ZIP fue creado originalmente por Phil
Katz, fundador de PKWARE. Katz liberó al Katz, fundador de PKWARE. Katz liberó al
público la documentación técnica del formato público la documentación técnica del formato
ZIP, y lanzó al mismo tiempo la primera versión ZIP, y lanzó al mismo tiempo la primera versión
de PKZIP en enero de 1989.de PKZIP en enero de 1989.
Katz había copiado ARC y convertido las rutinas Katz había copiado ARC y convertido las rutinas
de compresión de C a un código optimizado en de compresión de C a un código optimizado en
ensamblador, que lo hacía mucho más rápido. ensamblador, que lo hacía mucho más rápido.
Inicialmente, SEA intentó obtener una licencia Inicialmente, SEA intentó obtener una licencia
por el compresor de Katz, llamado PKARC, pero por el compresor de Katz, llamado PKARC, pero
Katz lo rechazó. SEA demandó entonces a Katz Katz lo rechazó. SEA demandó entonces a Katz
por infringir el copyright, y ganó.por infringir el copyright, y ganó.
Informacion tecnicaInformacion tecnica
ZIP es un formato de fichero bastante simple, que ZIP es un formato de fichero bastante simple, que
comprime cada uno de los archivos de forma separada. comprime cada uno de los archivos de forma separada.
Comprimir cada archivo independientemente del resto Comprimir cada archivo independientemente del resto
de archivos comprimidos permite recuperar cada uno de de archivos comprimidos permite recuperar cada uno de
los ficheros sin tener que leer el resto, lo que aumenta el los ficheros sin tener que leer el resto, lo que aumenta el
rendimiento. El problema, es que el resultado de agrupar rendimiento. El problema, es que el resultado de agrupar
un número grande de pequeños archivos es siempre un número grande de pequeños archivos es siempre
mayor que agrupar todos los archivos y comprimirlos mayor que agrupar todos los archivos y comprimirlos
como si fuera uno sólo. A cambio, esto permite extraer como si fuera uno sólo. A cambio, esto permite extraer
cada archivo de forma independiente sin tener que cada archivo de forma independiente sin tener que
procesar el archivo desde el principio.procesar el archivo desde el principio.
La especificación de ZIP indica que cada archivo puede La especificación de ZIP indica que cada archivo puede
ser almacenado, o bien sin comprimir, o utilizando una ser almacenado, o bien sin comprimir, o utilizando una
amplia variedad de algoritmos de compresión. Sin amplia variedad de algoritmos de compresión. Sin
embargo, en la práctica, ZIP se suele utilizar casi embargo, en la práctica, ZIP se suele utilizar casi
siempre con el algoritmo de Phil Katz.siempre con el algoritmo de Phil Katz.
ZIP soporta un sistema de cifrado simétrico ZIP soporta un sistema de cifrado simétrico
basado en una clave única. Sin embargo, este basado en una clave única. Sin embargo, este
sistema de cifrado es débil ante ataques de texto sistema de cifrado es débil ante ataques de texto
plano, ataque de diccionario y fuerza bruta. plano, ataque de diccionario y fuerza bruta.
También soporta distribuir las partes de un También soporta distribuir las partes de un
archivo comprimido en distintos medios, archivo comprimido en distintos medios,
generalmente disquetes.generalmente disquetes.
Con el tiempo, se han ido incluyendo nuevas Con el tiempo, se han ido incluyendo nuevas
características, como nuevos métodos de características, como nuevos métodos de
cifrado. Sin embargo, estas nuevas cifrado. Sin embargo, estas nuevas
características no están soportadas por las características no están soportadas por las
aplicaciones más utilizadas.aplicaciones más utilizadas.
Métodos de compresiónMétodos de compresión
Shrinking (Contracción) (método 1)Shrinking (Contracción) (método 1)
La Contracción es una variante de La Contracción es una variante de LZWLZW con unos pequeños ajustes. con unos pequeños ajustes.
Como tal, estaba afectada por la ya expirada Como tal, estaba afectada por la ya expirada patentepatente del LZW. Nunca del LZW. Nunca
estuvo claro si la patente cubría la decompresión, pero por si acaso, estuvo claro si la patente cubría la decompresión, pero por si acaso,
algunos proyectos algunos proyectos libreslibres, como , como Info-ZIPInfo-ZIP decidieron no incluirlo en sus decidieron no incluirlo en sus
productos por defecto.productos por defecto.
Reducing (Reducción) (métodos 2-5)Reducing (Reducción) (métodos 2-5)
La Reducción implica una combinación de compresiones de secuencias La Reducción implica una combinación de compresiones de secuencias
de bytes y aplicación de una codificación estadística del resultado.de bytes y aplicación de una codificación estadística del resultado.
Imploding (Implosión) (método 6)Imploding (Implosión) (método 6)
La Implosión implica comprimir secuencias de bytes repetidamente con La Implosión implica comprimir secuencias de bytes repetidamente con
una función de una función de ventana deslizanteventana deslizante, y posteriormente, comprimir el , y posteriormente, comprimir el
resultado utilizando múltiples árboles resultado utilizando múltiples árboles Shannon-FanoShannon-Fano..
Tokenizing (método 7)Tokenizing (método 7)
Este método está reservado. La especificación PKWARE no define un Este método está reservado. La especificación PKWARE no define un
algoritmo para él.algoritmo para él.
Deflate and enhanced deflate (métodos 8 y 9)Deflate and enhanced deflate (métodos 8 y 9)
Estos métodos usan el bien conocido algoritmo deflate. Deflate Estos métodos usan el bien conocido algoritmo deflate. Deflate
permite ventanas de hasta 32 KB. Enhanced deflate permite permite ventanas de hasta 32 KB. Enhanced deflate permite
ventanas de hasta 64 KB. La versión mejorada (enhanced) ventanas de hasta 64 KB. La versión mejorada (enhanced)
tiene un mejor comportamiento, pero no está tan extendido.tiene un mejor comportamiento, pero no está tan extendido.
Biblioteca de compresión de datos de PKWARE por Biblioteca de compresión de datos de PKWARE por
Imploding (método 10)Imploding (método 10)
La especificación oficial del formato no da más información La especificación oficial del formato no da más información
sobre este método.sobre este método.
Método 11Método 11
Este método está reservado por PKWARE.Este método está reservado por PKWARE.
Bzip2 (método 12)Bzip2 (método 12)
Este método utiliza el conocido algoritmo bzip2. Este algoritmo Este método utiliza el conocido algoritmo bzip2. Este algoritmo
se comporta mejor que Deflate, pero no está ampliamente se comporta mejor que Deflate, pero no está ampliamente
soportado por las herramientas (sobre todo las de Windows).soportado por las herramientas (sobre todo las de Windows).