Clever Geek Handbook
📜 ⬆️ ⬇️

ZIP

ZIP is a popular file archiving and lossless data compression format. A ZIP archive can contain one or more files and directories, which can be compressed by different algorithms. Most often ZIP uses the Deflate compression algorithm . The format was created in 1989 by Phil Katz and implemented in PKWARE's PKZIP program [2] as a replacement for the Tom Henderson ARC archive format. The ZIP format is supported by many programs, including Microsoft Windows (since 1998) and Apple Mac OS X (since version 10.3). Many free operating systems also have built-in support for ZIP archives.

ZIP
Expansion.zip
.zipx (новые алгоритмы сжатия)
MIME typeapplication / zip [1]
Signatureno, although usually PK\003\004 , PK\005\006 (empty archive) or PK\007\008 (archive, divided into parts).
DeveloperPhil Katz , PKWARE
Published1989
Latest issue6.3.2 ( 2007-09-28 )
Format typeData compression
Developed inJAR ( EAR , RAR (Java) , WAR )
Office Open XML (Microsoft)
Open packaging conventions
OpenDocument (ODF)
XPI (Mozilla Extensions)
Standard (s)APPNOTE by PKWARE

ZIP archives are usually stored as files with the extension “.zip” or “.ZIP” and use the MIME type application/zip . [1] . Special utilities can be used to create ZIP archives and extract (unpack) the files contained in them, for example, terminal PKZIP and PKUNZIP [3] or graphical WinZip , WinRAR , Info-ZIP , 7-Zip , PeaZip and many others. If necessary, the ZIP archive can be combined with the unpacker module into a single executable file (the so-called SFX archive).

Content

History

The ZIP format was originally created in the late 1980s by Phil Katz , founder of PKWARE [4] , and in response to legal prosecution by Software Enhancement Associates (SEA) , which defended its invention, the ARC archiving format [5] . SEA stated that the early PKWARE archivers, PKARC and PKXARC, which worked with ARC archives, were derived from SEA applications for working with ARC [6] . The SEA also threatened to sue ZIP co-author Gary Conway of Infinity Design Concepts (IDC) for the same reasons, but it soon became clear that SEA applications were derived from the work of IDC and several other programs, and the lawsuit was withdrawn.

The name “zip” (meaning move at high speed means “move fast”) was proposed by Katz’s friend, Robert Mahoney. By this name they meant that their application is faster than ARC and other archivers of that time. The earliest known version of the ZIP format specification, the .ZIP File Format Specification, was published as part of the PKZIP 0.9 distribution in the APPNOTE.TXT file in 1989.

In 1989, the ZIP archive format was transferred to the public domain ( public domain ). [7] [8] [9] [10] [11]

SEA is a small company founded by Tom Henderson , his wife Irene and her brother. The ARC format was sold as shareware and was intended for use by BBS users to reduce the size of downloaded and uploaded files through compression. The source code for the ARC utility was available for download and study.

Katz copied ARC and changed part of the code written in C with optimized assembler code, thereby making the program much faster. At first, the SEA attempted to license the PKARC archiver made by Katz, but he refused. Then they filed a lawsuit for violation of the rights of the copyright holder and won the process.

During the settlement, Katz still refused to pay the SEA PKARC license, agreeing instead to pay its process costs and stop selling PKARC. He then continued development and soon introduced his own PKZIP file archiving format, which compressed data much more efficiently than ARC. After the release of PKZIP, many users moved to his camp because of the better compression algorithm, which was beneficial both in time and in size, as well as Katz was able to successfully create an image for himself that he was a “good guy” who was “used” by a bad corporation.

For historical reasons (due to restrictions on file names under DOS ), the format name is usually written in capital letters.

Version History

Each ZIP format specification has its own number, which may not coincide with PKZIP version numbers (this is especially true for PKZIP 6 and newer versions). PKWARE is constantly adding features to its format, but a new version of the format becomes available only when the next major release of PKZIP is released.

Specification versionYearNew opportunities
2.01993Files can be compressed using the Deflate method [1]
2.11996Compression Deflate64
4.52001Describes the 64-bit ZIP format [12]
4.62001Bzip2 compression (published later with APPNOTE 5.2)
5.02002Encryption support DES , 3DES , RC2 , RC4 (published later with APPNOTE 5.2)
5.22003Support for AES encryption [13] [14] , fix for RC2-64 encryption specification
6.12004Storage of certificates is described [15]
6.2.02004Central directory encryption described [16]
6.3.02006The storage of file names in Unicode format ( UTF-8 ) is described [17] ; expanded list of supported encryption, compression (added modern methods such as LZMA and PPMd + ) and hashing algorithms
6.3.12007Fixed standard values ​​of SHA-256/384/512 hash functions [18]
6.3.22007The compression method 97 ( WavPack ) is described [19]
6.3.3 [20]2012Document formatting changes to facilitate referencing of PKWARE Application Note from other standards using methods such as JTC 1 REFERENCING Interpretative Report (RER) in accordance with JTC 1 / SC 34 N 1621.
6.3.4 [21]2014PKWARE, Inc. Office Address Update
6.3.42018Documented compression methods are 16, 96, and 99. DOS timestamps / era and accuracy. Added additional fields for keys and decryption, as well as typos and explanations.


