さまざまな圧縮、暗号化、アーカイブ形式の理解

コンピュータ用語で、アーカイブとは、異なるファイルやフォルダーを内部に格納する単一のファイルです。利用可能なアーカイブ形式は複数あり、それぞれに利点と欠点があります。一部のアーカイブ形式は圧縮サポートを提供し(ファイルサイズを小さくします)、他の形式は暗号化をサポートします。はい、そしてあなたが推測した通り、一部のアーカイブ形式は両方の圧縮と暗号化をサポートしています。圧縮および暗号化アルゴリズムとさまざまなアーカイブ形式について詳しく見ていきましょう。

圧縮アルゴリズム

圧縮アルゴリズムは、アーカイブがファイルを圧縮し、全体のファイルサイズを小さくするために使用する方法です。

圧縮形式とアルゴリズム

1. LZMA/LZMA2

Lempel-Ziv-Markov (LZMA) チェーンアルゴリズムは、ロスレスデータ圧縮アルゴリズムです。LZMAは辞書圧縮アルゴリズムを使用し、複雑なデータ構造を利用して1ビットずつエンコードします。

LZMA2は、圧縮されていないデータとLZMA圧縮データの両方を含むコンテナです。データのマルチスレッド圧縮および解凍をサポートします。他の圧縮アルゴリズムでは圧縮できないデータも圧縮できます。

2. バロウズ-ウィーラー変換アルゴリズム (BWT)

BWTは、テキストの文字列を順番に置換し、繰り返しの文字を記号に置き換えることで圧縮します。

3. PPM

部分一致による予測 (PPM) は、統計的データ圧縮方法で、未圧縮の記号ストリーム内の以前の記号のセットを使用して、ストリーム内の次の記号を予測します。

4. Deflate

Deflateは、データを圧縮するためにLZ77とハフマン符号化アルゴリズムの組み合わせを使用する人気のあるデータ圧縮アルゴリズムです(LZMAとPPMアルゴリズムを組み合わせてより多くの圧縮を実現します)。Deflateには特許によって制限された実装が含まれていないため、非常に人気があり、特にLinuxで広く使用されています。

暗号化アルゴリズム

次に、いくつかの人気のある暗号化方法を見ていきましょう:

暗号化形式アルゴリズム

1. DES

データ暗号化標準は、プライベートな秘密鍵を使用してデータを暗号化および復号化します。秘密鍵は56ビットから64ビットのアドレス空間からランダムに選択されます。

2. AES

高度な暗号化標準は、米国の機関が機密データを保護するために使用する暗号化アルゴリズムです。128、192、および256ビットの暗号化を使用してデータを暗号化できます。AESは対称鍵アルゴリズムを使用しており、データの暗号化と復号化に共通の鍵が使用されます。

3. Blowfish

Blowfish暗号化アルゴリズムは、64ビットのブロックサイズと32ビットから448ビットの可変鍵長でアーカイブを暗号化します。

:他にもいくつかの暗号化アルゴリズムがありますが、上記の3つが最も使用されています。

アーカイブ形式

さまざまなアーカイブ形式が利用可能です。以下では、圧縮と暗号化のサポート、使用可能なオペレーティングシステムおよびソフトウェアの3つのパラメータを使用して各アーカイブ形式を評価します。

1. Tar

テープアーカイブ (Tar) は、最も古いアーカイブ形式の1つです。最初はデータをシーケンシャルテープドライブに結合して書き込むために使用されましたが、後に圧縮形式として標準化されました。Tarは主にLinuxで使用され、圧縮や暗号化をサポートしていません。追加のソフトウェアをインストールすることでWindowsでも使用できます。ほとんどの現代のアーカイブユーティリティはこの形式をサポートしています。例外にはDisk ArchiverとKGB Archiverが含まれます。

2. GZ

GZまたはGZipは、WindowsとLinuxの両方で使用される最も人気のある圧縮形式の1つです。GZipはDeflate圧縮アルゴリズムを使用してアーカイブファイルを圧縮します。GZipはマルチパートファイル転送もサポートしており、大きなGZipファイルの小さな部分を作成して簡単に共有および転送できます。GZipは非常に人気があるため、ほとんどの現代のアーカイブユーティリティはGZip形式を使用してファイルを圧縮および解凍するためのサポートを提供しています。これには7-Zip、BetterZip、PKZip、WinZip、WinRARが含まれます。

3. BZ/BZ2

BZはGZに非常に似ていますが、バロウズ-ウィーラー変換アルゴリズムを使用しており、わずかに多くの圧縮と小さなファイルサイズを実現します。圧縮は遅いですが、解凍は非常に速いです。GZをサポートするほとんどのソフトウェアはBZもサポートしています。

4. Zip

圧縮_winzip

Zipは、おそらく最もよく知られ、使用されているアーカイブ形式です。ZipはDeflateアルゴリズムを使用し、ロスレス圧縮をサポートしています。また、AESおよびDES暗号化もサポートしています。ほとんどの現代のオペレーティングシステムはZip形式の組み込みサポートを提供しているため、Zipファイルのアーカイブおよび解凍に別のソフトウェアを必要としません。

5. 7Z

圧縮_7zip

7Zアーカイブ形式は、7-Zipという無料でオープンソースのユーティリティと共に導入されました。これは、ほとんどのデータ圧縮および暗号化アルゴリズムをサポートする最も高度な一般的な圧縮およびアーカイブ形式です。7Z形式は他の形式よりもファイルを圧縮しますが、処理は比較的遅いです。もう1つの制限は、7-ZipソフトウェアがWindows専用であることです。MacやLinuxの視覚的サポートはありません。7Zはマルチパートアーカイブもサポートしています。

6. RAR

圧縮_winrar

RARは、プロプライエタリなアーカイブ形式です。他のユーティリティ(7-ZipやWinZipなど)で読み取りおよび抽出できますが、RARを作成するにはWinRARユーティリティが必要です。RARは、7Zがリリースされる前はマルチパートアーカイブの最も人気のある形式でした。現在、7ZはRARがWinRARソフトウェアの料金を請求することで行う同じ作業を無料で行うことができます。RARはAES暗号化をサポートしています。

その他の圧縮およびアーカイブ形式

比較的知られていない形式は以下の通りです:

XZは、LZMA2圧縮アルゴリズムを使用するロスレスデータ圧縮形式です。7Zの簡略版と考えることができます。

LHAは、以前はLHarcとして知られており、主にインストールファイルやゲームを圧縮するために使用されます(主に日本で使用されます)。興味深いことに、日本版のWindows 7にはLHAアーカイブの組み込みサポートがあります。

ACEは、2000年代初頭にRAR形式の競合相手であったプロプライエタリなデータ圧縮アーカイブファイル形式です。

StuffItは、主にMac向けにリリースされましたが、その後Windows、Linux、Solaris向けのバージョンもリリースされました。これは、StuffItユーティリティによって使用されるプロプライエタリな圧縮形式です。

結論

Linuxでは、最も一般的に使用される形式はgz(またはtar.gz)で、次にbzが続きます。一方、WindowsやMacでは、最も一般的に使用される形式はZipです。クロスプラットフォームの互換性を考慮すると、Zip形式が最適です。セキュリティ、高圧縮、マルチパートアーカイブなどの機能を求める場合は、7Z形式を選択してください。RARは7Zに似ていますが、価格が付いています。できるだけ避けてください。

どのファイル形式とユーティリティを圧縮に使用していますか?

画像クレジット:Spring, M-94暗号装置レプリカ