hashes
hashes copied to clipboard
Collection of cryptographic hash functions written in pure Rust
This introduces unkeyed hashing for blake2 as specified in [Section 2.5 of RFC 7693](https://www.rfc-editor.org/rfc/rfc7693.html#section-2.5) states the following: The second (little-endian) byte of the parameter block, "kk", specifies the key size...
This reintroduces the MAC section that used to be present in the [version `"0.9"`](https://docs.rs/blake2/0.9.2/blake2/index.html#message-authentication-code-mac) but has since been removed. This demonstrates the new API changes and required trait imports. Additionally,...
We've implemented this hashing algorithm for kupyna, a Ukrainian algo specified here: https://eprint.iacr.org/2015/885.pdf I'm opening this PR just to get the ball rolling. The hash function we've made works and...
[function spec](https://eprint.iacr.org/2015/885.pdf) Scrapped previous PR since it ran into a lot of problems. I'm aware that #601 exists, creating this one to check against the repo's test suite as I...
I have a working implementation of Blake2Xb. I couldn't find test vectors, so I wrote a test comparing to the official Go implementation. Open questions: * Blake2X has a slightly...
The C implementation of Skein in https://github.com/pornin/sphlib is 5x+ faster than the one in RustCrypto/hashes. ``` skein/512-rust time: [1.3714 µs 1.3734 µs 1.3753 µs] Found 6 outliers among 100 measurements...
New extensions have been added since #51, shipped in Arrow Lake and Lunar Lake. https://en.wikipedia.org/wiki/Intel_SHA_extensions https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#ig_expand=4357&avxnewtechs=SHA512
I recently looked into the `sha2` crate performance, specifically for performing many consecutive SHA512 calculations on modern x64 processors which do not yet have the brand-new SHA512 instructions mentioned in...
implementation of md6 in pure rust.
The buffer was zeroed after each full chunk in KangarooTwelveCore::process_chunk(). This is unnecessary because subsequent reads only consume [..bufpos] and bufpos is reset to 0. Removing the memset avoids extra...