WinZip utility (starting from version 12.1) uses the .zipx file extension for ZIP archives with modern compression methods. In ZIPX, in addition to the classic Deflate , the methods BZip , LZMA , PPMd , JPEG and WavPack can be used. [22] [23] For this reason, ZIPX files may not be recognized by the classic ZIP decompression utilities, which only implement the Deflate method.

Structure

ZIP files are archives that store multiple files. Files composing the archive can be compressed in various ways, including saving without compression. Compression of files inside the archive is independent, which makes it easy to extract them or add new ones, without having to unpack or repack the entire archive. This feature is a clear advantage over the compressed tar file format, which does not allow simple random access content processing.

At the end of the ZIP file is a special section called a directory. It stores a list of files in the ZIP archive, and data on the location of each compressed file inside the archive. Using catalog data, applications can quickly retrieve a complete list of files from an archive without reading the entire ZIP archive. A ZIP archive file may also include additional data not related to the storage of compressed data. In particular, this feature allows you to create self-extracting archives (SFX), consisting of an unpacking application and compressed data. Such archives begin with program code and are recognized by the operating system as an executable file. When launched, the application finds the ZIP archive and its directory and unpacks the files, which can be convenient for transferring archives to users who do not have installed applications for working with the ZIP format. Since many applications recognize the ZIP format by the presence of a directory at the end of the file, it also becomes possible to use the simplest steganographic technique to hide the archive by adding the archive after some harmless file, for example, a GIF image and changing the file extension (similar to the so-called method "RARJPG"). Most applications will display the image, ignoring the archive as insignificant junk data, while the file recipient will be able to open the archive after restoring the “.ZIP” extension.

The .ZIP format uses a 32-bit CRC algorithm for integrity monitoring. Also, archive files include two copies of the archive directory in order to increase the protection of files from data corruption during transfer or storage.

ZIP today

Currently, the ZIP format is considered a recognized format for many applications [5] , including compression, backup and data exchange functions. Along with a large number of utilities that work with ZIP files from the command line, graphic programs for working with them appeared in the mid-1990s. Support for the ZIP format is included in many modern operating systems.

At the moment, there are a number of data compression algorithms that beat ZIP in terms of speed, degree of packaging, and additional features. However, ZIP is still a popular data compression method. .

Many competing archivers, in addition to its own format, also supports the ZIP format.

This compression method is also widely used in other programs and even in some file formats. For example, * .odt and * .docx files are actually ZIP archives that contain XML page layout files and additional resources (for example, images). Also, the ZIP algorithm can be used in a common image file format - TIFF .

There are third-party archivers that create ZIP archives with the Deflate compression method, but with a higher compression ratio than the original utilities. Among them - 7-Zip and kzip archiver modified by Ken Silverman .

Repair ZIP archives

Since the ZIP format does not support special data for recovery (unlike, for example, RAR ), it should be remembered that if the ZIP archive is damaged, only its structure can be restored (that is, the contents of the archive can be accessed again), but the data affected by for damage will fail. There are specialized utilities for recovering damaged ZIP archives, for example, free ones:

  • Object Fix Zip [24]
  • DiskInternals ZIP Repair [25]

