-
Notifications
You must be signed in to change notification settings - Fork 18k
x/crypto: support argon2 password hashing scheme #19896
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
Comments
/cc @agl |
The bar to putting something in x/crypto is slightly higher than an algorithm just existing. It needs to an important and/or common dependency for other things. What needs this? |
@bradfitz Quote from the linked pdf:
Conclusion: "Argon2 should be preferred over bcrypt, scrypt and PBKDF2" It is also used as the (default) password hashing scheme in famous crypto-libraries like libsodium As mentioned above I've received more than one request like: "Is there any chance that there will be a Go implementation of argon2" - My answer: "I'll ask the Go-Team" 😉 |
My response above is my default template. We get tons of requests for additions. We need to stop and ask why sometimes. I'll defer to @agl. |
Yeah, I can imagine that - by the way thanks for your (and all the other members) effort on keeping Go clean. 😃 |
Has a Go implementation been done yet? It could be prototyped as a third party package first. |
I have a Go implementation that i'd be happy to donate: https://github.com/magical/argon2 |
@magical |
Is there any update on this one? I think having argon2 available in x/crypto would be a really good thing to have. Argon2 is the current winner of the password hashing competition. |
Change https://golang.org/cl/82575 mentions this issue: |
This CL adds the package argon2. The argon2 package implements the Argon2 PBKDF family (Argon2i, Argon2d, Argon2id). Argon2 is memory-hard key derivation function and is specified at https://github.com/P-H-C/phc-winner-argon2/blob/master/argon2-specs.pdf It can be used to derive cryptographic keys with high entropy from low entropy passwords. Fixes golang/go#19896 Change-Id: I5b099682a8e3d7569ad18400cebddefc99a7e22f Reviewed-on: https://go-review.googlesource.com/82575 Run-TryBot: Adam Langley <agl@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Adam Langley <agl@golang.org>
This CL adds the package argon2. The argon2 package implements the Argon2 PBKDF family (Argon2i, Argon2d, Argon2id). Argon2 is memory-hard key derivation function and is specified at https://github.com/P-H-C/phc-winner-argon2/blob/master/argon2-specs.pdf It can be used to derive cryptographic keys with high entropy from low entropy passwords. Fixes golang/go#19896 Change-Id: I5b099682a8e3d7569ad18400cebddefc99a7e22f Reviewed-on: https://go-review.googlesource.com/82575 Run-TryBot: Adam Langley <agl@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Adam Langley <agl@golang.org>
This CL adds the package argon2. The argon2 package implements the Argon2 PBKDF family (Argon2i, Argon2d, Argon2id). Argon2 is memory-hard key derivation function and is specified at https://github.com/P-H-C/phc-winner-argon2/blob/master/argon2-specs.pdf It can be used to derive cryptographic keys with high entropy from low entropy passwords. Fixes golang/go#19896 Change-Id: I5b099682a8e3d7569ad18400cebddefc99a7e22f Reviewed-on: https://go-review.googlesource.com/82575 Run-TryBot: Adam Langley <agl@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Adam Langley <agl@golang.org>
This CL adds the package argon2. The argon2 package implements the Argon2 PBKDF family (Argon2i, Argon2d, Argon2id). Argon2 is memory-hard key derivation function and is specified at https://github.com/P-H-C/phc-winner-argon2/blob/master/argon2-specs.pdf It can be used to derive cryptographic keys with high entropy from low entropy passwords. Fixes golang/go#19896 Change-Id: I5b099682a8e3d7569ad18400cebddefc99a7e22f Reviewed-on: https://go-review.googlesource.com/82575 Run-TryBot: Adam Langley <agl@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Adam Langley <agl@golang.org>
This CL adds the package argon2. The argon2 package implements the Argon2 PBKDF family (Argon2i, Argon2d, Argon2id). Argon2 is memory-hard key derivation function and is specified at https://github.com/P-H-C/phc-winner-argon2/blob/master/argon2-specs.pdf It can be used to derive cryptographic keys with high entropy from low entropy passwords. Fixes golang/go#19896 Change-Id: I5b099682a8e3d7569ad18400cebddefc99a7e22f Reviewed-on: https://go-review.googlesource.com/82575 Run-TryBot: Adam Langley <agl@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Adam Langley <agl@golang.org>
This is a proposal for implementing the argon2 password hashing scheme. There are different "versions" of Argon2 (Argon2i, Argon2d, Argon2id, Argon2ds). This proposal is just about general argon2 support - so should x/crypto contain an argon2 package?
I can submit an implementation but whether x/crypto should support all Argon2 versions - or a subset - requires more thinking. My personal opinion about this (if proposal accepted) is to support Argon2i and maybe Argon2d.
I open this because I've received more than one request in this regard.
The text was updated successfully, but these errors were encountered: