PKZIP

From Wikipedia, the free encyclopedia

PKZIP 2.04g for DOS, circa 1993.
PKZIP 2.04g for DOS, circa 1993.

PKZIP is an archiving tool originally written by the late Phil Katz who died in 2000, and marketed by his company PKWARE, Inc. PKZIP is an acronym for Phil Katz's ZIP program.

Contents

[edit] History

File compression routines date back to at least the 1960s: IBM had a compression program called SQUOZE that was commonly used to pack programs on the 709/7090 as part of the SHARE operating system. Previous programs almost certainly existed.

By the 1970's file archiving programs were distributed as standard utilities with operating systems. They include the Unix utilities ar, shar, and tar. These utilities were designed to gather a number of separate files into a single archive file for easier copying and distribution.

During the 1980s, the company System Enhancement Associates (SEA) developed a shareware utility called ARC, based on earlier programs such as tar, that not only grouped files into a single archive file but also compressed them to save disk space, a feature of great importance on early personal computers, where space was very limited and modem transmission speeds were very slow. The archive files produced by ARC had file names ending in ".ARC" and were sometimes called "arc files" as a result.

Later, Phil Katz developed his own shareware utilities, PKARC and PKXARC, to create archive files and extract their contents. These files worked with the archive file format used by ARC, but were faster than ARC. Unlike SEA, which combined archive creation and archive file extraction in a single program, Katz divided these functions among two separate utilities, reducing the amount of memory needed to run them. This also allowed the file extractor to be incorporated into the archive file to create self-extracting archives, which could unpack themselves without requiring an external file extraction utility.

The competition from Katz did not please SEA, who sued Katz for trademark infringement, as well as copyright infringement as it alleged that Katz had plagiarised sections of the code. Katz lost the lawsuit and was forced to pay $62,500 to SEA to cover their legal fees. It was found during the court case that Katz had used SEA's ARC source code for the majority of the application but had only made code optimizations to increase speed. Primarily he changed the word length used by the algorithm from 12 bits to 13 bits resulting in a higher compression for typical binary files. As a result of the lawsuit, Katz changed the names of his utilities to PKPAK and PKUNPAK, and then developed PKZIP and PKUNZIP, which were based on new and different file compression techniques. The suit by SEA angered many shareware users, perceiving that SEA was a 'large, faceless corporation' and Katz was 'the little guy'. In fact, at the time, both SEA and PKWARE were small home-based companies. However, the community largely sided with Katz, and became persuaded by the superior compression capabilities of PKZIP. SEA's ARC was largely abandoned in favor of PKZIP and PKUNZIP as the predominant data compression software on MS DOS.

Other archivers also appeared during the 1980s, including Rahul Dhesi's ZOO, Dean W. Cooper's DWC, and LHarc by Haruhiko Okomura and Haruyasu Yoshizaki.

The first version of PKZIP appeared in 1989. It was a DOS command-line tool and was distributed as shareware with a $25 registration fee.

[edit] Version history

PKZIP 0.9 supports Reducing algorithm with 4 compression settings and shrinking.

PKZIP 1.0 supports Shrinking algorithm. Although popular at the time, files in PKZIP 1.0 format are now rare, and many modern unzip tools are unable to handle "shrinking" and "reducing", although "imploding" is usually supported. However, shrinking uses dynamic LZW, which Unisys held patents; the patent for the Reduce algorithm had also been filed on June 19, 1984, long before PKZIP had been produced.[1]

In 1990-3, PKZIP 1.1 was released with a new compression algorithm, colourfully referred to as "imploding", which was chosen based on the characteristics of the file being compressed.[2] Reducing is supported for expansion only.

In 1993, PKWARE released PKZIP 2.0. This new version dispensed with the miscellaneous compression methods of PKZIP 1.x and replaced them with a single new compression method which Katz called "deflating" (although several compression levels of deflating were provided by the program). The resulting file format has since become ubiquitous on Microsoft Windows and on the Internet - almost all files with the .ZIP (or .zip) extension are in PKZIP 2.x format, and utilities to read and write these files are available on all common platforms. PKZIP 2.x also supports spanning archives to multiple disk, which simply splits the files into multiple pieces, and using volume label on each drive to differentiate each other. A new Authenticity Verification (AV) signature format is used. Registered version includes PKUNZJR, PK Safe ANSI, PKCFG utilities.

PKZIP 2.06 was released in 1994. It is a version of PKZIP 2.04g licensed to IBM.[3]

PKZIP 2.50 was the first version released for Windows 3.1, 95, NT platforms. DOS version of PKZIP 2.50 was released on 1999-03-01, as its final MS-DOS product. PKZIP 2.50 supports long file names on all builds, and Deflate64 extraction. DCL Implode extraction is supported on non-DOS ports. A new command-line product is debuted in Windows 95, OS/2, UNIX platforms, called "PKZIP Command Line" (later expanded to "PKZIP Server"), which features new command line syntax.

PKZIP 2.6 is the last version supporting Windows 3.1, Windows NT for DEC Alpha and PowerPC platforms.

