hashcat icon indicating copy to clipboard operation
hashcat copied to clipboard

[Alg Request] Argon2 Support

Open ghost opened this issue 6 years ago • 43 comments
trafficstars

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

ghost avatar Mar 27 '19 19:03 ghost

I'll add it when there are enough systems using it. However, feel free to send in a PR.

jsteube avatar Mar 28 '19 12:03 jsteube

There is an MIT-licensed OpenCL implementation.

indolering avatar May 10 '19 06:05 indolering

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 avatar Sep 01 '19 06:09 roycewilliams

@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 avatar Sep 18 '19 02:09 indolering

@indolering I didn't realize it was the PHP7 default. That's a pretty compelling argument for inclusion in hashcat, IMO.

roycewilliams avatar Sep 18 '19 03:09 roycewilliams

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

schwankner avatar Jun 17 '20 12:06 schwankner

I'm also interested in HashCat compatibility with Argon2.

Canine32 avatar Jul 15 '20 08:07 Canine32

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.)

umgefahren avatar Nov 01 '20 20:11 umgefahren

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 Photo

Himmpy avatar Jan 27 '21 07:01 Himmpy

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.

roycewilliams avatar May 08 '21 18:05 roycewilliams

fscrypt, the Linux filesystem encryption management framework, uses Argon2id:

https://github.com/google/fscrypt#features

roycewilliams avatar May 08 '21 18:05 roycewilliams

Go add this please, Some forums use it too

SoSander avatar Jun 20 '21 17:06 SoSander

phpBB has merged support (but I'm not sure what releases it's part of):

https://github.com/phpbb/phpbb/pull/5211

roycewilliams avatar Jun 20 '21 17:06 roycewilliams

Python's PassLib supports Argon2 as of version 1.7.0 (2016):

https://pythonhosted.org/passlib/lib/passlib.hash.argon2.html

roycewilliams avatar Jun 20 '21 17:06 roycewilliams

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

roycewilliams avatar Jun 20 '21 17:06 roycewilliams

The Bouncy Castle Java crypto framework supports Argon2:

https://www.bouncycastle.org/specifications.html

roycewilliams avatar Jun 20 '21 17:06 roycewilliams

KeePass KDBX format version 4 supports Argon2:

https://keepass.info/help/kb/kdbx_4.html

roycewilliams avatar Jun 20 '21 17:06 roycewilliams

OpenLDAP supports Argon2 via a loadable module:

https://manpages.debian.org/testing/slapd-contrib/slapd-pw-argon2.5.en.html

roycewilliams avatar Jun 20 '21 17:06 roycewilliams

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

roycewilliams avatar Jun 20 '21 17:06 roycewilliams

Jefit (vbulletin site) makes partial use of Argon2 for password hashing.

0xVavaldi avatar Sep 15 '21 14:09 0xVavaldi

OGUsers (MyBB forum) makes partial use of Argon2

0xVavaldi avatar Feb 27 '22 05:02 0xVavaldi

There is an MIT-licensed OpenCL implementation here:

https://gitlab.com/vojtapolasek/argon2-gpu

roycewilliams avatar May 14 '22 19:05 roycewilliams

Nextcloud uses Argon by default

lesleyxyz avatar Dec 16 '22 02:12 lesleyxyz

UP any plan to implement ARGON2 ?

meazou75 avatar Aug 12 '23 17:08 meazou75

Authelia has Argon2 support: https://www.authelia.com/reference/guides/passwords/

roycewilliams avatar Aug 18 '23 23:08 roycewilliams

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

ohader avatar Aug 24 '23 08:08 ohader

I definitely agree that it would be very appreciated by the community. :pray:

Any news or ETA yet ?

Rapiiidooo avatar Jan 04 '24 14:01 Rapiiidooo

It uses the new default LUKS2 encryption in cryptsetup

ghost avatar Jan 17 '24 21:01 ghost

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.

solardiz avatar Jan 23 '24 21:01 solardiz