元の区分的ハッシュは、ファイルの固定サイズのセグメントを使用してハッシュ値を評価します。また、コンテキストトリガーなどの区分的ハッシュは、ローリングハッシュを使用して、ファイルのハッシュ値を評価するタイミングをトリガーすることを発見しました。
そして、この手法を従来の手法よりも使用する意味がよくわかりません。
「コンテキストトリガーのピースワイズハッシュ」のことだと思いますか?
ssdeep プロジェクトは、Jesse Kornblum による「コンテキスト トリガー ピースワイズ ハッシュを使用したほぼ同一のファイルの識別」という論文にリンクしています。この論文では、spamsum アルゴリズムの形で CTPH の起源と目標について説明しています。
要約する:
を実行するなどして完全なファイル ハッシュを計算するsha1sum file
と、ファイルの合計サイズに線形の時間で、まったく同じファイルのペアを見つけることができます。
ピース単位のハッシュに固定サイズのセグメントを使用すると、ファイルの途中でバイトが再書き込みされた場合でも、参照ファイルと同じであることをおそらく識別できます。ただし、バイトが挿入または削除されると、残りのファイル全体のチェックサムが変更されます。
CTPH は、より実質的な相違点が存在する場合でも、ファイル間の類似性を認識できるようにする必要があります。変更が大きすぎない限り、CTPH はファイルの一部の挿入または削除を処理できます。この論文は、ファイルの最初の 3 分の 1 または最後の 3 分の 1 が与えられただけで、spamsum はそれがおそらくどのファイルから来たのかを認識できると主張しています。