Skip to content
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

aead/argon2 archived, moved to x/crypto/argon2 #36

Closed
eenblam opened this issue Mar 15, 2019 · 3 comments
Closed

aead/argon2 archived, moved to x/crypto/argon2 #36

eenblam opened this issue Mar 15, 2019 · 3 comments

Comments

@eenblam
Copy link

eenblam commented Mar 15, 2019

From https://github.com/aead/argon2:

This Argon2 implementation was submitted to the golang x/crypto repo. I recommend to use the official x/crypto/argon2 package if possible. This repository also exports Argon2d and Argon2id. It is recommended to use Argon2id as described in the RFC draft.

@tobischo
Copy link
Owner

Keepass2 uses Argon2d. https://github.com/aead/argon2 exposes usage of Argon2d. The official x/crypto/argon2 package does not. There are even issues around that, with discussions about this very matter, which have been shut down with the argument, that they do not want to expose unsafe options that shouldn't be used, even though argon2d is fine for an offline version as used in keepass2.

It is therefore not possible to move th x/crypto/argon2 without getting that functionality exposed.

https://github.com/golang/crypto/blob/master/argon2/argon2.go#L102 is not exposed

https://github.com/golang/crypto/blob/master/argon2/argon2.go#L74 uses argon2i

https://github.com/golang/crypto/blob/master/argon2/argon2.go#L98 uses argon2id

@tobischo
Copy link
Owner

tobischo commented Mar 16, 2019

Here is the issue golang/go#23602 where this is mentioned.

I recommend to use the official x/crypto/argon2 package if possible

As this is only an implementation working on compatibility with standard Keepass2, and Keepass2 uses argon2d, the "if possible" part is not fulfilled

@tobischo
Copy link
Owner

tobischo commented Apr 1, 2019

Closed for lack of activity.

@tobischo tobischo closed this as completed Apr 1, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants