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

Open
newpavlov opened this Issue Nov 18, 2016 · 15 comments

Comments

Projects
None yet
9 participants
@newpavlov
Copy link
Member

newpavlov commented Nov 18, 2016

List of "would be nice to have" hash functions:

It can be changed based on discussion.

@adrianbrink

This comment has been minimized.

Copy link

adrianbrink commented Dec 29, 2016

MD2 explanation
General information from wikipedia

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.

@felipeamp

This comment has been minimized.

Copy link
Contributor

felipeamp commented Jan 8, 2017

I am somewhat new to Rust but I believe I can do this. Can I take MD2?

@newpavlov newpavlov referenced this issue Jan 11, 2017

Closed

Add Grostl #8

@newpavlov

This comment has been minimized.

Copy link
Member

newpavlov commented Jan 11, 2017

Moved Grostl discussion to #8.

@faineance

This comment has been minimized.

Copy link

faineance commented Jan 11, 2017

I'd like to take a shot at Tiger.

@newpavlov newpavlov closed this Jan 12, 2017

@newpavlov newpavlov reopened this Jan 12, 2017

@cseale

This comment has been minimized.

Copy link

cseale commented Jan 12, 2017

I'll take a shot at MD6

@lilianmoraru

This comment has been minimized.

Copy link

lilianmoraru commented Jun 2, 2017

I think bcrypt is a must-have.

@tarcieri

This comment has been minimized.

Copy link
Contributor

tarcieri commented Jun 2, 2017

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)

@newpavlov

This comment has been minimized.

Copy link
Member

newpavlov commented Jun 2, 2017

@lilianmoraru
There is already bcrypt crate, but it needs a bit of work before publishing. And as tarcieri mentioned, bcrypt is better to be placed in the different repo. I was thinking about RustCrypto/kdf and I was planning to work on it after I'll finish with block modes for block ciphers. (bcrypt depends on blowfish after all)

@tarcieri

This comment has been minimized.

Copy link
Contributor

tarcieri commented Jun 2, 2017

nit about "kdf": bcrypt isn't a KDF

@newpavlov

This comment has been minimized.

Copy link
Member

newpavlov commented Jun 2, 2017

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"

@lilianmoraru

This comment has been minimized.

Copy link

lilianmoraru commented Jun 2, 2017

@newpavlov There is also this implementation and this one(which seems better but I'd switch it from trait IntoBcryptSetup to the yet nightly TryInto/TryFrom).
The second also has the 72 bytes limit on the password... I'd rather go with SHA512 + bcrypt(512 bit as input from SHA512) - that's why I also thought that bcrypt would be good in combination with these crates, otherwise you'd have to recommend any random SHA crate, without a specific example of correct usage.

@newpavlov

This comment has been minimized.

Copy link
Member

newpavlov commented Jun 2, 2017

Thank you for the links! I will definitely check them!

@pedrocr

This comment has been minimized.

Copy link

pedrocr commented Jul 3, 2017

+1 for KangarooTwelve, seems like a great option for hashing files very quickly for content addressable filesystem situations (e.g., git, backups, etc).

@tarcieri

This comment has been minimized.

Copy link
Contributor

tarcieri commented Jul 4, 2017

Of this list, KangarooTwelve is the only one I'm even remotely interested in.

@rubdos

This comment has been minimized.

Copy link

rubdos commented Mar 22, 2018

+1 for KangarooTwelve.

Is it a good idea to add the TupleHash family too?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment