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

Argon2 #104

Open
grinapo opened this issue May 11, 2020 · 13 comments
Open

Argon2 #104

grinapo opened this issue May 11, 2020 · 13 comments
Labels
enhancement Requests a new feature or improvement. Without "need more information", we agree it's desirable. help wanted The libxcrypt core developers do not plan to work on this themselves but would review a PR.

Comments

@grinapo
Copy link

grinapo commented May 11, 2020

I have observed that a search for "argon2" didn't come up with anything relevant in the issue tracker (apart from honourable mentions in a yescrypt discussion), which is pretty much a surprise to me.

Is there any plans to have Argon2 supported? It seems to be one of the most recommended pwhash nowadays, obviously heavily influeced by the PHC.

@zackw zackw added enhancement Requests a new feature or improvement. Without "need more information", we agree it's desirable. help wanted The libxcrypt core developers do not plan to work on this themselves but would review a PR. labels May 11, 2020
@zackw
Copy link
Collaborator

zackw commented May 11, 2020

Huh, I thought we already had an open wishlist item for argon2 but I guess we don't.

We would certainly consider a patch or PR to add argon2. The main reasons I haven't done it already are lack of time and the fact that the reference implementation is a fairly bulky library.

@besser82
Copy link
Owner

We would certainly consider a patch or PR to add argon2. The main reasons I haven't done it already are lack of time and the fact that the reference implementation is a fairly bulky library.

Well, given the circumstance that cryptsetup already interfaces libargon2.so (reference implementation), wouldn't it make sense, when we would do the same instead of bundling?

@simo5
Copy link
Collaborator

simo5 commented May 12, 2020

2 cents:

  • the argon2 RFC is not finalized yet, I would wait until that's the case.
  • embedding would avoid a dependency, but, as long as libargon2 could be selected via configure flag I guess it i not a big deal to have it as a dep.

@SomeAB
Copy link

SomeAB commented Aug 17, 2020

NETBSD added Argon2 algo to its crypt(3) btw: https://netbsd.gw.com/cgi-bin/man-cgi?crypt++NetBSD-current

@zackw
Copy link
Collaborator

zackw commented Aug 18, 2020

I'd be fine with libxcrypt growing an optional runtime dependency on libargon2.so, but is there a second independent implementation of Argon2 yet? This is desirable for verifying interoperability.

@zackw
Copy link
Collaborator

zackw commented Aug 18, 2020

The Argon2 draft RFC is in a late stage of the IRTF process and does not appear to have changed very much in some time. In particular the test vectors have not changed since draft-irtf-cfrg-argon2-02 which was published in March 2017. So I think the risk of implementing something incompatible, if we go ahead before the RFC is published, is quite low.

@ferivoz
Copy link
Contributor

ferivoz commented Oct 10, 2020

Cryptsetup uses Argon2, KeePassXC uses Argon2, but shadow stores my root password as SHA512 by default. To get Argon2 support started, I have created a branch with it: #113

Feel free to give me feedback!

@mgorny
Copy link

mgorny commented Oct 21, 2021

The RFC has been published last month.

@oittaa
Copy link

oittaa commented Apr 25, 2022

Link to the RFC: https://datatracker.ietf.org/doc/rfc9106/
Regarding the default work factors, OWASP also has pretty decent recommendations and might be worth taking a look. Or maybe something could be detected during the runtime like many password managers do.

@calestyo
Copy link

calestyo commented Nov 6, 2022

Anything new on this or the PR? Argon2 seems like a natural choice, given that it probably receives most scrutiny now.

@rathann
Copy link

rathann commented Jun 22, 2023

I'd be fine with libxcrypt growing an optional runtime dependency on libargon2.so, but is there a second independent implementation of Argon2 yet? This is desirable for verifying interoperability.

#150 seems to support an alternative implementation, although it looks abandoned.

@maandree
Copy link

I'd be fine with libxcrypt growing an optional runtime dependency on libargon2.so, but is there a second independent implementation of Argon2 yet? This is desirable for verifying interoperability.

#150 seems to support an alternative implementation, although it looks abandoned.

If you are referring to the GitHub repos being archived, they have not been abandoned but have been migrated to https://codeberg.org/maandree.

@rathann
Copy link

rathann commented Jun 22, 2023

That's great. Thanks for letting us know the projects are still alive. @besser82 any chance of merging either this or #150 any time soon?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement Requests a new feature or improvement. Without "need more information", we agree it's desirable. help wanted The libxcrypt core developers do not plan to work on this themselves but would review a PR.
Projects
None yet
Development

No branches or pull requests