Fast, strong hash functions including SipHash and HighwayHash, offering high-speed SIMD implementations with security claims.
HighwayHash is a collection of fast, strong hash functions including SipHash and the newer HighwayHash algorithm. It provides cryptographically secure hashing with high performance, leveraging SIMD instructions for speed. The project solves the need for well-distributed, unpredictable hashes that can replace weaker functions in applications like hash tables, message authentication, and data integrity checks.
Developers and engineers working on performance-critical systems requiring secure hashing, such as network packet authentication, hash table implementations, checksum verification, and A/B experiment randomization.
HighwayHash offers a unique combination of speed and security, with HighwayHash being up to 5x faster than SipHash for certain inputs. Its runtime dispatch ensures optimal performance across different CPUs, and its frozen API guarantees stability for long-term use.
Fast strong hash functions: SipHash/HighwayHash
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
HighwayHash processes large inputs at 0.24 cycles per byte, offering up to 5x higher throughput than SipHash at 1 KiB, as demonstrated in the provided benchmark table.
Designed to withstand differential and length extension attacks, with formal security analysis published in a research paper, making it suitable for message authentication and hash table defense.
Automatically selects the optimal implementation (AVX2, SSE4.1, VSX, or portable) based on detected CPU features, ensuring best performance across diverse hardware without manual tuning.
All hash variants are frozen and declared unchanging forever, guaranteeing consistent outputs for applications like persistent storage or deterministic random generation, as emphasized in the versioning section.
Requires separate translation units and careful compiler flag management for SIMD intrinsics to avoid one definition rule violations, increasing build system overhead compared to simpler hash libraries.
AVX2 instructions can trigger CPU frequency throttling and have a ~56K cycle warm-up period, making HighwayHash less ideal for applications with infrequent hashing bursts, as noted in the CPU requirements section.
As a newer algorithm, HighwayHash lacks the formal standardization and extensive peer review of established hashes like SHA-256, which may concern security-critical or regulated industries.