ジップ爆弾は、それを読み取るシステムを停止またはクラッシュする圧縮zipアーカイブファイルです。減圧ソフトウェアは、そのようなアーカイブファイルを非圧縮すると、膨大な量のディスクスペース、処理時間、またはメモリを取得します。これにより、実行するシステムがリソースから外れ、最終的にクラッシュします。ジップ爆弾ファイルのそのような例の1つは、サイズが42キロバイトであるが、4.5ペタバイトの非圧縮データに拡大する42.zip圧縮アーカイブです。 簡単な大要の圧縮アルゴリズムについて学ぶ
再帰的vs非再帰的なzip爆弾 zip爆弾ファイルは、2つの異なる方法、つまり再帰的に爆発的に爆発的に圧縮されていないzipアーカイブで作成できます。 a 再帰的なzip爆弾 には、単一のアーカイブファイルに圧縮ファイルのレイヤーが含まれています。これにより、減圧ソフトウェアは、ネストされたアーカイブを再帰的に拡張し、出力を指数関数的に拡大することを指示します。 a 非再帰的なzip爆弾 アーカイブは、zipコンテナ内のファイルと重複しており、zipファイル内にネストされたzipファイルの再圧縮器の再帰解除に依存しません。これにより、1ラウンドの減圧後にアーカイブが拡張され、出力サイズが2次拡張され、小さな10 MBファイルから最大281 TBの出力ファイルが大きくなります。
42.zip - zip爆弾例アーカイブファイル 42.zipは、わずか42kbのサイズのZipアーカイブファイルで最もよく知られている例ですが、拡張すると4.5 pbのサイズに達します。これは、再帰的にネストされたジップファイルで構成されており、最低レベルのzipファイルは4.3 GBのSIEに減圧されます。この構造は、ほとんどのzipパーサーと互換性のある最も一般的なデフレート圧縮アルゴリズムを使用します。
結論 単一のジップ爆弾ファイルは、コンピューターシステムに大きな問題を引き起こす可能性があります。たとえば、アンチウイルススキャナーソフトウェアは、このようなアーカイブの内容をスキャンして、悪意のあるソフトウェアが含まれていないことを確認します。しかし、これらのZIP爆弾は、非公開の活動でウイルス対策を行い、システムのクラッシュまたはメモリの問題からのシステムが発生します。他の悪意のあるソフトウェアは、ウイルス対策ソフトウェアの停止アクティビティ中にコンピューターに感染する可能性があります。ありがたいことに、多くのアンチウイルススキャナーは、そのようなジップ爆弾を使用して実行される攻撃を防ぐために、数層の再帰をスキャンするようになりました。今日のデジタルワールドは、携帯電話やタブレットなどのハンドヘルドデバイスを使用して、すべての人をつなげています。これにより、データ共有が増加し、効率的なディスクストレージ管理が必要です。さらに、インターネット上の高速かつ効果的なデータ共有には、ファイルサイズをできるだけ小さくする必要があります。 圧縮ファイル形式は、データを圧縮するための損失とロスレス圧縮アルゴリズムを提供します。これらは、ディスクストレージの使用率を削減し、インターネットを介した高速データ転送を削減するのに役立ちます。 この記事では、最も広く使用されている圧縮アルゴリズムとそのタイプに関する知識を得ようとします。
ロスレス圧縮アルゴリズム BZIP2 ハフマンエンコード lempel-ziv圧縮 部分的マッチングによる予測(ppm) run-length Encoding(rle) 損失のある圧縮アルゴリズム 離散コサイン変換(DCT) ウェーブレット圧縮 デカルト知覚圧縮(CPC) フラクタル圧縮 結論 ロスレス圧縮アルゴリズム 名前が意味するように、ロスレス圧縮アルゴリズムは、コンテンツを失うことなくファイルを圧縮するデータ圧縮アルゴリズムのカテゴリに属します。これは、ロスレス圧縮アルゴリズムが圧縮データから元のデータを正確に再構築できることを意味します。多くの異なるアルゴリズムは、典型的なタイプの入力データを念頭に置いて設計されているか、非圧縮データにどのような種類の冗長性が含まれているかを想定して設計されています。 以下は、最も広く使用されているロスレス圧縮アルゴリズムのいくつかの簡単な説明です。
BZIP2 このアルゴリズムは、RLEとHuffmanのコーディングでBurrows-Wheelerアルゴリズムを使用してデータを圧縮します。ファイルをアーカイブせずにのみ圧縮するために使用されます。圧縮されたファイルは通常、.bz2拡張機能で保存されます。
ハフマンエンコーディング このアルゴリズムは、各シンボルのIDを選択するための特定の方法に基づいており、プレフィックスコードになります。 Huffman Codingは、プレフィックスコードを作成するための非常に広範な方法です。 MPQ、。ACE、。JPEG、。PNG、。エンコーディング。
lempel-ziv圧縮 この圧縮アルゴリズムは、 lz77 および lz78 としても知られています。これらのアルゴリズムの組み合わせは、LZW、LZSS、LZMAなどを含む多くのバリエーションに基づいています。どちらも理論的には辞書コーダーです。圧縮中、LZ77はスライドウィンドウを維持します。後でまたは後でLZ78によって構築された明示的な辞書に相当することが示されました。したがって、それらはデータ全体の減圧に同等になります。 。LZMA、。LZO、。LZ、。
部分的マッチングによる予測(ppm) ** PPMとも呼ばれる部分的な一致による予測**は、予測とコンテキストモデリングに基づいた圧縮アルゴリズムです。ストリーム内の次のシンボルを予測するために、PPMモデルは、非圧縮シンボルストリームで以前のシンボルのセットを使用します。 PPMアルゴリズムは、zipおよび7zファイルをサポートします。
run-lengthEncoding(rle) このアルゴリズムは、多くの隣接するデータ要素で発生する同じデータ値を含むシーケンスに基づいて、RLEロスレス圧縮アルゴリズムとしても知られています。これらのシーケンスは実行と呼ばれます。 RLEは、各実行を単一のデータ値として保存し、カウントしました。これは、単純なグラフィック画像など、多くの実行を含むデータで有益です。図面、アイコン、行、アニメーション。 with。psd、。psb、。
損失のある圧縮アルゴリズム 損失のある圧縮アルゴリズムは、ファイルのストレージサイズを削減するための一歩先を行っています。一方、一部の情報の損失は、必須の詳細を削除するものとして受け入れられます。 Losy Data Compressionアルゴリズムは、人々がデータをどのように理解しているかについての研究によって形成されます。ほとんどの損失圧縮アルゴリズムは、変換コーディングに基づいています。 有名な損失のある圧縮アルゴリズムのいくつかを以下で簡単に説明します。
離散コサイン変換(DCT) 離散コサイン変換(DCT)は、異なる周波数で変動するコサイン関数の合計の観点から、データポイントの限られたシーケンスです。 JPEG、HEIF、J2K、Exif、DNGなどのデジタル画像を含む、ほとんどのデジタルメディアで使用されています。
ウェーブレット圧縮 ウェーブレット圧縮は、画像圧縮で最も一般的に使用される損失のある圧縮アルゴリズムです。このアルゴリズムは、最初にウェーブレット変換が適用される変換コーディングと呼ばれる原理を使用します。これにより、画像にピクセルがあるのと同じくらい多くの係数が作成されます。情報はわずか数係数で統計的に濃縮されるため、これらの係数をより簡単に圧縮できます。顕著な実装は、静止画像のJPEG 2000、DJVU、およびECWです。
デカルト知覚圧縮(CPC) この喪失した圧縮は、アーカイブスキャンからの白黒ラスターイメージングの高い圧縮のためにCPCとしても知られています。このアルゴリズムは、一般に、法的文書、地理的プロットマップ、および設計計画のWeb配布で使用されます。
フラクタル圧縮 フラクタル圧縮は、フラクタルベースのデジタル画像の損失のある圧縮アルゴリズムです。このアルゴリズムは、自然な画像やテクスチャに適しており、同じ画像の他の部分に似た画像の一部に依存しています。フラクタルアルゴリズムは、これらの部分をエンコードされた画像を再現するために使用されるフラクタルコードに変換します。
結論 この記事では、圧縮アルゴリズム、それらの主要なタイプ、および一般的に使用される圧縮アルゴリズムについて学びました。すべての圧縮アルゴリズムについて知識を心に留める必要はありません。ただし、さまざまな損失またはロスレス圧縮のトピックに関するスマートなプレゼンテーションを作成する必要がある場合は、ここからヘルプを得ることができます。したがって、このブログページを参照としてブックマークします。