Notes

  1. ↑ 1 2 3 Registration of a new MIME Content-Type / Subtype - application / zip , IANA , 1993-07-20 , < http://www.iana.org/assignments/media-types/application/zip > . Retrieved January 5, 2012.  
  2. ↑ Phillip Katz, Computer Software Pioneer, 37 , The New York Times (1 May 2000). Date of treatment June 14, 2009.
  3. ↑ Microcomputer Applications for Public Administration (PADM 5530) Instructions on Using PKZIP and PKUNZIP (DOS)
  4. ↑ The Rise and Fall of a Software Star; Phil Katz Loved Code - and Liquor (English) , wsj (August 15, 1997).
  5. ↑ 1 2 Mark Stamp, Richard M. Low. 3.5 PKZIP // Applied Cryptanalysis: Breaking Ciphers in the Real World . - John Wiley & Sons, 2007 .-- pp. 110-111. - 424 p. - ISBN 9780470148761 .
  6. ↑ Phil Katz (PKARC author) sued by SEA (ARC author) , 14 Jun 1988, comp.sys.ibm.pc; “Shareware Developers Fight Court Battle Over Copyright Infringement,” Daniel J. Lyons, PCWEEK (May 31, 1988 )
  7. ↑ Brian Livingston (September 8, 2003), PKZip Must Open Up , < http://brianlivingston.com/eweek/article2/0,4149,1257562,00.html > . Retrieved January 5, 2012.  
  8. ↑ Where Did Zip Files Come From Anyway? , Infinity Design Concepts, Inc. , < http://www.idcnet.us/ziphistory.html > . Retrieved January 5, 2012.   Archived November 20, 2012 on Wayback Machine
  9. ↑ Press Release , 1989 , < http://cd.textfiles.com/pcmedic9310/MAIN/MISC/COMPRESS/ZIP.PRS > . Retrieved January 5, 2012.  
  10. ↑ Our Founder - Phil Katz , PKWARE , < http://www.pkware.com/about-us/phil-katz > . Retrieved January 5, 2012.   Archived Jan 14, 2012 on Wayback Machine
  11. ↑ Gareth Horton; Rob Weir & Alex Brown (November 2, 2010), sc34-wg1 , < http://mailman.vse.cz/pipermail/sc34wg1study/2010-November/000082.html > . Retrieved January 5, 2012.   Archived March 3, 2016 on Wayback Machine
  12. ↑ File: APPNOTE.TXT - .ZIP File Format Specification Version: 4.5 Revised: 11/01/2001 , 3 December 2001 , < http://www.pkware.com/support/appnote.txt > . Retrieved April 21, 2012.  
  13. ↑ APPNOTE.TXT - .ZIP File Format Specification, Version: 5.2 - NOTIFICATION OF CHANGE , July 16, 2003 , < http://www.pkware.com/documents/APPNOTE/APPNOTE-5.2.0.txt > . Retrieved January 5, 2012.  
  14. ↑ File: APPNOTE.TXT - .ZIP File Format Specification Version: 5.2 - NOTIFICATION OF CHANGE Revised: 02/06/2003 , 2 July 2003 , < http://pkware.com/products/enterprise/white_papers/appnote.html > . Retrieved April 21, 2012.  
  15. ↑ File: APPNOTE - .ZIP File Format Specification Version: 6.1.0 - NOTIFICATION OF CHANGE Revised: 01/20/2004 , 19 August 2004 , < http://www.pkware.com/company/standards/appnote/ > . Retrieved April 21, 2012.  
  16. ↑ APPNOTE.TXT - .ZIP File Format Specification, Version: 6.2.0 - NOTIFICATION OF CHANGE , April 26, 2004 , < http://www.pkware.com/documents/APPNOTE/APPNOTE-6.2.0.txt > . Retrieved January 5, 2012.  
  17. ↑ APPNOTE.TXT - .ZIP File Format Specification, Version: 6.3.0 , 29 September 2006 , < http://www.pkware.com/documents/APPNOTE/APPNOTE-6.3.0.TXT > . Retrieved January 5, 2012.  
  18. ↑ File: APPNOTE.TXT - .ZIP File Format Specification Version: 6.3.1 Revised: April 11, 2007 , 14 May 2007 , < http://www.pkware.com/documents/casestudies/APPNOTE.TXT > . Retrieved April 21, 2012.  
  19. ↑ File: APPNOTE.TXT - .ZIP File Format Specification Version: 6.3.2 Revised: September 28, 2007 , 28 September 2007 , < http://www.pkware.com/documents/casestudies/APPNOTE.TXT > . Retrieved April 21, 2012.  
  20. ↑ File: APPNOTE.TXT - .ZIP File Format Specification Version: 6.3.3 Revised: September 01, 2012 , September 2012 , < http://www.pkware.com/documents/casestudies/APPNOTE.TXT >  
  21. ↑ File: APPNOTE.TXT - .ZIP File Format Specification Version: 6.3.4 Revised: October 1, 2014 , 1 October 2014 , < http://www.pkware.com/documents/casestudies/APPNOTE.TXT >  
  22. ↑ Additional Compression Methods Specification (neopr.) . WinZip Mansfield, CT : WinZip Computing, SL (May 19, 2009). Date of appeal May 24, 2009.
  23. ↑ What is a Zipx File? (unspecified) . Winzip: Knowledgebase . Mansfield, CT : WinZip Computing, SL (August 13, 2010). Date of treatment August 17, 2010.
  24. ↑ Object Fix Zip 1.7 // UPgrade : Log. - 2010. - No. 8 (460) . - S. 32 . - ISSN 1680-4694 .
  25. ↑ Restore any data // Chip : log. - 2011. - No. 8 (149) . - S. 125 . - ISSN 1609-4212 . Archived on September 23, 2015.

Links

  • PKWARE Company
  • Info-Zip.Org , open source zip and unzip software for multiple OS and hardware platforms.
Source - https://ru.wikipedia.org/w/index.php?title=ZIP&oldid=101030204


More articles:

  • Parking (traffic)
  • Romania at the 1959 Summer Universiade
  • Adams (District, North Dakota)
  • Ogawa Kunio
  • Jabalah III
  • George Lassen
  • Gindin, Sergey Iosifovich
  • Alekseevka (Gagauzia)
  • Juan Di Mausoleum
  • Abdullaev, Elnur Sujayat oglu

All articles

Clever Geek | 2019