Crates.io | highwayhash |
lib.rs | highwayhash |
version | 0.0.14 |
source | src |
created_at | 2017-01-31 16:14:20.79391 |
updated_at | 2018-09-04 16:45:13.578924 |
description | Bindings to AVX-2-optimized SIP-like hash functions |
homepage | |
repository | https://github.com/vks/highwayhash-rs |
max_upload_size | |
id | 8322 |
size | 496,168 |
Rust Bindings to AVX2-optimized SIP-like hash functions. This crate offers bindings to three hash functions implemented in C++ here:
siphash
: A portable implementation of the SIP hash function, that is about 2
times faster than the reference
implementation.siphash13
: A faster but weaker variant of siphash
.highwayhash64
: A new hash that mixes the inputs using AVX2 instructions. It
is about 5 times faster than siphash
. A preliminary cryptanalysis is given
here.For highwayhash64
there are three implementations: one using AVX2, another one
using SSE4.1 and a third one that is portable by not relying on specific
instruction sets. To profit from the faster implementations, make sure to enable
the instruction sets at compile time using RUSTFLAGS="-C target-cpu=native"
or
similar.
The bindings are in an early state. They currently should work on Unix, but are
only tested on Linux. make
and a C++ compiler are required to build the
underlying C++ library. A nightly Rust compiler is required.
Licensed under either of
at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.