Hatena Blog Tags

.zip

(コンピュータ)
じっぷ

ZIPは、データ圧縮やアーカイブのフォーマット。パソコンでは一般的なフォーマットである。

概要

ZIPファイルフォーマット(以下ZIPフォーマット、またはZIP)は複数のファイルを一つのファイルとしてまとめて取り扱うアーカイブフォーマットであり、1つ以上のファイルが格納されているものである。必要に応じて各種ある圧縮アルゴリズムを選択・使用し、ファイルサイズを圧縮して格納することも可能である。
ZIPフォーマットは1989年にフィル・カッツが考案したもので、トム・ヘンダーソンが考案したそれまでのARCフォーマットに置き換わるものとして、PKWAREのPKZIPユーティリティに実装された。 ZIPフォーマットは現在多くのユーティリティによってサポートされている(ファイルアーカイバのリストを参照)。オペレーションシステムでのサポートとしては、マイクロソフトが1998年以降のWindowsオペレーティングシステムの各バージョンに"圧縮フォルダ" という名前でZIPの機能を組み込んでいるほか、アップルもMac OS X v10.3以降に他の圧縮フォーマットも含めてZIPの機能を組み込んでいる。
ZIPファイルは一般的に ".zip" か ".ZIP" といった拡張子が付けられる。MIMEタイプはapplication/zip。ZIPフォーマットは、圧縮伸長を主目的としない多くのアプリケーションでも使用されているが、その際、拡張子には個々のアプリケーション固有に ".zip" とは異なる名前が用いられていることが多い。例えば、Java Archiveの拡張子は ".jar"、伺か用アーカイブファイルの拡張子は ".nar" であるが、これらのフォーマットの実態はZIPフォーマットである。

歴史

"zip" (「速さ」を意味する) という名前はフィル・カッツの友人であるロバート・マホーニーの提案によるものであり、従来から有るARCやその他の圧縮フォーマットの圧縮時間よりも、自分たちのプロダクトの方が速いということをほのめかすという意図を持っていた。
ZIPファイルフォーマット仕様は、PKZIP0.9のパッケージに同梱されていた "APPNOTE.TXT" で初めて公開された。
ZIPフォーマットはオープンフォーマットとしてパブリックドメインでリリースされたものであり、ZIPフォーマットは誰しもが自由に利用でき、個人、団体、組織、あらゆる形態の利用において法的にもモラル的にも全くは制約はない。
PKWAREもまた基本フォーマットをパブリックドメインとしており、誰でもZIPファイルを扱うアプリケーションを開発することができる。これは1988年に起こった(アメリカでの)民事訴訟の直接的な結果により導ける結論である[3][4]。同じ見解がFOSS Info-ZIPバージョンのプロダクトに付属するUNIX/LINUXドキュメント内でも見られる。そのドキュメントではzipファイルフォーマット、圧縮フォーマット、.ZIPの拡張子やファイルフォーマットへの小さな変更をパブリックドメインに置いたフィル・カッツへの感謝の念を示している。
しかしながらPKWAREのサイトにあるAPPNOTE.TXTの最新バージョンには、「しかし、現在のAPPNOTEに記載されている特定の技術的性質を持つプロダクトの実装や利用に、強力な暗号化、パッチ、またはPKWAREからライセンスを要求される拡張されたテープ操作が含まれている。そのライセンスに関してはPKWAREと連絡を取ってください。」と記されている。

圧縮メソッド

現在の.ZIPファイルフォーマット仕様では次のメソッドの詳細が記載されている。stored(無圧縮)、Shrunk、Reduced(メソッド 1-4)、Imploded、Tokenizing、Deflated、Deflate64、BZIP2、LZMA (EFS)、WavPack、PPMd。最も一般的な圧縮メソッドはDEFLATEでIETF RFC 1951に記載されている。
圧縮メソッドに挙げられていても、PKWARE Data Compression Library (DCL) Imploding (old IBM TERSE), IBM TERSE (new), IBM LZ77 z Architecture (PFS) の仕様の詳細は記載されていない。

暗号化

ZIPはシンプルなパスワードベースの共通鍵暗号をサポートすると仕様に記載されている。但し、重大な脆弱性があることが知られている。特にランダム数生成器の単純な実装でも悪い結果を招くケースがありクリブに対して脆弱である。
バージョン5.2以降の.ZIPファイルフォーマット仕様には、圧縮 と 暗号化 (例えば AES) を含む新しい機能のメソッドが追加されている、と記載されている。WinZipはAESベースの標準規格を使用し、それは7-Zip、XCeedやDotNetZipでも使用されている。しかし、ベンダによっては他のフォーマットを使用するものであるPKZIP SecureZIP もまた RC2, RC4, DES, Triple DES 暗号メソッド, Digital Certificate ベースの暗号 / 認証 (X.509) やアーカイブヘッダ暗号化をサポートする。

このタグの解説についてこの解説文は、すでに終了したサービス「はてなキーワード」内で有志のユーザーが作成・編集した内容に基づいています。その正確性や網羅性をはてなが保証するものではありません。問題のある記述を発見した場合には、お問い合わせフォームよりご連絡ください。

ネットで話題

もっと見る

関連ブログ