Incremental Hash
インクリメンタルハッシュ(Incremental Hash)は、データの一部が変更された後に O(log n) 時間でダイジェストを更新でき、全データのハッシュを再計算しない。
目的
頻繁に変更される大規模データ(ファイルシステム、データベースなど)の整合性ダイジェストを効率的に維持する。
メカニズム
Merkle 木に基づく:葉の変更後は、葉から根への経路上の O(log n) 個のノードハッシュだけを更新する。または、要素の逐次追加/削除をサポートする準同型ハッシュ(MuHash など)に基づく。
ユースケース
- ファイルシステムの整合性
- データベース監査
- バージョン管理のダイジェスト