Rabinfingerprinting
Rabinfingerprinting, also known as Rabin fingerprinting, is a technique for assigning compact fingerprints to sequences of bytes by computing a rolling polynomial hash over a finite field. It enables efficient similarity detection and data deduplication by allowing quick updates as the input window slides, so that the fingerprint of a substring can be updated in constant time when a new byte enters the window and an old byte leaves.
In practice, data is treated as coefficients of a polynomial modulo a prime or over GF(2^w). Fingerprints
Applications include content-defined chunking for data backup and synchronization, where boundaries are placed when the fingerprint
Advantages include fast incremental updates, predictable performance, and low collision probability at standard fingerprint sizes. Limitations
Related concepts include the Rabin-Karp algorithm, rolling hashes, content-defined chunking, and data deduplication.