hashes
hashes copied to clipboard
Collection of cryptographic hash functions written in pure Rust
As documented in https://github.com/RustCrypto/asm-hashes/issues/17 and elsewhere, the crates in `asm-hashes` don't work on Windows MSVC targets. This is unfortunate, but it's understandable given that assembly is inherently difficult to port...
Hi! I'm using `Shake256` in a setting where all input data is known at compile-time, a case where the hash value could be computed at compile-time too. I've been using...
I have a question about the hash memory management but also for other related repositories. As it seems `RustCrypto` use `GenericArray` and/or raw arrays for sensitive data like keys and...
Following up from https://github.com/RustCrypto/meta/issues/10, this is an issue for discussion potentially adding "recommended" badges to certain algorithms in this repo: 
Like it or not, SHA-1 is still used in practice. In [Sequoia PGP](https://sequoia-pgp.org), we initially decided to bad list SHA-1. However, a developer of Secure Drop recently approached us and...
The `argon2` crate presently vendors an implementation of the BLAKE2 round function: https://github.com/RustCrypto/password-hashes/issues/105 It'd be nice if it could source this functionality from the `blake2` crate, particularly if it ever...
Blake2x
It's maybe worth adding support for blake2x eventually: https://blake2.net/blake2x.pdf I've no idea if anyone actually uses blake2x for anything or how its performance compares with the shake XOFs or blake2s/b...
With stabilization of SIMD intrinsics in Rust 1.27 we can remove `simd` feature from the `blake2` crate.
Apparently BLAKE2 includes parallel versions of the two hash functions to take advantage of multi-core: https://github.com/BLAKE2/BLAKE2/blob/master/sse/blake2sp.c It would be nice to have these to be able to take advantage of...
The internal state of different hashes can be used for serialization.