7 releases (4 breaking)
| 0.6.1 | Jan 19, 2025 |
|---|---|
| 0.6.0 | Oct 5, 2024 |
| 0.5.0 |
|
| 0.4.1 | Oct 10, 2021 |
| 0.1.2 | May 10, 2021 |
#1469 in Algorithms
411 downloads per month
Used in 2 crates
26KB
327 lines
UMASH is an almost-universal family of hash functions. Each
Params struct defines a specific hash function; when the
parameters are generated pseudorandomly, the probability that two
different inputs of up to s bytes collide (for an independently
generated set of parameters) is at most ceil(s / 4096) 2^-55 for
the 64-bit hash. The 128-bit fingerprint reduces that probability
to less than 2^-70 for inputs of 1 GB or less.
See the reference repo for more details and proofs.
umash-rs: a rust API for UMASH
UMASH is a family of fast hash / fingerprinting functions with collision bounds. This crate builds on x86-64 (with CLMUL) and little-endian aarch64 (with VMULL). The UMASH family of functions is defined independently of hardware specific features, so computes the same values on both architecture.
See https://github.com/backtrace-labs/umash for more details.
Dependencies
~165–460KB