New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Missing hash functions #1
Comments
MD2 explanation The first link has an example of an implementation in C of MD2. Overall the implementation is around 100 lines of code and hence should be doable for anyone that knows a bit of rust. |
I am somewhat new to Rust but I believe I can do this. Can I take MD2? |
Moved Grostl discussion to #8. |
I'd like to take a shot at Tiger. |
I'll take a shot at MD6 |
I think |
bcrypt is a password hashing function. Perhaps those deserve their own toplevel project, as they are functionally different from hash functions (among other things they are PRFs, not hash functions) |
@lilianmoraru |
nit about "kdf": bcrypt isn't a KDF |
I think it's "close enough". Also wiki. Either I am open to suggestions, but I think it's better to continue this discussion in the IRC. Edit: after discussion I think we will go with "password-hashing" instead of "kdf" |
@newpavlov There is also this implementation and this one(which seems better but I'd switch it from |
Thank you for the links! I will definitely check them! |
+1 for KangarooTwelve, seems like a great option for hashing files very quickly for content addressable filesystem situations (e.g., git, backups, etc). |
Of this list, KangarooTwelve is the only one I'm even remotely interested in. |
+1 for KangarooTwelve. Is it a good idea to add the TupleHash family too? |
Hi, Are you interested in Shabal? All the best |
@spebern |
Current link for KangarooTwelve: https://keccak.team/kangarootwelve.html. (Old link redirects there.) |
Any interest in TTH? |
Sure. It seems like you could put it in the |
I would like to propose the hash algorithm Argon2 for inclusion in RustCrypto. |
We have an Argon2 implementation here: https://github.com/RustCrypto/password-hashes/tree/master/argon2 |
Oversaw it. Thanks for the link. |
Is the blake3 crate something that should be moved here https://github.com/BLAKE3-team/BLAKE3? I know it does runtime cpu detection and calls out to hand-tuned asm so that may be a problem. But it does work fine without the asm and has a |
If the BLAKE3 team is interested in doing that, we'd love to have it. But they may not want to. They do implement traits from the |
I've published a PR for the implementation of the FSB hash function. Seems to work as expected compared to the reference implementation. It still does not have the testing framework in the rest of the crates, nor the quality standards (code style, optimisations, proper README and documentation), but I'd be happy to change that and maintain if you want to include this implementation in the crate. |
I have implemented the |
@gavadinov great! if you open a PR to this repo, we can review it |
Any chance we can get IFSB, RFSB, and S-FSB? Wikipedia indicates nothing about IFSB's performance, but states that S-FSB is 30 percent faster than FSB and that RFSB is 10x faster than FSB-256. I would implement these myself but I have no knowledge of cryptography -- or at least not the mathematics and such. :-( |
I've implemented cSHAKE, and I have a few open questions before I can open a PR:
EDIT: Should we open a Zulip stream for RustCrypto? or is there a Discord/Matrix channel somewhere that I can join to ask these kinds of questions? |
I think we can start without it and potentially expose it later if someone will request it.
The format is described in the
You can create PR with several test vectors and I can convert the rest for you.
We already have Zulip (note README badges): https://rustcrypto.zulipchat.com/ |
RIPEMD-128: #406 |
found an md6 but it's via FFI: this isn't what you want, is it? tapping in: @nabijaczleweli |
@laudiacay |
How about poseidon hash? |
@ashWhiteHat Added. |
Thank you! |
HAS-160 Specification The original specification has been taken down, so I have linked to the wayback machine page. I have also updated the link on the wikipedia page of HAS-160. The paper also contains pseudocode and explains the algorithm in-depth. |
I see POSEIDON in here, and I'm interested in working on it for GSoC, but while I was researching it, I found this recent video on their faster version of the hash function. It uses a special matrix to speed up multiplication, and they call it POSEIDON2. Could this be added to the list? |
I added Poseidon2 to the list as well as a link to the HAS-160 spec |
List of "would be nice to have" hash functions:
It can be changed based on discussion.
The text was updated successfully, but these errors were encountered: