通信用語の基礎知識 IPv4
戻る
参加者募集中

ZIP

辞書:電算用語の基礎知識 ファイル圧縮編 (PFCP)
読み:ジップ
外語:ZIP 英語
品詞:名詞
1995/02/18 作成
2010/04/17 更新

ファイルアーカイバーPKZIPで採用されたデータ圧縮アルゴリズムおよびファイルフォーマット。

由来等

オリジナルのPKZIPは、Phillip Walter Katzにより作られたシェアウェアであった。またMicrosoft Windows用として作られたWinZipは製品である。

但し、ZIPと互換のあるソフトウェアがオープンソースソフトウェアなどとして広く流通しており、事実上、無料で利用することができる。

また独自のアルゴリズムを使って、通常のアルゴリズムより圧縮率の高いファイルを作ることができる7-Zipなどがある。

UNIX系のオペレーティングシステムではgzipが主流(gzip自体は圧縮機能のみでアーカイバーではない)で、使用するアルゴリズムはZIPと同一だが、ファイルフォーマットが異なるため互換性がない。

gzipも含め、様々な圧縮アルゴリズムを用いることができるが、現在の主流は古くからあるDeflate方式である。

ライブラリ

ZIP形式で圧縮、アーカイブするためのライブラリは様々なものがある。

日本国内で使われている主流は、次のものがある。

  • ZIP32.DLL (Info-ZIP)
  • 7-ZIP32.DLL (秋田稔、統合アーカイバプロジェクト)
  • UNZIP32.DLL (庄田隆司、統合アーカイバプロジェクト、Info-ZIP 5.42ベース)
  • ARCEXT.DLL (pon software、Explzhで使用)

庄田隆司版UNZIP32.DLLはフリーではないため、互換DLLがある。

  • unzip32.dll (新山義文、7-zip32.dllを呼び出すUNZIP32.DLL互換の仲介DLL)

仕様

RFC

ZIPは、大きく器となるファイルフォーマットと圧縮アルゴリズムとに分けることができ、それぞれRFCとなっている。

  • RFC 1950 ‐ ZLIB Compressed Data Format Specification version 3.3
  • RFC 1951 ‐ DEFLATE Compressed Data Format Specification version 1.3
  • RFC 1952 ‐ GZIP file format specification version 4.3

フォーマット

RFC 1950(ZLIB Compressed Data Format Specification version 3.3)は、zlibとして知られる、ファイルフォーマットの仕様

チェックサム計算「adler-32アルゴリズム」についても述べられている。

実際には、これを読んでも殆ど実装の役に立たない。PKWARE Inc.が公開しているAPPNOTE.TXTにフォーマットの詳細がある。

なお、gzipのフォーマットはRFC 1952に書かれている。

Deflateアルゴリズム

主流であるDeflateアルゴリズムは、RFC 1951に書かれている。

PKZIPや互換ソフトウェアのほか、gzipなどでも使われている方式である。

圧縮アルゴリズム

ZIP形式の基本は、32Kスライド窓の「Deflate/Inflate compression」と呼ばれる、初段にハッシュを用いたLZSS、後段にハフマン符号を用いるLZ77の変形アルゴリズムである。

日本のLZHUFと似たようなもので、DEFLATEについてはRFC 1951としてその仕様が公開されており、広く使われている。

  • 0 Store (無圧縮)
  • 1 Shrink
  • 2 Reduce (compression factor 1)
  • 3 Reduce (compression factor 2)
  • 4 Reduce (compression factor 3)
  • 5 Reduce (compression factor 4)
  • 6 Implode
  • 7 Tokenize
  • 8 Deflate
  • 9 Deflate64
  • 10 PKWARE Data Compression Library Imploding (old IBM TERSE)
  • 11 (予約)
  • 12 bzip2
  • 13 (予約)
  • 14 LZMA (EFS)
  • 15 (予約)
  • 16 (予約)
  • 17 (予約)
  • 18 IBM TERSE (new)
  • 19 IBM LZ77 z Architecture (PFS)
  • 97 WavPack
  • 98 PPMd version Ⅰ, Rev 1

様々なアルゴリズムに対応しているが、互換性などの問題から、古くて性能も普通ながら、Deflateが今も主流として使われている。

暗号化アルゴリズム

書庫の暗号化も可能で、様々な暗号化アルゴリズムが使われてきた。

当然、展開する側が対応していなければ復元することができない。のみならず、かつてはPKZIPとWinZipでも互換性が無かった。

  • 0x6601 ‐ DES
  • 0x6602 ‐ RC2 (5.2より前)
  • 0x6603 ‐ 3DES 168
  • 0x6609 ‐ 3DES 112
  • 0x660E ‐ AES 128
  • 0x660F ‐ 3DES 192
  • 0x6610 ‐ 3DES 256
  • 0x6702 ‐ RC2 (5.2以降)
  • 0x6720 ‐ Blowfish
  • 0x6721 ‐ Twofish
  • 0x6801 ‐ RC4

現在はAESが使われている。AESの前は3DESが使われていた。

関連フォーマット

拡張子は.zipではないが、ZIP形式(アルゴリズム、フォーマットの双方)を採用しているファイルフォーマットは多数確認されている。

以下、確認されたもの(拡張子ABC順)。

コメントなどを投稿するフォームは、日本語対応時のみ表示されます


KisoDic通信用語の基礎知識検索システム WDIC Explorer Version 7.03 (16-May-2019)
Search System : Copyright © Mirai corporation
Dictionary : Copyright © WDIC Creators club