PKZIP 2.70 adds Email MAPI (i.e. Send To) Support. Registered version include creation of configurable self-extracted archives, adds Authenticity Verification (AV) Information. Distribution Licensed versions include enhanced self-extractors. Professional Distribution Licensed version can create Self-Extracting Patch Files, and includes Self-Extractors for Several New Platforms.

PKZIP 4.0 is a updated version of PKZIP 2.7. Version 3 was skipped as a result of PKZIP 3.0 trojan.[4] It supports Deflate64 and DCL Implode compression, and the use of X.509 v3 certificate-based authentication.[5], creation of Span or Split large .ZIP archives. Old PKZIP command line conversion tools are introduced.

On 2001-08-21, PKWARE announced the availability of PKZIP 4.5.[6] PKZIP 4.5 includes ZIP64 archives support, which allows more than 65535 files per ZIP archives, and storing files larger than 4 gibibytes into .ZIP archive. A version called PKZIP Suite 4.5 also includes PKZIP Command Line 4.5, PKZIP Explorer 1.5, PKZIP Attachments 1.1, and PKZIP Plug-In 1.0.

PKZIP 5.0 was announced in 2002[7], which introduced Strong Encryption Specification (SES) for the Professional version of the product, which initially included DES, 3DES, RC2, RC4 encryption formats, and the use of using X.509 v3 certificate-based encryption.

PKZIP 6.0 was released in 2003, which supports BZip2 (based on Burrows-Wheeler transform) compression, with Professional Edition supporting 256-bit AES.[8]

PKZIP 7.0 changed SES to use non-OAEP key wrapping. Support of creating AV authenticity verification archives was dropped. PKZIP can now create archives of the following types: ZIP, BZIP2, GZIP, TAR, UUEncoded, XXEncoded.

PKZIP 8.0 was released on 2004-04-27.[9] In addition, PKWARE renamed its PKZip Professional to SecureZIP.[10] Creation of ZIP archives with encrypted headers is available.

PKZIP 9.0 is the first version to unofficially support Windows Vista (as administrator).[11] Creation of RC2, DES-encrypted ZIP archives are dropped.

PKZIP 10 Enterprise Edition and SecureZIP 10 were released on i5/OS. It offered the ability to create ZIP64 archives for the target platform.[12]

On 2007-04-24, PKWARE announced the release of SecureZIP Standard Version 11 as freeware, available on www.securezip.com. [13] This version supports LZMA compression. SecureZIP comes with SecureZIP Standard (SecureZIP for Windows Desktop), SecureZIP Enterprise, SecureZIP Command Line Interface, SecureZIP for Server, SecureZIP for Server with Directory Integration Module.

SecureZIP 12 was released on 2008-2[14]. It supports the secure exchange of emails and attachments directly from Outlook or Office applications.

[edit] .ZIP file format

To help ensure the interoperability of the ZIP format, Phil Katz published the original .ZIP File Format Specification in the APPNOTE.TXT documentation file. PKWARE continued to maintain this document and periodically published updates. Originally only bundled with registered versions of PKZIP, it was later available in PKWARE site.

The specification has its own version number, which do not necessarily correspond to the PKZIP version numbers, especially with PKZIP 6 or later. At various times, PKWARE adds preliminary features that allows PKZIP products to extract archives using advanced features, but PKZIP products that create such archives won't be available until next major release.

[edit] Strong encryption controversy

When WinZip 9.0 public beta was released in 2003, WinZip introduced its own AES-256 compression, using a different file format, along with the documentation for the new specification. [15] The encryption standards themselves were not proprietary, but PKWare had not updated APPNOTE.TXT to include SES since 2001, which were used by PKZip 5.0 and 6.0. WinZip technical consultant Kevin Kearney and Stuff-It product manager Mathew Covington accused PKWARE for withholding SES, PKZIP chief technology officer Jim Peterson claimed that Certificate-based encryption was still incomplete. However, the latest publicly available APPNOTE.TXT at the time was version 4.5 (available on PKWARE's FTP site), which not only omitted SES, but also omitted Deflate64, DCL Implode, BZip2 compression supported by .ZIP files created by contemporary PKZIP products.

To overcome this shortcoming, contemporary products such as StuffIt and PentaZip 'implemented' strong ZIP encryption by encrypting ZIP archives into a different file format.[16]

To further the controversy, in 2003-07-16, PKWARE also filed patent for combining .ZIP and strong encryption to create a secure .ZIP file.[17]

In the end, PKWARE and WinZip agreed to support each other's products. On 2004-01-21, PKWARE announced the support of WinZip-based AES compression format.[18] In later version of WinZip beta, it is able to support SES-based ZIP files.[19] PKWARE eventually released version 5.2 of .ZIP File Format Specification to public, which documented SES.

[edit] Other products

PKWARE also used its PKZIP standards on following products:

  • PartnerLink (including SecureZIP/PartnerLink, SecureZIP Partner)
  • PKZIP Explorer

[edit] See also

[edit] References

[edit] External links