hashcat
hashcat copied to clipboard
[Alg Request] Argon2 Support
Are there any plans to add Argon2 support? I think it would be a really beneficial addition.
Forum Post: https://hashcat.net/forum/thread-8264-post-44263.html#pid44263 Argon2 Repo: https://github.com/P-H-C/phc-winner-argon2
I'll add it when there are enough systems using it. However, feel free to send in a PR.
There is an MIT-licensed OpenCL implementation.
Are there any systems publicly known to be using Argon2?
(Edit: @Sc00bz noted that there are seven (at this writing) noted here: https://pulse.michalspacek.cz/passwords/storages)
@roycewilliams It's the default for PHP 7, and should be the default for key stretching moving forward. It would be much more popular if the NSA didn't require PBKDF2 usage.
@indolering I didn't realize it was the PHP7 default. That's a pretty compelling argument for inclusion in hashcat, IMO.
Are there any systems publicly known to be using Argon2?
The widely used enterprise cms system TYPO3 is using it since the relaease of version 9. So it would be very interesting to have support for this algorithm. But its the weaker Argon2i variant. https://docs.typo3.org/m/typo3/reference-coreapi/master/en-us/ApiOverview/PasswordHashing/Index.html
I'm also interested in HashCat compatibility with Argon2.
Although I'm not an expert in this field, I think that it could turn out quite difficult to implement Argon 2 in Hashcat. And even if you manage to, it could be so slow that running on a GPU would not result in any performance gain. As far as I know,, one of the main features of Argon 2 is the specialization on x86_64. Argon2d is specially optimized to maximize resistance to GPU cracking attacks. It also uses a high amount of RAM to achieve the same thing too. If Argon 2 is used with the right parameters, it could be possible that the execution on a CPU is as fast as on a GPU. Again I'm not an expert, although I'd like to be one, but this could be a real challenge. This x86_64 oriented algorithm is not very likely to survive the architecture switch to ARM and therefore will not be used a lot in the future. But again this is an opinion from an uneducated individual and therefore should be treated with a lot of caution. Source: https://en.wikipedia.org/wiki/Argon2 (Sorry for my bad English.)
I have found that Johnson Controls/ Tyco using it in one of there software's. But I just started down this rabbit hole. If you want more info please PM.
As

PuTTY 0.75, released today (2021-05-08), now uses Argon2:
PuTTY's format for private key files has been updated. The new format, PPK3, does not depend on SHA-1, and also, it uses the Argon2 password hash function to make it more difficult for an encrypted key file stolen by an attacker to be brute-forced.
fscrypt, the Linux filesystem encryption management framework, uses Argon2id:
https://github.com/google/fscrypt#features
Go add this please, Some forums use it too
phpBB has merged support (but I'm not sure what releases it's part of):
https://github.com/phpbb/phpbb/pull/5211
Python's PassLib supports Argon2 as of version 1.7.0 (2016):
https://pythonhosted.org/passlib/lib/passlib.hash.argon2.html
The Laraval PHP framework supports Argon2:
https://laravel.com/docs/8.x/hashing/
... as does Symfony as of 3.4 (2017):
https://symfony.com/blog/new-in-symfony-3-4-argon2i-password-hasher
... and Django (2017):
https://code.djangoproject.com/ticket/26033
The Bouncy Castle Java crypto framework supports Argon2:
https://www.bouncycastle.org/specifications.html
KeePass KDBX format version 4 supports Argon2:
https://keepass.info/help/kb/kdbx_4.html
OpenLDAP supports Argon2 via a loadable module:
https://manpages.debian.org/testing/slapd-contrib/slapd-pw-argon2.5.en.html
OpenSSL support for Argon2 is positioned to land "soon" - sometime after OpenSSL 3.0:
https://github.com/openssl/openssl/issues/4091 https://github.com/openssl/openssl/pull/12256
Jefit (vbulletin site) makes partial use of Argon2 for password hashing.
OGUsers (MyBB forum) makes partial use of Argon2
There is an MIT-licensed OpenCL implementation here:
https://gitlab.com/vojtapolasek/argon2-gpu
Nextcloud uses Argon by default
UP any plan to implement ARGON2 ?
Authelia has Argon2 support: https://www.authelia.com/reference/guides/passwords/
TYPO3 introduced Argon2i in 2018, which is the default since then
- https://typo3.org/article/typo3-v9-lts-you-re-the-one-that-i-want
- https://docs.typo3.org/m/typo3/reference-coreapi/main/en-us/ApiOverview/PasswordHashing/Index.html
I definitely agree that it would be very appreciated by the community. :pray:
Any news or ETA yet ?
It uses the new default LUKS2 encryption in cryptsetup
There is an MIT-licensed OpenCL implementation here:
https://gitlab.com/vojtapolasek/argon2-gpu
The above is a fork of https://gitlab.com/omos/argon2-gpu and that one is now heavily reworked and integrated into JtR by @alainesp.